-only enable gc streaming if we actually boot a disc

-moved ios reload block call directly behind return to channel call
This commit is contained in:
fix94.1 2012-07-12 00:34:32 +00:00
parent a99c4e1b72
commit ac3816d7e9
5 changed files with 9 additions and 8 deletions

View File

@ -248,7 +248,7 @@ s32 Disc_Init(void)
return WDVD_Init(); return WDVD_Init();
} }
s32 Disc_Open(void) s32 Disc_Open(bool boot_disc)
{ {
/* Reset drive */ /* Reset drive */
s32 ret = WDVD_Reset(); s32 ret = WDVD_Reset();
@ -260,7 +260,8 @@ s32 Disc_Open(void)
ret = WDVD_ReadDiskId(diskid); ret = WDVD_ReadDiskId(diskid);
/* Directly set Audio Streaming for GC*/ /* Directly set Audio Streaming for GC*/
gprintf("Setting Audio Streaming for GC Games: 0x%08x\n", WDVD_SetStreaming()); if(boot_disc)
gprintf("Setting Audio Streaming for GC Games: 0x%08x\n", WDVD_SetStreaming());
return ret; return ret;
} }

View File

@ -95,7 +95,7 @@ extern "C" {
/* Prototypes */ /* Prototypes */
s32 Disc_Init(void); s32 Disc_Init(void);
s32 Disc_Open(void); s32 Disc_Open(bool);
s32 Disc_Wait(void); s32 Disc_Wait(void);
s32 Disc_SetUSB(const u8 *); s32 Disc_SetUSB(const u8 *);
s32 Disc_ReadHeader(void *); s32 Disc_ReadHeader(void *);

View File

@ -199,7 +199,7 @@ bool GCDump::__WaitForDisc(u8 dsc, u32 msg)
if(Disc_Wait() < 0) if(Disc_Wait() < 0)
continue; continue;
if(Disc_Open() < 0) if(Disc_Open(true) < 0)
{ {
MEM2_free(ReadBuffer); MEM2_free(ReadBuffer);
return false; return false;

View File

@ -1120,7 +1120,7 @@ void CMenu::_launchGame(dir_discHdr *hdr, bool dvd)
} while(!(cover & 0x2)); } while(!(cover & 0x2));
} }
/* Open Disc */ /* Open Disc */
if (Disc_Open() < 0) if (Disc_Open(true) < 0)
{ {
error(_t("wbfsoperr2", L"Disc_Open failed")); error(_t("wbfsoperr2", L"Disc_Open failed"));
if (BTN_B_PRESSED) return; if (BTN_B_PRESSED) return;
@ -1308,6 +1308,7 @@ void CMenu::_launchGame(dir_discHdr *hdr, bool dvd)
IOS_Close(ESHandle); IOS_Close(ESHandle);
} }
} }
IOSReloadBlock(IOS_GetVersion(), true);
if(emulate_mode) if(emulate_mode)
{ {
Nand::Instance()->Init(emuPath.c_str(), emuPartition, false); Nand::Instance()->Init(emuPath.c_str(), emuPartition, false);
@ -1342,14 +1343,13 @@ void CMenu::_launchGame(dir_discHdr *hdr, bool dvd)
return; return;
} }
if (Disc_Open() < 0) if (Disc_Open(false) < 0)
{ {
error(_t("wbfsoperr2", L"Disc_Open failed")); error(_t("wbfsoperr2", L"Disc_Open failed"));
if (iosLoaded) Sys_LoadMenu(); if (iosLoaded) Sys_LoadMenu();
return; return;
} }
} }
IOSReloadBlock(IOS_GetVersion(), true);
USBStorage_Deinit(); USBStorage_Deinit();
if(currentPartition == 0) if(currentPartition == 0)

View File

@ -319,7 +319,7 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op)
out = true; out = true;
break; break;
} }
if (Disc_Open() < 0) if (Disc_Open(true) < 0)
{ {
error(_t("wbfsoperr2", L"Disc_Open failed")); error(_t("wbfsoperr2", L"Disc_Open failed"));
out = true; out = true;