mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2025-01-25 18:21:11 +01:00
- added little patch to make sure emunand path settings in wiiflow.ini are ok. Helps with the recent added select nand option.
This commit is contained in:
parent
6b1aab7c2d
commit
def5e0e854
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
@ -308,7 +308,13 @@ void CMenu::init()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check emuNAND paths even if not being used */
|
||||||
|
m_current_view = COVERFLOW_CHANNEL;
|
||||||
|
_validateEmuNand();
|
||||||
|
m_current_view = COVERFLOW_WII;
|
||||||
|
_validateEmuNand();
|
||||||
|
|
||||||
/* Cache Reload Checks - Disabled for now
|
/* Cache Reload Checks - Disabled for now
|
||||||
int ini_rev = m_cfg.getInt("GENERAL", "ini_rev", 0);
|
int ini_rev = m_cfg.getInt("GENERAL", "ini_rev", 0);
|
||||||
if(ini_rev != SVN_REV_NUM)
|
if(ini_rev != SVN_REV_NUM)
|
||||||
|
@ -1174,6 +1174,7 @@ private:
|
|||||||
int _FindEmuPart(string &emuPath, bool searchvalid);
|
int _FindEmuPart(string &emuPath, bool searchvalid);
|
||||||
bool _checkSave(string id, bool nand);
|
bool _checkSave(string id, bool nand);
|
||||||
bool _TestEmuNand(int epart, const char *path, bool indept);
|
bool _TestEmuNand(int epart, const char *path, bool indept);
|
||||||
|
void _validateEmuNand(void);
|
||||||
|
|
||||||
static u32 _downloadCheatFileAsync(void *obj);
|
static u32 _downloadCheatFileAsync(void *obj);
|
||||||
static u32 _downloadBannerAsync(void *obj);
|
static u32 _downloadBannerAsync(void *obj);
|
||||||
|
@ -70,7 +70,9 @@ static void listEmuNands(const char * path, vector<string> &emuNands)
|
|||||||
if(dir->d_type == DT_DIR)
|
if(dir->d_type == DT_DIR)
|
||||||
{
|
{
|
||||||
emuNands.push_back(dir->d_name);
|
emuNands.push_back(dir->d_name);
|
||||||
def = false;
|
string filename = dir->d_name;
|
||||||
|
if(filename == "default")
|
||||||
|
def = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir(d);
|
closedir(d);
|
||||||
@ -80,6 +82,44 @@ static void listEmuNands(const char * path, vector<string> &emuNands)
|
|||||||
sort(emuNands.begin(), emuNands.end());
|
sort(emuNands.begin(), emuNands.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenu::_validateEmuNand(void)
|
||||||
|
{
|
||||||
|
string emuNand;
|
||||||
|
int emuPart;
|
||||||
|
if(m_current_view == COVERFLOW_CHANNEL)
|
||||||
|
{
|
||||||
|
emuNand = m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default");
|
||||||
|
emuPart = m_cfg.getInt(CHANNEL_DOMAIN, "partition", 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
emuNand = m_cfg.getString(WII_DOMAIN, "current_save_emunand", m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default"));
|
||||||
|
emuPart = m_cfg.getInt(WII_DOMAIN, "savepartition", m_cfg.getInt(CHANNEL_DOMAIN, "partition", 0));
|
||||||
|
}
|
||||||
|
if(!DeviceHandle.PartitionUsableForNandEmu(emuPart))
|
||||||
|
{
|
||||||
|
for(emuPart = SD; emuPart <= USB8; emuPart++)
|
||||||
|
{
|
||||||
|
if(DeviceHandle.PartitionUsableForNandEmu(emuPart))
|
||||||
|
{
|
||||||
|
if(m_current_view == COVERFLOW_CHANNEL)
|
||||||
|
m_cfg.setInt(CHANNEL_DOMAIN, "partition", emuPart);
|
||||||
|
else
|
||||||
|
m_cfg.setInt(WII_DOMAIN, "savepartition", emuPart);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const char *tmpPath = fmt("/%s/%s", EMU_NANDS_DIR, emuNand.c_str());
|
||||||
|
if(!_TestEmuNand(emuPart, tmpPath, false))
|
||||||
|
{
|
||||||
|
if(m_current_view == COVERFLOW_CHANNEL)
|
||||||
|
m_cfg.setString(CHANNEL_DOMAIN, "current_emunand", "default");
|
||||||
|
else
|
||||||
|
m_cfg.setString(WII_DOMAIN, "current_save_emunand", "default");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool _saveExists(const char *path)
|
static bool _saveExists(const char *path)
|
||||||
{
|
{
|
||||||
DIR *d = opendir(path);
|
DIR *d = opendir(path);
|
||||||
@ -279,9 +319,9 @@ void CMenu::_showNandEmu(void)
|
|||||||
m_btnMgr.show(m_nandemuBtnNandSelectP);
|
m_btnMgr.show(m_nandemuBtnNandSelectP);
|
||||||
m_btnMgr.show(m_nandemuBtnNandSelectM);
|
m_btnMgr.show(m_nandemuBtnNandSelectM);
|
||||||
if(m_current_view == COVERFLOW_CHANNEL)
|
if(m_current_view == COVERFLOW_CHANNEL)
|
||||||
m_btnMgr.setText(m_nandemuLblNandSelectVal, m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default"));
|
m_btnMgr.setText(m_nandemuLblNandSelectVal, m_cfg.getString(CHANNEL_DOMAIN, "current_emunand"));
|
||||||
else if(m_current_view == COVERFLOW_WII)
|
else if(m_current_view == COVERFLOW_WII)
|
||||||
m_btnMgr.setText(m_nandemuLblNandSelectVal, m_cfg.getString(WII_DOMAIN, "current_save_emunand", m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default")));
|
m_btnMgr.setText(m_nandemuLblNandSelectVal, m_cfg.getString(WII_DOMAIN, "current_save_emunand"));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(u8 i = 0; i < ARRAY_SIZE(m_nandemuLblUser); ++i)
|
for(u8 i = 0; i < ARRAY_SIZE(m_nandemuLblUser); ++i)
|
||||||
@ -298,22 +338,24 @@ int CMenu::_NandEmuCfg(void)
|
|||||||
int emuPart;
|
int emuPart;
|
||||||
if(m_current_view == COVERFLOW_CHANNEL)
|
if(m_current_view == COVERFLOW_CHANNEL)
|
||||||
{
|
{
|
||||||
prevEmuNand = m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default");
|
prevEmuNand = m_cfg.getString(CHANNEL_DOMAIN, "current_emunand");
|
||||||
emuPart = m_cfg.getInt(CHANNEL_DOMAIN, "partition", 0);
|
emuPart = m_cfg.getInt(CHANNEL_DOMAIN, "partition");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
prevEmuNand = m_cfg.getString(WII_DOMAIN, "current_save_emunand", m_cfg.getString(CHANNEL_DOMAIN, "current_emunand", "default"));
|
prevEmuNand = m_cfg.getString(WII_DOMAIN, "current_save_emunand");
|
||||||
emuPart = m_cfg.getInt(WII_DOMAIN, "savepartition", m_cfg.getInt(CHANNEL_DOMAIN, "partition", 0));
|
emuPart = m_cfg.getInt(WII_DOMAIN, "savepartition");
|
||||||
}
|
}
|
||||||
listEmuNands(fmt("%s:/%s", DeviceName[emuPart], EMU_NANDS_DIR), emuNands);
|
listEmuNands(fmt("%s:/%s", DeviceName[emuPart], EMU_NANDS_DIR), emuNands);
|
||||||
int curEmuNand = 0;
|
int curEmuNand = 0;
|
||||||
for(u8 i = 0; i < emuNands.size(); ++i)
|
for(u8 i = 0; i < emuNands.size(); ++i)
|
||||||
|
{
|
||||||
if(emuNands[i] == prevEmuNand)
|
if(emuNands[i] == prevEmuNand)
|
||||||
{
|
{
|
||||||
curEmuNand = i;
|
curEmuNand = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
lwp_t thread = 0;
|
lwp_t thread = 0;
|
||||||
SetupInput();
|
SetupInput();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user