mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2025-01-25 18:21:11 +01:00
- fixed plugin system to handle more than 128 plugins.
This commit is contained in:
parent
a9828f0dc5
commit
ef22015f8d
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 4.1 MiB After Width: | Height: | Size: 4.1 MiB |
@ -75,10 +75,10 @@ void CMenu::_sourceFlow()
|
|||||||
{
|
{
|
||||||
m_current_view = COVERFLOW_PLUGIN;
|
m_current_view = COVERFLOW_PLUGIN;
|
||||||
for(k = 0; k < m_numPlugins; ++k)
|
for(k = 0; k < m_numPlugins; ++k)
|
||||||
m_plugin.SetEnablePlugin(m_cfg, k, 1); /* force disable */
|
m_plugin.SetEnablePlugin(m_cfg, k, 1); // force disable all
|
||||||
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
||||||
{
|
{
|
||||||
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));
|
s16 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));
|
||||||
if(exist >= 0)
|
if(exist >= 0)
|
||||||
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
||||||
}
|
}
|
||||||
@ -435,7 +435,7 @@ bool CMenu::_Source()
|
|||||||
{
|
{
|
||||||
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
for(vector<string>::iterator itr = magicNums.begin(); itr != magicNums.end(); itr++)
|
||||||
{
|
{
|
||||||
s8 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));// make sure magic# is valid
|
s16 exist = m_plugin.GetPluginPosition(strtoul(itr->c_str(), NULL, 16));// make sure magic# is valid
|
||||||
if(exist >= 0)
|
if(exist >= 0)
|
||||||
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
m_plugin.SetEnablePlugin(m_cfg, exist, 2);
|
||||||
}
|
}
|
||||||
|
@ -96,12 +96,12 @@ bool Plugin::AddPlugin(Config &plugin)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
s8 Plugin::GetPluginPosition(u32 magic)
|
s16 Plugin::GetPluginPosition(u32 magic)
|
||||||
{
|
{
|
||||||
for(u8 pos = 0; pos < Plugins.size(); pos++)
|
for(u8 pos = 0; pos < Plugins.size(); pos++)
|
||||||
{
|
{
|
||||||
if(magic == Plugins[pos].magic)
|
if(magic == Plugins[pos].magic)
|
||||||
return pos;
|
return (s16)pos;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -153,7 +153,7 @@ const char *Plugin::GetRomDir(u8 pos)
|
|||||||
return Plugins[pos].romDir.c_str();
|
return Plugins[pos].romDir.c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
const string& Plugin::GetFileTypes(u8 pos)
|
const string& Plugin::GetFileTypes(s16 pos)
|
||||||
{
|
{
|
||||||
return Plugins[pos].fileTypes;
|
return Plugins[pos].fileTypes;
|
||||||
}
|
}
|
||||||
@ -466,7 +466,7 @@ string Plugin::GetRomId(char *romPath, u32 Magic, Config &m_crc, const char *dat
|
|||||||
}
|
}
|
||||||
else if(!strcasecmp(platform, "ATARIST"))
|
else if(!strcasecmp(platform, "ATARIST"))
|
||||||
{
|
{
|
||||||
s8 pos = m_plugin.GetPluginPosition(Magic);
|
s16 pos = m_plugin.GetPluginPosition(Magic);
|
||||||
string FileTypes = m_plugin.GetFileTypes(pos);
|
string FileTypes = m_plugin.GetFileTypes(pos);
|
||||||
string path;
|
string path;
|
||||||
|
|
||||||
@ -507,7 +507,7 @@ string Plugin::GetRomId(char *romPath, u32 Magic, Config &m_crc, const char *dat
|
|||||||
}
|
}
|
||||||
else if(!strcasecmp(platform, "DOS"))
|
else if(!strcasecmp(platform, "DOS"))
|
||||||
{
|
{
|
||||||
s8 pos = m_plugin.GetPluginPosition(Magic);
|
s16 pos = m_plugin.GetPluginPosition(Magic);
|
||||||
string FileTypes = m_plugin.GetFileTypes(pos);
|
string FileTypes = m_plugin.GetFileTypes(pos);
|
||||||
|
|
||||||
if(strcasestr(FileTypes.c_str(), ".conf"))
|
if(strcasestr(FileTypes.c_str(), ".conf"))
|
||||||
|
@ -68,10 +68,10 @@ public:
|
|||||||
string GetRomName(const char *FullPath);
|
string GetRomName(const char *FullPath);
|
||||||
string GetRomId(char *romPath, u32 Magic, Config &m_crc, const char *datadir, const char *platform, const char *name);
|
string GetRomId(char *romPath, u32 Magic, Config &m_crc, const char *datadir, const char *platform, const char *name);
|
||||||
int GetRomPartition(u8 pos);
|
int GetRomPartition(u8 pos);
|
||||||
const string& GetFileTypes(u8 pos);
|
const string& GetFileTypes(s16 pos);
|
||||||
wstringEx GetPluginName(u8 pos);
|
wstringEx GetPluginName(u8 pos);
|
||||||
u32 getPluginMagic(u8 pos);
|
u32 getPluginMagic(u8 pos);
|
||||||
s8 GetPluginPosition(u32 magic);
|
s16 GetPluginPosition(u32 magic);
|
||||||
s8 GetBoxMode(u8 pos);
|
s8 GetBoxMode(u8 pos);
|
||||||
|
|
||||||
void init(const string& m_pluginsDir);
|
void init(const string& m_pluginsDir);
|
||||||
@ -91,7 +91,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
vector<PluginOptions> Plugins;
|
vector<PluginOptions> Plugins;
|
||||||
vector<bool> enabledPlugins;
|
vector<bool> enabledPlugins;
|
||||||
s8 Plugin_Pos;
|
s16 Plugin_Pos;
|
||||||
string pluginsDir;
|
string pluginsDir;
|
||||||
bool adding;
|
bool adding;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user