mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2025-02-17 12:36:20 +01:00
-Added plugin partition saves. now when you have plugin roms on different partitions wiiflow will automatically change to that partition when you use a source menu button to select a plugin.
This commit is contained in:
parent
26a7357e4e
commit
903d3fba50
@ -1611,6 +1611,25 @@ void CMenu::_addUserLabels(s16 *ids, u32 start, u32 size, const char *domain)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenu::_checkForSinglePlugin(void)
|
||||||
|
{
|
||||||
|
enabledPluginPos = 0;
|
||||||
|
enabledPluginsCount = 0;
|
||||||
|
const vector<bool> &EnabledPlugins = m_plugin.GetEnabledPlugins(m_cfg);
|
||||||
|
if(m_current_view == COVERFLOW_PLUGIN && EnabledPlugins.size() != 0)
|
||||||
|
{
|
||||||
|
for(u8 i = 0; i < EnabledPlugins.size(); i++)
|
||||||
|
{
|
||||||
|
if(EnabledPlugins.at(i))
|
||||||
|
{
|
||||||
|
enabledPluginPos = i;
|
||||||
|
enabledPluginsCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
snprintf(PluginMagicWord, sizeof(PluginMagicWord), "%08x", m_plugin.getPluginMagic(enabledPluginPos));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CMenu::_initCF(void)
|
void CMenu::_initCF(void)
|
||||||
{
|
{
|
||||||
Config dump, gameAgeList;
|
Config dump, gameAgeList;
|
||||||
@ -1619,8 +1638,6 @@ void CMenu::_initCF(void)
|
|||||||
|
|
||||||
CoverFlow.clear();
|
CoverFlow.clear();
|
||||||
CoverFlow.reserve(m_gameList.size());
|
CoverFlow.reserve(m_gameList.size());
|
||||||
|
|
||||||
const vector<bool> &EnabledPlugins = m_plugin.GetEnabledPlugins(m_cfg);
|
|
||||||
|
|
||||||
bool dumpGameLst = m_cfg.getBool(domain, "dump_list", true);
|
bool dumpGameLst = m_cfg.getBool(domain, "dump_list", true);
|
||||||
if(dumpGameLst) dump.load(fmt("%s/" TITLES_DUMP_FILENAME, m_settingsDir.c_str()));
|
if(dumpGameLst) dump.load(fmt("%s/" TITLES_DUMP_FILENAME, m_settingsDir.c_str()));
|
||||||
@ -1639,22 +1656,9 @@ void CMenu::_initCF(void)
|
|||||||
gametdb.SetLanguageCode(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str());
|
gametdb.SetLanguageCode(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check for single plugin selected
|
_checkForSinglePlugin();
|
||||||
u8 pos = 0;
|
const vector<bool> &EnabledPlugins = m_plugin.GetEnabledPlugins(m_cfg);
|
||||||
u8 enabledPluginsCount = 0;
|
|
||||||
if(m_current_view == COVERFLOW_PLUGIN && EnabledPlugins.size() != 0)
|
|
||||||
{
|
|
||||||
char PluginMagicWord[9];
|
|
||||||
for(u8 i = 0; i < EnabledPlugins.size(); i++)
|
|
||||||
{
|
|
||||||
snprintf(PluginMagicWord, sizeof(PluginMagicWord), "%08x", m_plugin.getPluginMagic(i));
|
|
||||||
if(m_cfg.getBool("PLUGIN", PluginMagicWord, true))
|
|
||||||
{
|
|
||||||
pos = i;
|
|
||||||
enabledPluginsCount++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for(vector<dir_discHdr>::iterator element = m_gameList.begin(); element != m_gameList.end(); ++element)
|
for(vector<dir_discHdr>::iterator element = m_gameList.begin(); element != m_gameList.end(); ++element)
|
||||||
{
|
{
|
||||||
string id;
|
string id;
|
||||||
@ -1789,8 +1793,8 @@ void CMenu::_initCF(void)
|
|||||||
}
|
}
|
||||||
if(enabledPluginsCount == 1)
|
if(enabledPluginsCount == 1)
|
||||||
{
|
{
|
||||||
catDomain = (m_plugin.GetPluginName(pos)).toUTF8();
|
catDomain = (m_plugin.GetPluginName(enabledPluginPos)).toUTF8();
|
||||||
if(element->settings[0] != m_plugin.getPluginMagic(pos))
|
if(element->settings[0] != m_plugin.getPluginMagic(enabledPluginPos))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const char *requiredCats = m_cat.getString(fmt("%s/GENERAL", catDomain.c_str()), "required_categories").c_str();
|
const char *requiredCats = m_cat.getString(fmt("%s/GENERAL", catDomain.c_str()), "required_categories").c_str();
|
||||||
|
@ -43,6 +43,9 @@ public:
|
|||||||
void loadDefaultFont(void);
|
void loadDefaultFont(void);
|
||||||
void TempLoadIOS(int IOS = 0);
|
void TempLoadIOS(int IOS = 0);
|
||||||
u8 m_current_view;
|
u8 m_current_view;
|
||||||
|
u8 enabledPluginPos;
|
||||||
|
u8 enabledPluginsCount;
|
||||||
|
char PluginMagicWord[9];
|
||||||
private:
|
private:
|
||||||
struct SZone
|
struct SZone
|
||||||
{
|
{
|
||||||
@ -923,6 +926,7 @@ private:
|
|||||||
void _updatePluginText(void);
|
void _updatePluginText(void);
|
||||||
void _updatePluginCheckboxes(void);
|
void _updatePluginCheckboxes(void);
|
||||||
void _updateCheckboxes(void);
|
void _updateCheckboxes(void);
|
||||||
|
void _checkForSinglePlugin(void);
|
||||||
void _getIDCats(void);
|
void _getIDCats(void);
|
||||||
void _setIDCats(void);
|
void _setIDCats(void);
|
||||||
void _setBg(const STexture &tex, const STexture &lqTex);
|
void _setBg(const STexture &tex, const STexture &lqTex);
|
||||||
|
@ -1061,5 +1061,10 @@ void CMenu::_setPartition(s8 direction)
|
|||||||
if(m_tempView)
|
if(m_tempView)
|
||||||
m_cfg.setInt(WII_DOMAIN, "savepartition", currentPartition);
|
m_cfg.setInt(WII_DOMAIN, "savepartition", currentPartition);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
m_cfg.setInt(_domainFromView(), "partition", currentPartition);
|
m_cfg.setInt(_domainFromView(), "partition", currentPartition);
|
||||||
|
_checkForSinglePlugin();
|
||||||
|
if(enabledPluginsCount == 1)
|
||||||
|
m_cfg.setInt("PLUGINS/PARTITION", PluginMagicWord, currentPartition);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,6 +356,12 @@ bool CMenu::_Source()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
_checkForSinglePlugin();
|
||||||
|
if(enabledPluginsCount == 1)
|
||||||
|
{
|
||||||
|
currentPartition = m_cfg.getInt("PLUGINS/PARTITION", PluginMagicWord, 1) + 1;
|
||||||
|
_setPartition(-1);
|
||||||
|
}
|
||||||
int layout = m_source.getInt(fmt("BUTTON_%i", i + j), "emuflow", 0);
|
int layout = m_source.getInt(fmt("BUTTON_%i", i + j), "emuflow", 0);
|
||||||
if(layout != 0)
|
if(layout != 0)
|
||||||
m_cfg.setInt(PLUGIN_DOMAIN, "last_cf_mode", layout);
|
m_cfg.setInt(PLUGIN_DOMAIN, "last_cf_mode", layout);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user