mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-01 00:55:06 +01:00
- fixed to launch wii, gamecube, and wiiware/vc games via wiigsc. note you should have wiiflow, these games, and their settings all set via wfl first. wiigsc is just a short cut to lauch wfl with args set to launch a specific game ID.
This commit is contained in:
parent
48fdaf50e2
commit
a1f72297e3
BIN
out/boot.dol
BIN
out/boot.dol
Binary file not shown.
Before Width: | Height: | Size: 4.4 MiB After Width: | Height: | Size: 4.4 MiB |
@ -61,10 +61,10 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else if(strcasestr(argv[i], "Waitloop") != NULL)
|
else if(strcasestr(argv[i], "Waitloop") != NULL)
|
||||||
wait_loop = true;
|
wait_loop = true;
|
||||||
else if(strlen(argv[i]) == 6)
|
else if(strlen(argv[i]) == 6 || strlen(argv[i]) == 4)
|
||||||
{
|
{
|
||||||
gameid = argv[i];
|
gameid = argv[i];
|
||||||
for(u8 i = 0; i < 5; i++)
|
for(u8 i = 0; i < strlen(argv[i]) - 1; i++)
|
||||||
{
|
{
|
||||||
if(!isalnum(gameid[i]))
|
if(!isalnum(gameid[i]))
|
||||||
gameid = NULL;
|
gameid = NULL;
|
||||||
@ -161,7 +161,7 @@ int main(int argc, char **argv)
|
|||||||
startup_successful = true;
|
startup_successful = true;
|
||||||
if(!isWiiVC)
|
if(!isWiiVC)
|
||||||
writeStub();// copy return stub to memory
|
writeStub();// copy return stub to memory
|
||||||
if(!isWiiVC && gameid != NULL && strlen(gameid) == 6)// if argv game ID then launch it
|
if(!isWiiVC && gameid != NULL)// if argv game ID then launch it
|
||||||
mainMenu.directlaunch(gameid);
|
mainMenu.directlaunch(gameid);
|
||||||
else
|
else
|
||||||
mainMenu.main();// start wiiflow with main menu displayed
|
mainMenu.main();// start wiiflow with main menu displayed
|
||||||
|
@ -76,23 +76,21 @@ static u8 GetRequestedGameIOS(dir_discHdr *hdr)
|
|||||||
void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
|
void CMenu::directlaunch(const char *GameID)// from boot arg for wii game only
|
||||||
{
|
{
|
||||||
m_directLaunch = true;
|
m_directLaunch = true;
|
||||||
currentPartition = m_cfg.getInt(WII_DOMAIN, "partition");
|
u8 chantypes = m_cfg.getUInt(CHANNEL_DOMAIN, "channels_type", CHANNELS_REAL);
|
||||||
if(DeviceHandle.IsInserted(currentPartition))
|
m_cfg.setUInt(CHANNEL_DOMAIN, "channels_type", CHANNELS_EMU);
|
||||||
|
m_current_view = COVERFLOW_WII | COVERFLOW_GAMECUBE | COVERFLOW_CHANNEL;
|
||||||
|
_loadList();
|
||||||
|
m_cfg.setUInt(CHANNEL_DOMAIN, "channels_type", chantypes);
|
||||||
|
|
||||||
|
for(u32 i = 0; i < m_gameList.size(); i++)
|
||||||
{
|
{
|
||||||
DeviceHandle.OpenWBFS(currentPartition);
|
if(strncasecmp(GameID, m_gameList[i].id, 6) == 0)
|
||||||
string gameDir(fmt(wii_games_dir, DeviceName[currentPartition]));
|
|
||||||
string cacheDir(fmt("%s/%s_wii.db", m_listCacheDir.c_str(), DeviceName[currentPartition]));
|
|
||||||
m_cacheList.CreateList(COVERFLOW_WII, gameDir, stringToVector(".wbfs|.iso", '|'), cacheDir, false);
|
|
||||||
WBFS_Close();
|
|
||||||
for(u32 i = 0; i < m_cacheList.size(); i++)
|
|
||||||
{
|
{
|
||||||
if(strncasecmp(GameID, m_cacheList[i].id, 6) == 0)
|
_launch(&m_gameList[i]); // Launch will exit wiiflow
|
||||||
{
|
break;
|
||||||
_launchWii(&m_cacheList[i], false); // Launch will exit wiiflow
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_error(wfmt(_fmt("errgame1", L"Cannot find the game with ID: %s"), GameID));
|
_error(wfmt(_fmt("errgame1", L"Cannot find the game with ID: %s"), GameID));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user