diff --git a/source/gui/video.cpp b/source/gui/video.cpp index 640d4549..60a421ce 100644 --- a/source/gui/video.cpp +++ b/source/gui/video.cpp @@ -233,19 +233,16 @@ void CVideo::cleanup(void) { gprintf("Cleaning up video...\n"); - VIDEO_ClearFrameBuffer(m_rmode, m_frameBuf[m_curFB], COLOR_BLACK); + VIDEO_ClearFrameBuffer(m_rmode, m_frameBuf[0], COLOR_BLACK); + VIDEO_ClearFrameBuffer(m_rmode, m_frameBuf[1], COLOR_BLACK); render(); - VIDEO_ClearFrameBuffer(m_rmode, m_frameBuf[m_curFB], COLOR_BLACK); render(); - GX_DrawDone(); - GX_AbortFrame(); - VIDEO_SetBlack(TRUE); VIDEO_Flush(); - VIDEO_WaitVSync(); - if(m_rmode->viTVMode & VI_NON_INTERLACE) - VIDEO_WaitVSync(); + + GX_DrawDone(); + GX_AbortFrame(); for(u8 i = 0; i < sizeof m_aaBuffer / sizeof m_aaBuffer[0]; ++i) { diff --git a/source/loader/sys.c b/source/loader/sys.c index 0cee61e2..9f8b9daf 100644 --- a/source/loader/sys.c +++ b/source/loader/sys.c @@ -86,17 +86,11 @@ void Sys_ExitTo(int option) //magic word to force wii menu in priiloader. if(return_to_menu) - { *(vu32*)0x8132FFFB = 0x50756e65; - } else if(return_to_priiloader) - { *(vu32*)0x8132FFFB = 0x4461636f; - } else - { *(vu32*)0x8132FFFB = 0xffffffff; - } DCFlushRange((void *)(0x8132FFFB), 4); } @@ -108,6 +102,7 @@ void Sys_Exit(void) /* Shutdown Inputs */ Close_Inputs(); + WII_Initialize(); if(return_to_menu || return_to_priiloader || priiloader_def) Sys_LoadMenu(); else if(return_to_bootmii) diff --git a/source/menu/menu_game.cpp b/source/menu/menu_game.cpp index f8738ffc..83c25b99 100644 --- a/source/menu/menu_game.cpp +++ b/source/menu/menu_game.cpp @@ -761,6 +761,7 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool DML) GC_SetLanguage(GClanguage); DML_New_WriteOptions(); + WII_Initialize(); if(WII_LaunchTitle(0x100000100LL) < 0) Sys_LoadMenu(); }