- 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:
Fledge68 2019-11-27 07:28:54 -06:00
parent e18c3569a6
commit 0d59191da9
15 changed files with 59 additions and 27 deletions

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

After

Width:  |  Height:  |  Size: 3.6 MiB

View File

@ -6,7 +6,7 @@
#else #else
#define APP_NAME "WiiFlow Lite" #define APP_NAME "WiiFlow Lite"
#endif #endif
#define APP_VERSION "5.3.0 beta 14" #define APP_VERSION "5.3.0 beta 15"
#define APP_DATA_DIR "wiiflow" #define APP_DATA_DIR "wiiflow"
#ifdef APP_WIIFLOW #ifdef APP_WIIFLOW

View File

@ -25,14 +25,14 @@
#include "gui/text.hpp" #include "gui/text.hpp"
#include "loader/sys.h" #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; Config CustomTitles;
GameTDB gameTDB; GameTDB gameTDB;
Config romNamesDB; Config romNamesDB;
string platformName; string platformName;
string pluginsDataDir; string pluginsDataDir;
dir_discHdr ListElement;
void ListGenerator::Init(const char *settingsDir, const char *Language, const char *plgnsDataDir) void ListGenerator::Init(const char *settingsDir, const char *Language, const char *plgnsDataDir)
{ {
if(settingsDir != NULL) if(settingsDir != NULL)
@ -209,7 +209,7 @@ static void Add_Homebrew_Dol(char *FullPath)
/* create channel list from nand or emu nand */ /* create channel list from nand or emu nand */
Channel *chan = NULL; Channel *chan = NULL;
static void Create_Channel_List(bool realNAND) static void Create_Channel_List()
{ {
for(u32 i = 0; i < ChannelHandle.Count(); i++) 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); mbstowcs(ListElement.title, gameTDB_Title, 63);
else else
wcsncpy(ListElement.title, chan->name, 64); wcsncpy(ListElement.title, chan->name, 64);
if(realNAND) if(!NANDemuView)
ListElement.type = TYPE_CHANNEL; ListElement.type = TYPE_CHANNEL;
else else
ListElement.type = TYPE_EMUCHANNEL; ListElement.type = TYPE_EMUCHANNEL;
@ -283,7 +283,7 @@ static void Add_Plugin_Game(char *FullPath)
string customTitle = CustomTitles.getString(m_plugin.PluginMagicWord, RomFilename, ""); string customTitle = CustomTitles.getString(m_plugin.PluginMagicWord, RomFilename, "");
const char *gameTDB_Title = NULL; 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); gameTDB.GetTitle(ListElement.id, gameTDB_Title, true);
/* set the roms title */ /* set the roms title */
@ -349,7 +349,7 @@ void ListGenerator::CreateRomList(Config &platform_cfg, const string& romsDir, c
CCache(*this, DBName, SAVE); 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) const string& DBName, bool UpdateCache)
{ {
Clear(); Clear();
@ -366,6 +366,7 @@ void ListGenerator::CreateList(u32 Flow, u32 Device, const string& Path, const v
} }
} }
OpenConfigs(); OpenConfigs();
u32 Device = DeviceHandle.PathToDriveType(Path.c_str());
if(Flow == COVERFLOW_WII) if(Flow == COVERFLOW_WII)
{ {
if(DeviceHandle.GetFSType(Device) == PART_FS_WBFS) 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) else if(Flow == COVERFLOW_CHANNEL)
{ {
ChannelHandle.Init(gameTDB_Language); ChannelHandle.Init(gameTDB_Language);
if(Device == 9) Create_Channel_List();
Create_Channel_List(true);
else
Create_Channel_List(false);
} }
else if(DeviceHandle.GetFSType(Device) != PART_FS_WBFS) else if(DeviceHandle.GetFSType(Device) != PART_FS_WBFS)
{ {

View File

@ -38,10 +38,10 @@ public:
void Init(const char *settingsDir, const char *Language, const char *plgnsDataDir); void Init(const char *settingsDir, const char *Language, const char *plgnsDataDir);
void Clear(); void Clear();
void CreateRomList(Config &platform_cfg, const string& romsDir, const vector<string>& FileTypes, const string& DBName, bool UpdateCache); 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, void CreateList(u32 Flow, const string& Path, const vector<string>& FileTypes, const string& DBName, bool UpdateCache);
const string& DBName, bool UpdateCache);
u32 Color; u32 Color;
u32 Magic; u32 Magic;
bool usePluginDBTitles;
private: private:
void OpenConfigs(); void OpenConfigs();
void CloseConfigs(); void CloseConfigs();

View File

@ -2364,7 +2364,7 @@ bool CMenu::_loadWiiList(void)
bool updateCache = m_cfg.getBool(WII_DOMAIN, "update_cache"); bool updateCache = m_cfg.getBool(WII_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str())) if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true; 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(); WBFS_Close();
m_cfg.remove(WII_DOMAIN, "update_cache"); m_cfg.remove(WII_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++) 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"); bool updateCache = m_cfg.getBool(HOMEBREW_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str())) if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true; 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"); m_cfg.remove(HOMEBREW_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++) for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
m_gameList.push_back(*tmp_itr); m_gameList.push_back(*tmp_itr);
@ -2403,7 +2403,7 @@ bool CMenu::_loadGamecubeList()
bool updateCache = m_cfg.getBool(GC_DOMAIN, "update_cache"); bool updateCache = m_cfg.getBool(GC_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str())) if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true; 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"); m_cfg.remove(GC_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++) for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
m_gameList.push_back(*tmp_itr); m_gameList.push_back(*tmp_itr);
@ -2423,7 +2423,7 @@ bool CMenu::_loadChannelList(void)
{ {
gprintf("Adding real nand list\n"); gprintf("Adding real nand list\n");
NANDemuView = false; 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++) for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
m_gameList.push_back(*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"); bool updateCache = m_cfg.getBool(CHANNEL_DOMAIN, "update_cache");
if(updateCache || !fsop_FileExist(cacheDir.c_str())) if(updateCache || !fsop_FileExist(cacheDir.c_str()))
cacheCovers = true; 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"); m_cfg.remove(CHANNEL_DOMAIN, "update_cache");
for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++) for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
m_gameList.push_back(*tmp_itr); m_gameList.push_back(*tmp_itr);
@ -2508,6 +2508,7 @@ bool CMenu::_loadPluginList()
vector<string> FileTypes = stringToVector(m_plugin.GetFileTypes(i), '|'); vector<string> FileTypes = stringToVector(m_plugin.GetFileTypes(i), '|');
m_cacheList.Color = m_plugin.GetCaseColor(i); m_cacheList.Color = m_plugin.GetCaseColor(i);
m_cacheList.Magic = Magic; m_cacheList.Magic = Magic;
m_cacheList.usePluginDBTitles = m_cfg.getBool(PLUGIN_DOMAIN, "database_titles", true);
m_cacheList.CreateRomList(m_platform, romsDir, FileTypes, cachedListFile, updateCache); 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++) for(vector<dir_discHdr>::iterator tmp_itr = m_cacheList.begin(); tmp_itr != m_cacheList.end(); tmp_itr++)
m_gameList.push_back(*tmp_itr); m_gameList.push_back(*tmp_itr);

View File

@ -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_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_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_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_categoryLblTitle, "CATEGORY/TITLE", 0, 0, -2.f, 0.f);
_setHideAnim(m_categoryLblPage, "CATEGORY/PAGE_BTN", 0, 0, 1.f, -1.f); _setHideAnim(m_categoryLblPage, "CATEGORY/PAGE_BTN", 0, 0, 1.f, -1.f);

View File

@ -70,10 +70,10 @@ void CMenu::_showConfig7(int curPage)
{ {
m_btnMgr.show(m_config7Lbl1); m_btnMgr.show(m_config7Lbl1);
m_btnMgr.show(m_config7Btn1); m_btnMgr.show(m_config7Btn1);
//m_btnMgr.show(m_config7Lbl2); m_btnMgr.show(m_config7Lbl2);
//m_btnMgr.show(m_config7Btn2); m_btnMgr.show(m_config7Btn2);
//m_btnMgr.show(m_config7Lbl3); m_btnMgr.show(m_config7Lbl3);
//m_btnMgr.show(m_config7Btn3); m_btnMgr.show(m_config7Btn3);
} }
else 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_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_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 rand_music = m_cfg.getBool("GENERAL", "randomize_music");
bool hq_covers = m_cfg.getBool("GENERAL", "cover_use_hq"); 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; int change = CONFIG_PAGE_NO_CHANGE;
_showConfig7(curPage); _showConfig7(curPage);
@ -349,12 +355,30 @@ int CMenu::_config7(int curPage)
m_cfg.setBool(WII_DOMAIN, "fix480p", val); m_cfg.setBool(WII_DOMAIN, "fix480p", val);
m_btnMgr.setText(m_config7Btn1, val ? _t("on", L"On") : _t("off", L"Off")); 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")) if(rand_music != m_cfg.getBool("GENERAL", "randomize_music"))
MusicPlayer.Init(m_cfg, m_musicDir, fmt("%s/music", m_themeDataDir.c_str())); 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(); _initCF();
_hideConfig7(); _hideConfig7();
return change; return change;

View File

@ -1726,7 +1726,7 @@ int CMenu::_bannerDownloader()
currentPartition = m_cfg.getInt(GC_DOMAIN, "partition", USB1); currentPartition = m_cfg.getInt(GC_DOMAIN, "partition", USB1);
string gameDir(fmt(gc_games_dir, DeviceName[currentPartition])); string gameDir(fmt(gc_games_dir, DeviceName[currentPartition]));
string cacheDir(fmt("%s/%s_gamecube.db", m_listCacheDir.c_str(), 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) for(u32 i = 0; i < m_cacheList.size(); ++i)
{ {

View File

@ -65,8 +65,7 @@ void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
DeviceHandle.OpenWBFS(currentPartition); DeviceHandle.OpenWBFS(currentPartition);
string gameDir(fmt(wii_games_dir, DeviceName[currentPartition])); string gameDir(fmt(wii_games_dir, DeviceName[currentPartition]));
string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition])); string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
m_cacheList.CreateList(COVERFLOW_WII, currentPartition, gameDir, m_cacheList.CreateList(COVERFLOW_WII, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, false);
stringToVector(".wbfs|.iso", '|'), cacheDir, false);
WBFS_Close(); WBFS_Close();
for(u32 i = 0; i < m_cacheList.size(); i++) for(u32 i = 0; i < m_cacheList.size(); i++)
{ {

View File

@ -67,6 +67,8 @@ cfg722=Homebrew settings
cfg723=Source menu settings cfg723=Source menu settings
cfg724=Lock coverflow layouts cfg724=Lock coverflow layouts
cfg725=Shutdown to idle standby cfg725=Shutdown to idle standby
cfg726=Covers Box Mode
cfg727=Use Plugin Database Titles
cfga2=Install game cfga2=Install game
cfga3=Install cfga3=Install
cfga6=Language cfga6=Language

View File

@ -67,6 +67,8 @@ cfg722=Homebrew-Einstellungen
cfg723=Source-Menü-Einstellungen cfg723=Source-Menü-Einstellungen
cfg724=Coverflow-Layouts sperren cfg724=Coverflow-Layouts sperren
cfg725=In Standby-Modus heruntefahren cfg725=In Standby-Modus heruntefahren
cfg726=Covers Box Mode
cfg727=Use Plugin Database Titles
cfga2=Spiel installieren cfga2=Spiel installieren
cfga3=Installieren cfga3=Installieren
cfga6=Sprache cfga6=Sprache

View File

@ -66,6 +66,8 @@ cfg722=Impostazioni Homebrew
cfg723=Impostazioni Source menu cfg723=Impostazioni Source menu
cfg724=Blocca disposizione coverflow cfg724=Blocca disposizione coverflow
cfg725=Spegni in modalità Standby inattivo cfg725=Spegni in modalità Standby inattivo
cfg726=Covers Box Mode
cfg727=Use Plugin Database Titles
cfga2=Installa gioco cfga2=Installa gioco
cfga3=Installa cfga3=Installa
cfga6=Lingua cfga6=Lingua

View File

@ -67,6 +67,8 @@ cfg722=홈브류 설정
cfg723=소스 메뉴 설정 cfg723=소스 메뉴 설정
cfg724=커버플로우 레이아웃 잠금 cfg724=커버플로우 레이아웃 잠금
cfg725=유휴 대기 모드로 종료 cfg725=유휴 대기 모드로 종료
cfg726=Covers Box Mode
cfg727=Use Plugin Database Titles
cfga2=게임 설치 cfga2=게임 설치
cfga3=설치 cfga3=설치
cfga6=언어 cfga6=언어

View File

@ -67,6 +67,8 @@ cfg722=Ajustes de Homebrew
cfg723=Ajustes del menú de fuentes cfg723=Ajustes del menú de fuentes
cfg724=Bloquear diseños de Coverflow cfg724=Bloquear diseños de Coverflow
cfg725=Apagar en modo de espera cfg725=Apagar en modo de espera
cfg726=Covers Box Mode
cfg727=Use Plugin Database Titles
cfga2=Instalar juego cfga2=Instalar juego
cfga3=Instalar cfga3=Instalar
cfga6=Idioma cfga6=Idioma