mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-23 19:59:16 +01:00
- added 'use plugin database titles" option to pg 13 of main settings. defaults to YES. set to NO if you do not want to use titles from the plugin database files. All cached lists will be deleted to be remade with the new titles.
- added 'covers box mode' option to pg 13 of main settings. defaults to ON. set to OFF if you want to use only flat covers. does not apply to sourceflow, homebrew flow, and plugins with box mode set. - fixed text size of category names on right half of categories menu. They were too small. strangely no one noticed or reported it. - cleaned up create game list code a little. - upped to beta 15.
This commit is contained in:
parent
e18c3569a6
commit
0d59191da9
Binary file not shown.
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
@ -6,7 +6,7 @@
|
||||
#else
|
||||
#define APP_NAME "WiiFlow Lite"
|
||||
#endif
|
||||
#define APP_VERSION "5.3.0 beta 14"
|
||||
#define APP_VERSION "5.3.0 beta 15"
|
||||
|
||||
#define APP_DATA_DIR "wiiflow"
|
||||
#ifdef APP_WIIFLOW
|
||||
|
@ -25,14 +25,14 @@
|
||||
#include "gui/text.hpp"
|
||||
#include "loader/sys.h"
|
||||
|
||||
ListGenerator m_cacheList;
|
||||
ListGenerator m_cacheList;// needed by the static void functions since they are not part of ListGenerator class.
|
||||
dir_discHdr ListElement;
|
||||
Config CustomTitles;
|
||||
GameTDB gameTDB;
|
||||
Config romNamesDB;
|
||||
string platformName;
|
||||
string pluginsDataDir;
|
||||
|
||||
dir_discHdr ListElement;
|
||||
void ListGenerator::Init(const char *settingsDir, const char *Language, const char *plgnsDataDir)
|
||||
{
|
||||
if(settingsDir != NULL)
|
||||
@ -209,7 +209,7 @@ static void Add_Homebrew_Dol(char *FullPath)
|
||||
|
||||
/* create channel list from nand or emu nand */
|
||||
Channel *chan = NULL;
|
||||
static void Create_Channel_List(bool realNAND)
|
||||
static void Create_Channel_List()
|
||||
{
|
||||
for(u32 i = 0; i < ChannelHandle.Count(); i++)
|
||||
{
|
||||
@ -244,7 +244,7 @@ static void Create_Channel_List(bool realNAND)
|
||||
mbstowcs(ListElement.title, gameTDB_Title, 63);
|
||||
else
|
||||
wcsncpy(ListElement.title, chan->name, 64);
|
||||
if(realNAND)
|
||||
if(!NANDemuView)
|
||||
ListElement.type = TYPE_CHANNEL;
|
||||
else
|
||||
ListElement.type = TYPE_EMUCHANNEL;
|
||||
@ -283,7 +283,7 @@ static void Add_Plugin_Game(char *FullPath)
|
||||
string customTitle = CustomTitles.getString(m_plugin.PluginMagicWord, RomFilename, "");
|
||||
|
||||
const char *gameTDB_Title = NULL;
|
||||
if(gameTDB.IsLoaded() && customTitle.empty())
|
||||
if(gameTDB.IsLoaded() && customTitle.empty() && m_cacheList.usePluginDBTitles)
|
||||
gameTDB.GetTitle(ListElement.id, gameTDB_Title, true);
|
||||
|
||||
/* set the roms title */
|
||||
@ -349,7 +349,7 @@ void ListGenerator::CreateRomList(Config &platform_cfg, const string& romsDir, c
|
||||
CCache(*this, DBName, SAVE);
|
||||
}
|
||||
|
||||
void ListGenerator::CreateList(u32 Flow, u32 Device, const string& Path, const vector<string>& FileTypes,
|
||||
void ListGenerator::CreateList(u32 Flow, const string& Path, const vector<string>& FileTypes,
|
||||
const string& DBName, bool UpdateCache)
|
||||
{
|
||||
Clear();
|
||||
@ -366,6 +366,7 @@ void ListGenerator::CreateList(u32 Flow, u32 Device, const string& Path, const v
|
||||
}
|
||||
}
|
||||
OpenConfigs();
|
||||
u32 Device = DeviceHandle.PathToDriveType(Path.c_str());
|
||||
if(Flow == COVERFLOW_WII)
|
||||
{
|
||||
if(DeviceHandle.GetFSType(Device) == PART_FS_WBFS)
|
||||
@ -376,10 +377,7 @@ void ListGenerator::CreateList(u32 Flow, u32 Device, const string& Path, const v
|
||||
else if(Flow == COVERFLOW_CHANNEL)
|
||||
{
|
||||
ChannelHandle.Init(gameTDB_Language);
|
||||
if(Device == 9)
|
||||
Create_Channel_List(true);
|
||||
else
|
||||
Create_Channel_List(false);
|
||||
Create_Channel_List();
|
||||
}
|
||||
else if(DeviceHandle.GetFSType(Device) != PART_FS_WBFS)
|
||||
{
|
||||
|
@ -38,10 +38,10 @@ public:
|
||||
void Init(const char *settingsDir, const char *Language, const char *plgnsDataDir);
|
||||
void Clear();
|
||||
void CreateRomList(Config &platform_cfg, const string& romsDir, const vector<string>& FileTypes, const string& DBName, bool UpdateCache);
|
||||
void CreateList(u32 Flow, u32 Device, const string& Path, const vector<string>& FileTypes,
|
||||
const string& DBName, bool UpdateCache);
|
||||
void CreateList(u32 Flow, const string& Path, const vector<string>& FileTypes, const string& DBName, bool UpdateCache);
|
||||
u32 Color;
|
||||
u32 Magic;
|
||||
bool usePluginDBTitles;
|
||||
private:
|
||||
void OpenConfigs();
|
||||
void CloseConfigs();
|
||||
|
@ -2364,7 +2364,7 @@ bool CMenu::_loadWiiList(void)
|
||||
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);
|
||||
m_cacheList.CreateList(COVERFLOW_WII, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, updateCache);
|
||||
WBFS_Close();
|
||||
m_cfg.remove(WII_DOMAIN, "update_cache");
|
||||
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
|
||||
@ -2384,7 +2384,7 @@ bool CMenu::_loadHomebrewList(const char *HB_Dir)
|
||||
bool updateCache = m_cfg.getBool(HOMEBREW_DOMAIN, "update_cache");
|
||||
if(updateCache || !fsop_FileExist(cacheDir.c_str()))
|
||||
cacheCovers = true;
|
||||
m_cacheList.CreateList(COVERFLOW_HOMEBREW, currentPartition, gameDir, stringToVector(".dol|.elf", '|'), cacheDir, updateCache);
|
||||
m_cacheList.CreateList(COVERFLOW_HOMEBREW, gameDir, stringToVector(".dol|.elf", '|'), cacheDir, updateCache);
|
||||
m_cfg.remove(HOMEBREW_DOMAIN, "update_cache");
|
||||
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
|
||||
m_gameList.push_back(*tmp_itr);
|
||||
@ -2403,7 +2403,7 @@ bool CMenu::_loadGamecubeList()
|
||||
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|.gcm|.ciso|root", '|'), cacheDir, updateCache);
|
||||
m_cacheList.CreateList(COVERFLOW_GAMECUBE, gameDir, stringToVector(".iso|.gcm|.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++)
|
||||
m_gameList.push_back(*tmp_itr);
|
||||
@ -2423,7 +2423,7 @@ bool CMenu::_loadChannelList(void)
|
||||
{
|
||||
gprintf("Adding real nand list\n");
|
||||
NANDemuView = false;
|
||||
m_cacheList.CreateList(COVERFLOW_CHANNEL, 9, std::string(), NullVector, std::string(), false);
|
||||
m_cacheList.CreateList(COVERFLOW_CHANNEL, std::string(), NullVector, std::string(), false);
|
||||
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
|
||||
m_gameList.push_back(*tmp_itr);
|
||||
}
|
||||
@ -2439,7 +2439,7 @@ bool CMenu::_loadChannelList(void)
|
||||
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_cacheList.CreateList(COVERFLOW_CHANNEL, 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++)
|
||||
m_gameList.push_back(*tmp_itr);
|
||||
@ -2508,6 +2508,7 @@ bool CMenu::_loadPluginList()
|
||||
vector<string> FileTypes = stringToVector(m_plugin.GetFileTypes(i), '|');
|
||||
m_cacheList.Color = m_plugin.GetCaseColor(i);
|
||||
m_cacheList.Magic = Magic;
|
||||
m_cacheList.usePluginDBTitles = m_cfg.getBool(PLUGIN_DOMAIN, "database_titles", true);
|
||||
m_cacheList.CreateRomList(m_platform, romsDir, FileTypes, cachedListFile, updateCache);
|
||||
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
|
||||
m_gameList.push_back(*tmp_itr);
|
||||
|
@ -417,7 +417,7 @@ void CMenu::_initCategorySettingsMenu()
|
||||
m_categoryBtnCats[i+5] = _addPicButton(fmt("CATEGORY/CAT_%i_BTNS", i+5), theme.checkboxon, theme.checkboxons, 325, (39+i*58), 44, 48);
|
||||
m_categoryBtnCatHid[i+5] = _addPicButton(fmt("CATEGORY/CAT_%i_BTNHID", i+5), theme.checkboxHid, theme.checkboxHids, 325, (39+i*58), 44, 48);
|
||||
m_categoryBtnCatReq[i+5] = _addPicButton(fmt("CATEGORY/CAT_%i_BTNREQ", i+5), theme.checkboxReq, theme.checkboxReqs, 325, (39+i*58), 44, 48);
|
||||
m_categoryLblCat[i+5] = _addLabel(fmt("CATEGORY/CAT_%i", i+5), theme.txtFont, L"", 380, (42+i*58), 230, 48, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
m_categoryLblCat[i+5] = _addLabel(fmt("CATEGORY/CAT_%i", i+5), theme.lblFont, L"", 380, (42+i*58), 230, 48, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE);
|
||||
}
|
||||
_setHideAnim(m_categoryLblTitle, "CATEGORY/TITLE", 0, 0, -2.f, 0.f);
|
||||
_setHideAnim(m_categoryLblPage, "CATEGORY/PAGE_BTN", 0, 0, 1.f, -1.f);
|
||||
|
@ -70,10 +70,10 @@ void CMenu::_showConfig7(int curPage)
|
||||
{
|
||||
m_btnMgr.show(m_config7Lbl1);
|
||||
m_btnMgr.show(m_config7Btn1);
|
||||
//m_btnMgr.show(m_config7Lbl2);
|
||||
//m_btnMgr.show(m_config7Btn2);
|
||||
//m_btnMgr.show(m_config7Lbl3);
|
||||
//m_btnMgr.show(m_config7Btn3);
|
||||
m_btnMgr.show(m_config7Lbl2);
|
||||
m_btnMgr.show(m_config7Btn2);
|
||||
m_btnMgr.show(m_config7Lbl3);
|
||||
m_btnMgr.show(m_config7Btn3);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -165,6 +165,10 @@ void CMenu::_showConfig7(int curPage)
|
||||
{
|
||||
m_btnMgr.setText(m_config7Lbl1, _t("cfgg49", L"480p Pixel Patch"));
|
||||
m_btnMgr.setText(m_config7Btn1, m_cfg.getBool(WII_DOMAIN, "fix480p", false) ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setText(m_config7Lbl2, _t("cfg726", L"Covers Box Mode"));
|
||||
m_btnMgr.setText(m_config7Btn2, m_cfg.getBool("general", "box_mode", false) ? _t("on", L"On") : _t("off", L"Off"));
|
||||
m_btnMgr.setText(m_config7Lbl3, _t("cfg727", L"Use Plugin Database Titles"));
|
||||
m_btnMgr.setText(m_config7Btn3, m_cfg.getBool(PLUGIN_DOMAIN, "database_titles", true) ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -172,6 +176,8 @@ int CMenu::_config7(int curPage)
|
||||
{
|
||||
bool rand_music = m_cfg.getBool("GENERAL", "randomize_music");
|
||||
bool hq_covers = m_cfg.getBool("GENERAL", "cover_use_hq");
|
||||
bool box_mode = m_cfg.getBool("GENERAL", "box_mode", true);
|
||||
bool db_titles = m_cfg.getBool(PLUGIN_DOMAIN, "database_titles", true);
|
||||
int change = CONFIG_PAGE_NO_CHANGE;
|
||||
_showConfig7(curPage);
|
||||
|
||||
@ -349,12 +355,30 @@ int CMenu::_config7(int curPage)
|
||||
m_cfg.setBool(WII_DOMAIN, "fix480p", val);
|
||||
m_btnMgr.setText(m_config7Btn1, val ? _t("on", L"On") : _t("off", L"Off"));
|
||||
}
|
||||
if(m_btnMgr.selected(m_config7Btn2))
|
||||
{
|
||||
bool val = !m_cfg.getBool("general", "box_mode");
|
||||
m_cfg.setBool("general", "box_mode", val);
|
||||
m_btnMgr.setText(m_config7Btn2, val ? _t("on", L"On") : _t("off", L"Off"));
|
||||
}
|
||||
if(m_btnMgr.selected(m_config7Btn3))
|
||||
{
|
||||
bool val = !m_cfg.getBool(PLUGIN_DOMAIN, "database_titles");
|
||||
m_cfg.setBool(PLUGIN_DOMAIN, "database_titles", val);
|
||||
m_btnMgr.setText(m_config7Btn3, val ? _t("yes", L"Yes") : _t("no", L"No"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(rand_music != m_cfg.getBool("GENERAL", "randomize_music"))
|
||||
MusicPlayer.Init(m_cfg, m_musicDir, fmt("%s/music", m_themeDataDir.c_str()));
|
||||
if(hq_covers != m_cfg.getBool("GENERAL", "cover_use_hq"))
|
||||
if(db_titles != m_cfg.getBool(PLUGIN_DOMAIN, "database_titles"))
|
||||
{
|
||||
fsop_deleteFolder(m_listCacheDir.c_str());
|
||||
fsop_MakeFolder(m_listCacheDir.c_str());
|
||||
m_refreshGameList = true;
|
||||
}
|
||||
if(!m_refreshGameList && (hq_covers != m_cfg.getBool("GENERAL", "cover_use_hq") || box_mode != m_cfg.getBool("general", "box_mode")))
|
||||
_initCF();
|
||||
_hideConfig7();
|
||||
return change;
|
||||
|
@ -1726,7 +1726,7 @@ int CMenu::_bannerDownloader()
|
||||
currentPartition = m_cfg.getInt(GC_DOMAIN, "partition", USB1);
|
||||
string gameDir(fmt(gc_games_dir, DeviceName[currentPartition]));
|
||||
string cacheDir(fmt("%s/%s_gamecube.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
|
||||
m_cacheList.CreateList(COVERFLOW_GAMECUBE, currentPartition, gameDir, stringToVector(".iso|.ciso|root", '|'), cacheDir, false);
|
||||
m_cacheList.CreateList(COVERFLOW_GAMECUBE, gameDir, stringToVector(".iso|.ciso|root", '|'), cacheDir, false);
|
||||
|
||||
for(u32 i = 0; i < m_cacheList.size(); ++i)
|
||||
{
|
||||
|
@ -65,8 +65,7 @@ void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
|
||||
DeviceHandle.OpenWBFS(currentPartition);
|
||||
string gameDir(fmt(wii_games_dir, DeviceName[currentPartition]));
|
||||
string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
|
||||
m_cacheList.CreateList(COVERFLOW_WII, currentPartition, gameDir,
|
||||
stringToVector(".wbfs|.iso", '|'), cacheDir, false);
|
||||
m_cacheList.CreateList(COVERFLOW_WII, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, false);
|
||||
WBFS_Close();
|
||||
for(u32 i = 0; i < m_cacheList.size(); i++)
|
||||
{
|
||||
|
@ -67,6 +67,8 @@ cfg722=Homebrew settings
|
||||
cfg723=Source menu settings
|
||||
cfg724=Lock coverflow layouts
|
||||
cfg725=Shutdown to idle standby
|
||||
cfg726=Covers Box Mode
|
||||
cfg727=Use Plugin Database Titles
|
||||
cfga2=Install game
|
||||
cfga3=Install
|
||||
cfga6=Language
|
||||
|
@ -67,6 +67,8 @@ cfg722=Homebrew-Einstellungen
|
||||
cfg723=Source-Menü-Einstellungen
|
||||
cfg724=Coverflow-Layouts sperren
|
||||
cfg725=In Standby-Modus heruntefahren
|
||||
cfg726=Covers Box Mode
|
||||
cfg727=Use Plugin Database Titles
|
||||
cfga2=Spiel installieren
|
||||
cfga3=Installieren
|
||||
cfga6=Sprache
|
||||
|
@ -66,6 +66,8 @@ cfg722=Impostazioni Homebrew
|
||||
cfg723=Impostazioni Source menu
|
||||
cfg724=Blocca disposizione coverflow
|
||||
cfg725=Spegni in modalità Standby inattivo
|
||||
cfg726=Covers Box Mode
|
||||
cfg727=Use Plugin Database Titles
|
||||
cfga2=Installa gioco
|
||||
cfga3=Installa
|
||||
cfga6=Lingua
|
||||
|
@ -67,6 +67,8 @@ cfg722=홈브류 설정
|
||||
cfg723=소스 메뉴 설정
|
||||
cfg724=커버플로우 레이아웃 잠금
|
||||
cfg725=유휴 대기 모드로 종료
|
||||
cfg726=Covers Box Mode
|
||||
cfg727=Use Plugin Database Titles
|
||||
cfga2=게임 설치
|
||||
cfga3=설치
|
||||
cfga6=언어
|
||||
|
@ -67,6 +67,8 @@ cfg722=Ajustes de Homebrew
|
||||
cfg723=Ajustes del menú de fuentes
|
||||
cfg724=Bloquear diseños de Coverflow
|
||||
cfg725=Apagar en modo de espera
|
||||
cfg726=Covers Box Mode
|
||||
cfg727=Use Plugin Database Titles
|
||||
cfga2=Instalar juego
|
||||
cfga3=Instalar
|
||||
cfga6=Idioma
|
||||
|
Loading…
Reference in New Issue
Block a user