From 3b105916a6f7efd74244d6de3d9628d2dbd83de7 Mon Sep 17 00:00:00 2001 From: "fix94.1" Date: Fri, 30 Mar 2012 12:53:10 +0000 Subject: [PATCH] -set DML to not touch video mode again since its not needed -only set progressive flag for DML if component cable found and 480p is enabled or if video mode set to force progressive --- source/gc/gc.c | 9 ++++++--- source/gc/gc.h | 2 +- source/menu/menu_game.cpp | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/source/gc/gc.c b/source/gc/gc.c index 80fc477b..cb00d96e 100644 --- a/source/gc/gc.c +++ b/source/gc/gc.c @@ -28,7 +28,7 @@ void GC_SetVideoMode(u8 videomode) static GXRModeObj *rmode; int memflag = 0; - if(VIDEO_HaveComponentCable()) + if((VIDEO_HaveComponentCable() && (CONF_GetProgressiveScan() > 0)) || videomode > 3) sram->flags |= 0x80; //set progressive flag else sram->flags &= 0x7F; //clear progressive flag @@ -135,7 +135,7 @@ bool GC_GameIsInstalled(char *discid, const char* partition, const char* dmlgame return false; } -void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc, u8 DMLvideoMode) +void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc) //, u8 DMLvideoMode) { gprintf("Wiiflow DML: Launch game 'sd:/games/%s/game.iso' through memory (new method)\n", GamePath); @@ -144,7 +144,8 @@ void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, boo DMLCfg->Magicbytes = 0xD1050CF6; DMLCfg->CfgVersion = 0x00000001; - DMLCfg->VideoMode |= DML_VID_FORCE; + //DMLCfg->VideoMode |= DML_VID_FORCE; + DMLCfg->VideoMode |= DML_VID_NONE; DMLCfg->Config |= DML_CFG_ACTIVITY_LED; //Sorry but I like it lol, option will may follow DMLCfg->Config |= DML_CFG_PADHOOK; //Makes life easier, l+z+b+digital down... @@ -180,6 +181,7 @@ void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, boo if(nodisc > 0) DMLCfg->Config |= DML_CFG_NODISC; + /* if(DMLvideoMode == 1) DMLCfg->VideoMode |= DML_VID_FORCE_PAL50; else if(DMLvideoMode == 2) @@ -188,6 +190,7 @@ void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, boo DMLCfg->VideoMode |= DML_VID_FORCE_PAL60; else DMLCfg->VideoMode |= DML_VID_FORCE_PROG; + */ //Write options into memory memcpy((void *)0xC0001700, DMLCfg, sizeof(DML_CFG)); diff --git a/source/gc/gc.h b/source/gc/gc.h index 67d4b197..426e0645 100644 --- a/source/gc/gc.h +++ b/source/gc/gc.h @@ -45,7 +45,7 @@ enum dmlvideomode void GC_SetVideoMode(u8 videomode); void GC_SetLanguage(u8 lang); bool GC_GameIsInstalled(char *discid, const char* partition, const char* dmlgamedir); -void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc, u8 DMLvideoMode); +void DML_New_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats, bool debugger, u8 NMM, u8 nodisc); //, u8 DMLvideoMode); void DML_Old_SetOptions(char *GamePath, char *CheatPath, char *NewCheatPath, bool cheats); #endif //GC_H_ diff --git a/source/menu/menu_game.cpp b/source/menu/menu_game.cpp index 18331148..6e26f7d0 100644 --- a/source/menu/menu_game.cpp +++ b/source/menu/menu_game.cpp @@ -687,7 +687,7 @@ void CMenu::_launchGC(dir_discHdr *hdr, bool DML) } if(m_new_dml) - DML_New_SetOptions(hdr->path, CheatPath, NewCheatPath, cheats, DML_debug, NMM, nodisc, DMLvideoMode); + DML_New_SetOptions(hdr->path, CheatPath, NewCheatPath, cheats, DML_debug, NMM, nodisc); //, DMLvideoMode); else DML_Old_SetOptions(hdr->path, CheatPath, NewCheatPath, cheats);