mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-11-23 19:59:16 +01:00
-if gamecube game is found on sd card and you
launch it from usb, it will automatically launch it on sd card without copying it again
This commit is contained in:
parent
f82fdc0e50
commit
fa1852bfa9
@ -333,7 +333,6 @@ void CMenu::_game(bool launch)
|
|||||||
|
|
||||||
if (BTN_HOME_PRESSED || BTN_B_PRESSED)
|
if (BTN_HOME_PRESSED || BTN_B_PRESSED)
|
||||||
{
|
{
|
||||||
m_gameSound.Stop();
|
|
||||||
CheckGameSoundThread();
|
CheckGameSoundThread();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -424,17 +423,21 @@ void CMenu::_game(bool launch)
|
|||||||
else if (launch || m_btnMgr.selected(m_gameBtnPlay) || (!WPadIR_Valid(0) && !WPadIR_Valid(1) && !WPadIR_Valid(2) && !WPadIR_Valid(3) && m_btnMgr.selected((u32)-1)))
|
else if (launch || m_btnMgr.selected(m_gameBtnPlay) || (!WPadIR_Valid(0) && !WPadIR_Valid(1) && !WPadIR_Valid(2) && !WPadIR_Valid(3) && m_btnMgr.selected((u32)-1)))
|
||||||
{
|
{
|
||||||
_hideGame();
|
_hideGame();
|
||||||
|
dir_discHdr *hdr = m_cf.getHdr();
|
||||||
|
|
||||||
if(currentPartition != SD && m_current_view == COVERFLOW_DML)
|
if(currentPartition != SD && m_current_view == COVERFLOW_DML)
|
||||||
{
|
{
|
||||||
if(!_wbfsOp(CMenu::WO_COPY_GAME))
|
char gcfolder[MAX_FAT_PATH];
|
||||||
{
|
sprintf(gcfolder, "%s [%s]", m_cf.getTitle().toUTF8().c_str(), (char *)hdr->hdr.id);
|
||||||
|
memset(hdr->path,0,256);
|
||||||
|
if (DML_GameIsInstalled((char *)hdr->hdr.id, DeviceName[SD]))
|
||||||
|
sprintf(hdr->path,"%s",(char*)hdr->hdr.id);
|
||||||
|
else if (DML_GameIsInstalled(gcfolder, DeviceName[SD]))
|
||||||
|
sprintf(hdr->path,"%s",gcfolder);
|
||||||
|
else if(!_wbfsOp(CMenu::WO_COPY_GAME))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
currentPartition = SD;
|
currentPartition = SD;
|
||||||
}
|
|
||||||
|
|
||||||
dir_discHdr *hdr = m_cf.getHdr();
|
|
||||||
|
|
||||||
m_cf.clear();
|
m_cf.clear();
|
||||||
_showWaitMessage();
|
_showWaitMessage();
|
||||||
@ -613,10 +616,8 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool DML)
|
|||||||
ICInvalidateRange((void *)(0x800A0000), 4);
|
ICInvalidateRange((void *)(0x800A0000), 4);
|
||||||
#else
|
#else
|
||||||
gprintf("Wiiflow DML: Launch game 'sd:/games/%s/game.iso' through boot.bin\n", hdr->path);
|
gprintf("Wiiflow DML: Launch game 'sd:/games/%s/game.iso' through boot.bin\n", hdr->path);
|
||||||
char filepath[ISFS_MAXPATH] ATTRIBUTE_ALIGN(32);
|
|
||||||
FILE *f;
|
FILE *f;
|
||||||
sprintf(filepath, "%s:/games/boot.bin", DeviceName[SD]);
|
f = fopen("sd:/games/boot.bin", "wb");
|
||||||
f = fopen(filepath, "wb");
|
|
||||||
fwrite(hdr->path, 1, strlen(hdr->path) + 1, f);
|
fwrite(hdr->path, 1, strlen(hdr->path) + 1, f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
#endif
|
#endif
|
||||||
|
@ -361,16 +361,7 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
|
|||||||
m_btnMgr.hide(m_wbfsBtnBack);
|
m_btnMgr.hide(m_wbfsBtnBack);
|
||||||
m_btnMgr.show(m_wbfsLblMessage);
|
m_btnMgr.show(m_wbfsLblMessage);
|
||||||
m_btnMgr.setText(m_wbfsLblMessage, L"");
|
m_btnMgr.setText(m_wbfsLblMessage, L"");
|
||||||
char gcfolder[64];
|
|
||||||
char* title = (char *)m_cf.getTitle().toUTF8().c_str();
|
|
||||||
char* gameid = (char *)m_cf.getHdr()->hdr.id;
|
char* gameid = (char *)m_cf.getHdr()->hdr.id;
|
||||||
sprintf(gcfolder, "%s [%s]", title, gameid);
|
|
||||||
if (DML_GameIsInstalled(gameid, DeviceName[SD]) || DML_GameIsInstalled(gcfolder, DeviceName[SD]))
|
|
||||||
{
|
|
||||||
error(_t("wbfsoperr4", L"Game already found on SD"));
|
|
||||||
out = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
cfPos = string(gameid);
|
cfPos = string(gameid);
|
||||||
m_btnMgr.setText(m_wbfsLblDialog, wfmt(_fmt("wbfsop10", L"Copying [%s] %s..."), (u8*)gameid, (u8*)m_cf.getTitle().toUTF8().c_str()));
|
m_btnMgr.setText(m_wbfsLblDialog, wfmt(_fmt("wbfsop10", L"Copying [%s] %s..."), (u8*)gameid, (u8*)m_cf.getTitle().toUTF8().c_str()));
|
||||||
done = true;
|
done = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user