-added auto cache covers and banners when you start wiiflow for the very first time or do a reload cache. don't worry it doesn't delete all your cached covers and recreate them. it only makes them if they don't already exist which would be new games you may have added.

This commit is contained in:
Fledge68 2018-11-05 13:57:01 -06:00
parent 2594e9505c
commit bc19bb6c34
4 changed files with 38 additions and 0 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

View File

@ -80,6 +80,7 @@ CMenu::CMenu()
m_numPlugins = 0;
m_clearCats = true;
m_catStartPage = 1;
cacheCovers = false;
/* Explorer stuff */
m_txt_view = false;
m_txt_path = NULL;
@ -2236,6 +2237,8 @@ bool CMenu::_loadWiiList(void)
string gameDir(fmt(wii_games_dir, DeviceName[currentPartition]));
string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
bool updateCache = m_cfg.getBool(WII_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true;
m_cacheList.CreateList(COVERFLOW_WII, currentPartition, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, updateCache);
WBFS_Close();
m_cfg.remove(WII_DOMAIN, "update_cache");
@ -2266,6 +2269,8 @@ bool CMenu::_loadGamecubeList()
string gameDir(fmt(gc_games_dir, DeviceName[currentPartition]));
string cacheDir(fmt("%s/%s_gamecube.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
bool updateCache = m_cfg.getBool(GC_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true;
m_cacheList.CreateList(COVERFLOW_GAMECUBE, currentPartition, gameDir, stringToVector(".iso|.ciso|root", '|'), cacheDir, updateCache);
m_cfg.remove(GC_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
@ -2298,6 +2303,8 @@ bool CMenu::_loadChannelList(void)
currentPartition = emuPartition;
string cacheDir = fmt("%s/%s_channels.db", m_listCacheDir.c_str(), DeviceName[currentPartition]);
bool updateCache = m_cfg.getBool(CHANNEL_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true;
m_cacheList.CreateList(COVERFLOW_CHANNEL, currentPartition, std::string(), NullVector, cacheDir, updateCache);
m_cfg.remove(CHANNEL_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
@ -2356,6 +2363,8 @@ bool CMenu::_loadPluginList()
}
string gameDir(fmt("%s:/%s", DeviceName[currentPartition], romDir));
string cacheDir(fmt("%s/%s_%s.db", m_listCacheDir.c_str(), DeviceName[currentPartition], m_plugin.PluginMagicWord));
if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true;
vector<string> FileTypes = stringToVector(m_plugin.GetFileTypes(i), '|');
m_cacheList.Color = m_plugin.GetCaseColor(i);
m_cacheList.Magic = Magic;

View File

@ -61,6 +61,7 @@ private:
bool m_clearCats;
bool m_newGame;
bool show_mem;
bool cacheCovers;
vector<dir_discHdr> m_gameList;
struct SZone

View File

@ -146,6 +146,34 @@ void CMenu::_showCF(bool refreshList)
/* fail */
m_source_autoboot = false;
}
if(cacheCovers)
{
cacheCovers = false;
m_btnMgr.setProgress(m_wbfsPBar, 0.f, true);
m_btnMgr.setText(m_wbfsLblMessage, L"0%");
m_btnMgr.setText(m_wbfsLblDialog, L"");
m_btnMgr.show(m_wbfsPBar);
m_btnMgr.show(m_wbfsLblMessage);
m_btnMgr.show(m_wbfsLblDialog);
_start_pThread();
_cacheCovers();
_stop_pThread();
m_btnMgr.setText(m_wbfsLblDialog, _t("dlmsg14", L"Done."));
u8 pause = 240;
while(!m_exit)
{
_mainLoopCommon();
pause--;
if(pause == 0)
{
m_btnMgr.hide(m_wbfsPBar);
m_btnMgr.hide(m_wbfsLblMessage);
m_btnMgr.hide(m_wbfsLblDialog);
break;
}
}
}
}
/* setup categories and favorites for filtering the game list below */