OpenGL: save projection hack setting

wii: pass 002 check correctly (i think :p ) also copy 10bytes from disc start instead of just 6

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3316 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Shawn Hoffman
2009-06-03 23:38:31 +00:00
parent 1e2bedbf7e
commit 43c18bb552
5 changed files with 59 additions and 68 deletions

View File

@ -81,6 +81,7 @@ void Config::Load()
iniFile.Get("Hacks", "EFBCopyDisable", &bEFBCopyDisable, 0);
iniFile.Get("Hacks", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
iniFile.Get("Hacks", "EFBToTextureEnable", &bCopyEFBToRAM, 0);
iniFile.Get("Hacks", "ProjectionHack", &iPhackvalue, 0);
}
void Config::GameIniLoad() {
@ -115,8 +116,8 @@ void Config::GameIniLoad() {
if (iniFile->Exists("Video", "UseXFB"))
iniFile->Get("Video", "UseXFB", &bUseXFB, 0);
if (iniFile->Exists("Video", "Hack"))
iniFile->Get("Video", "Hack", &iPhackvalue, 0);
if (iniFile->Exists("Video", "ProjectionHack"))
iniFile->Get("Video", "ProjectionHack", &iPhackvalue, 0);
}
void Config::Save()
@ -165,6 +166,7 @@ void Config::Save()
iniFile.Set("Hacks", "EFBCopyDisable", bEFBCopyDisable);
iniFile.Set("Hacks", "EFBCopyDisableHotKey", bEFBCopyDisableHotKey);
iniFile.Set("Hacks", "EFBToTextureEnable", bCopyEFBToRAM);
iniFile.Set("Hacks", "ProjectionHack", iPhackvalue);
iniFile.Save(FULL_CONFIG_DIR "gfx_opengl.ini");
}

View File

@ -45,7 +45,7 @@ struct Config
void Load();
void GameIniLoad();
void Save();
void UpdateHack();
void UpdateProjectionHack();
// General
bool bFullscreen;

View File

@ -76,7 +76,7 @@ ConfigDialog::ConfigDialog(wxWindow *parent, wxWindowID id, const wxString &titl
{
g_Config.Load();
g_Config.GameIniLoad();
g_Config.UpdateHack();
g_Config.UpdateProjectionHack();
}
///////////////////////////////////////////////////////////////////////////////////////////////
@ -518,7 +518,7 @@ void ConfigDialog::GeneralSettingsChanged(wxCommandEvent& event)
g_Config.iPhackvalue = m_PhackvalueCB->GetSelection();
if (g_Config.iPhackvalue >= 0)
{
g_Config.UpdateHack();
g_Config.UpdateProjectionHack();
}
break;
}
@ -639,51 +639,51 @@ void ConfigDialog::UpdateGUI()
m_FullscreenCB->Enable(!g_Config.renderToMainframe);
m_WindowResolutionCB->Enable(!g_Config.renderToMainframe);
}
void Config::UpdateHack()
void Config::UpdateProjectionHack()
{
switch(g_Config.iPhackvalue)
{
case OGL_HACK_NONE:
g_Config.bProjHack1 = 0;
g_Config.bPhackvalue1 = 0;
g_Config.bPhackvalue2 = 0;
break;
case OGL_HACK_ZELDA_TP_BLOOM_HACK:
g_Config.bPhackvalue1 = 1;
g_Config.bProjHack1 = 1;
break;
case OGL_HACK_SUPER_MARIO_GALAXY:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.00006f;
g_Config.bPhackvalue2 = 0;
g_Config.bProjHack1 = 0;
break;
case OGL_HACK_MARIO_KART_WII:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.0006f;
g_Config.bPhackvalue2 = 0;
g_Config.bProjHack1 = 0;
break;
case OGL_HACK_SONIC_AND_THE_BLACK_KNIGHT:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.00002f;
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 1.999980f;
{
case OGL_HACK_NONE:
g_Config.bProjHack1 = 0;
g_Config.bPhackvalue1 = 0;
g_Config.bPhackvalue2 = 0;
break;
case OGL_HACK_BLEACH_VERSUS_CRUSADE:
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 0.5f;
g_Config.bPhackvalue1 = 0;
g_Config.bProjHack1 = 0;
case OGL_HACK_ZELDA_TP_BLOOM_HACK:
g_Config.bPhackvalue1 = 1;
g_Config.bProjHack1 = 1;
break;
case OGL_HACK_FINAL_FANTASY_CC_ECHO_OF_TIME:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.8f;
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 1.2f;
g_Config.bProjHack1 = 0;
case OGL_HACK_SUPER_MARIO_GALAXY:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.00006f;
g_Config.bPhackvalue2 = 0;
g_Config.bProjHack1 = 0;
break;
}
case OGL_HACK_MARIO_KART_WII:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.0006f;
g_Config.bPhackvalue2 = 0;
g_Config.bProjHack1 = 0;
break;
case OGL_HACK_SONIC_AND_THE_BLACK_KNIGHT:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.00002f;
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 1.999980f;
break;
case OGL_HACK_BLEACH_VERSUS_CRUSADE:
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 0.5f;
g_Config.bPhackvalue1 = 0;
g_Config.bProjHack1 = 0;
break;
case OGL_HACK_FINAL_FANTASY_CC_ECHO_OF_TIME:
g_Config.bPhackvalue1 = 1;
g_Config.fhackvalue1 = 0.8f;
g_Config.bPhackvalue2 = 1;
g_Config.fhackvalue2 = 1.2f;
g_Config.bProjHack1 = 0;
break;
}
}

View File

@ -261,7 +261,7 @@ void Initialize(void *init)
g_Config.Load();
g_Config.GameIniLoad();
g_Config.UpdateHack();
g_Config.UpdateProjectionHack();
if (!OpenGL_Create(g_VideoInitialize, 640, 480)) // 640x480 will be the default if all else fails
{