mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-25 03:11:58 +01:00
-changed emuflow gameList to only include the games for the selected plugin(s). This keeps wiiflow from freezing when you have a very large amount of emu games. It may still freeze when you select all plugins.
-minor code cleanup in categories.cpp
This commit is contained in:
parent
fa570d7c43
commit
ce84e11259
@ -2363,7 +2363,10 @@ bool CMenu::_loadEmuList()
|
||||
if(m_plugin_cfg.loaded())
|
||||
{
|
||||
m_plugin.AddPlugin(m_plugin_cfg);
|
||||
u32 MagicWord = strtoul(m_plugin_cfg.getString(PLUGIN_INI_DEF,"magic").c_str(), NULL, 16);
|
||||
const char *MagicNumber = m_plugin_cfg.getString(PLUGIN_INI_DEF,"magic").c_str();
|
||||
if(!m_cfg.getBool("PLUGIN", MagicNumber, false))
|
||||
continue;
|
||||
u32 MagicWord = strtoul(MagicNumber, NULL, 16);
|
||||
if(m_plugin_cfg.getString(PLUGIN_INI_DEF,"romDir").find("scummvm.ini") == string::npos)
|
||||
{
|
||||
string gameDir(fmt("%s:/%s", DeviceName[currentPartition], m_plugin_cfg.getString(PLUGIN_INI_DEF,"romDir").c_str()));
|
||||
|
@ -18,7 +18,7 @@ s16 m_categoryBtnCatReq[11];
|
||||
s16 m_categoryLblUser[4];
|
||||
STexture m_categoryBg;
|
||||
|
||||
u8 m_categories[51];
|
||||
vector<char> m_categories;
|
||||
u8 curPage;
|
||||
u8 lastBtn;
|
||||
const char *catSettings;
|
||||
@ -114,14 +114,13 @@ void CMenu::_getIDCats(void)
|
||||
{
|
||||
id = _getId();
|
||||
const char *idCats = m_cat.getString(catDomain, id, "").c_str();
|
||||
memset(&m_categories, '0', m_max_categories);
|
||||
u8 numIdCats = strlen(idCats);
|
||||
if(numIdCats != 0)
|
||||
{
|
||||
for(u8 j = 0; j < numIdCats; ++j)
|
||||
{
|
||||
int k = (static_cast<int>(idCats[j])) - 32;
|
||||
m_categories[k] = '1';
|
||||
m_categories.at(k) = '1';
|
||||
}
|
||||
}
|
||||
m_btnMgr.setText(m_categoryLblTitle, m_cf.getTitle());
|
||||
@ -132,7 +131,7 @@ void CMenu::_setIDCats(void)
|
||||
string newIdCats = "";
|
||||
for(int i = 1; i < m_max_categories; i++)
|
||||
{
|
||||
if(m_categories[i] == '1')
|
||||
if(m_categories.at(i) == '1')
|
||||
{
|
||||
char cCh = static_cast<char>( i + 32);
|
||||
newIdCats = newIdCats + cCh;
|
||||
@ -170,6 +169,8 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
}
|
||||
}
|
||||
m_max_categories = m_cat.getInt(fmt("%s/GENERAL", catDomain.c_str()), "numcategories", 6);
|
||||
m_categories.resize(m_max_categories, '0');
|
||||
m_categories.assign(m_max_categories, '0');
|
||||
if(fromGameSet)
|
||||
_getIDCats();
|
||||
else
|
||||
@ -180,14 +181,13 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
u8 numReqCats = strlen(requiredCats);
|
||||
u8 numSelCats = strlen(selectedCats);
|
||||
u8 numHidCats = strlen(hiddenCats);
|
||||
memset(&m_categories, '0', m_max_categories);
|
||||
|
||||
if(numReqCats != 0)
|
||||
{
|
||||
for(u8 j = 0; j < numReqCats; ++j)
|
||||
{
|
||||
int k = (static_cast<int>(requiredCats[j])) - 32;
|
||||
m_categories[k] = '3';
|
||||
m_categories.at(k) = '3';
|
||||
}
|
||||
}
|
||||
if(numSelCats != 0)
|
||||
@ -195,7 +195,7 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
for(u8 j = 0; j < numSelCats; ++j)
|
||||
{
|
||||
int k = (static_cast<int>(selectedCats[j])) - 32;
|
||||
m_categories[k] = '1';
|
||||
m_categories.at(k) = '1';
|
||||
}
|
||||
}
|
||||
if(numHidCats != 0)
|
||||
@ -203,7 +203,7 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
for(u8 j = 0; j < numHidCats; ++j)
|
||||
{
|
||||
int k = (static_cast<int>(hiddenCats[j])) - 32;
|
||||
m_categories[k] = '2';
|
||||
m_categories.at(k) = '2';
|
||||
}
|
||||
}
|
||||
m_btnMgr.setText(m_categoryLblTitle, _t("cat1", L"Select Categories"));
|
||||
@ -226,17 +226,17 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
string newHidCats = "";
|
||||
for(int i = 1; i < m_max_categories; i++)
|
||||
{
|
||||
if(m_categories[i] == '1')
|
||||
if(m_categories.at(i) == '1')
|
||||
{
|
||||
char cCh = static_cast<char>( i + 32);
|
||||
newSelCats = newSelCats + cCh;
|
||||
}
|
||||
else if(m_categories[i] == '2')
|
||||
else if(m_categories.at(i) == '2')
|
||||
{
|
||||
char cCh = static_cast<char>( i + 32);
|
||||
newHidCats = newHidCats + cCh;
|
||||
}
|
||||
else if(m_categories[i] == '3')
|
||||
else if(m_categories.at(i) == '3')
|
||||
{
|
||||
char cCh = static_cast<char>( i + 32);
|
||||
newReqCats = newReqCats + cCh;
|
||||
@ -262,6 +262,7 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
_hideCategorySettings();
|
||||
m_cf.right();
|
||||
curPage = 1;
|
||||
m_categories.assign(m_max_categories, '0');
|
||||
_getIDCats();
|
||||
_showCategorySettings();
|
||||
}
|
||||
@ -271,6 +272,7 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
_hideCategorySettings();
|
||||
m_cf.left();
|
||||
curPage = 1;
|
||||
m_categories.assign(m_max_categories, '0');
|
||||
_getIDCats();
|
||||
_showCategorySettings();
|
||||
}
|
||||
@ -300,9 +302,9 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
{
|
||||
if(m_btnMgr.selected(m_categoryBtnClear))
|
||||
{
|
||||
m_categories[0] = '1';
|
||||
m_categories.at(0) = '1';
|
||||
for(int j = 1; j < m_max_categories; ++j)
|
||||
m_categories[j] = '0';
|
||||
m_categories.at(j) = '0';
|
||||
_updateCheckboxes();
|
||||
}
|
||||
for(u8 i = 1; i < 11; ++i)
|
||||
@ -321,19 +323,19 @@ void CMenu::_CategorySettings(bool fromGameSet)
|
||||
int j = i + ((curPage - 1) * 10);
|
||||
if(fromGameSet)
|
||||
{
|
||||
m_categories[j] = m_categories[j] == '0' ? '1' : '0';
|
||||
m_categories.at(j) = m_categories.at(j) == '0' ? '1' : '0';
|
||||
}
|
||||
else
|
||||
{
|
||||
m_categories[j] = m_categories[j] == '0' ? '1' : m_categories[j] == '1' ? '2' : m_categories[j] == '2' ? '3' : '0';
|
||||
if(m_categories[0] == '1' && m_categories[j] != '0')
|
||||
m_categories[0] = '0';
|
||||
m_categories.at(j) = m_categories.at(j) == '0' ? '1' : m_categories.at(j) == '1' ? '2' : m_categories.at(j) == '2' ? '3' : '0';
|
||||
if(m_categories.at(0) == '1' && m_categories.at(j) != '0')
|
||||
m_categories.at(0) = '0';
|
||||
}
|
||||
m_btnMgr.hide(m_categoryBtnCat[i], true);
|
||||
m_btnMgr.hide(m_categoryBtnCats[i], true);
|
||||
m_btnMgr.hide(m_categoryBtnCatHid[i], true);
|
||||
m_btnMgr.hide(m_categoryBtnCatReq[i], true);
|
||||
switch(m_categories[j])
|
||||
switch(m_categories.at(j))
|
||||
{
|
||||
case '0':
|
||||
m_btnMgr.show(m_categoryBtnCat[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user