Fixed game-specific Wii/Widescreen and RE0 Hack checkboxes.
Disabled game-specific Wii/Progressive Scan checkbox, since its never used by Dolphin; it would cause side-effects to global configuration if we did write to SysConf in that place. Fixes Issue 2518 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5283 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
3a4b13e71f
commit
ff9b185a7f
|
@ -338,7 +338,14 @@ THREAD_RETURN EmuThread(void *pArg)
|
|||
VideoInitialize.Fifo_CPUBase = &ProcessorInterface::Fifo_CPUBase;
|
||||
VideoInitialize.Fifo_CPUEnd = &ProcessorInterface::Fifo_CPUEnd;
|
||||
VideoInitialize.Fifo_CPUWritePointer = &ProcessorInterface::Fifo_CPUWritePointer;
|
||||
VideoInitialize.bAutoAspectIs16_9 = _CoreParameter.bWii ? (SConfig::GetInstance().m_SYSCONF->GetData<u8>("IPL.AR") ? true : false) : false;
|
||||
bool aspectWide = _CoreParameter.bWii;
|
||||
if (aspectWide)
|
||||
{
|
||||
IniFile gameIni;
|
||||
gameIni.Load(_CoreParameter.m_strGameIni.c_str());
|
||||
gameIni.Get("Wii", "Widescreen", &aspectWide, !!SConfig::GetInstance().m_SYSCONF->GetData<u8>("IPL.AR"));
|
||||
}
|
||||
VideoInitialize.bAutoAspectIs16_9 = aspectWide;
|
||||
|
||||
Plugins.GetVideo()->Initialize(&VideoInitialize); // Call the dll
|
||||
|
||||
|
|
|
@ -299,6 +299,13 @@ void CISOProperties::CreateGUIControls(bool IsWad)
|
|||
EnableProgressiveScan->Hide();
|
||||
EnableWideScreen->Hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
//Progressive Scan is not used by Dolphin itself,
|
||||
//and changing it on a per-game basis would have the side-effect of changing the SysConf,
|
||||
//making this setting rather useless.
|
||||
EnableProgressiveScan->Disable();
|
||||
}
|
||||
// Video
|
||||
sbVideoOverrides = new wxStaticBoxSizer(wxVERTICAL, m_GameConfig, _("Video"));
|
||||
ForceFiltering = new wxCheckBox(m_GameConfig, ID_FORCEFILTERING, _("Force Filtering"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER, wxDefaultValidator);
|
||||
|
|
|
@ -36,6 +36,7 @@ void CConfig::Load()
|
|||
file.Load((std::string(File::GetUserPath(D_CONFIG_IDX)) + "DSP.ini").c_str());
|
||||
file.Get("Config", "EnableHLEAudio", &m_EnableHLEAudio, true); // Sound Settings
|
||||
file.Get("Config", "EnableRE0AudioFix", &m_EnableRE0Fix, false); // RE0 Hack
|
||||
m_RE0Fix = m_EnableRE0Fix;
|
||||
ac_Config.Load(file);
|
||||
}
|
||||
|
||||
|
@ -49,3 +50,10 @@ void CConfig::Save()
|
|||
|
||||
file.Save((std::string(File::GetUserPath(D_CONFIG_IDX)) + "DSP.ini").c_str());
|
||||
}
|
||||
|
||||
void CConfig::LoadGameIni(const char* gameIniPath)
|
||||
{
|
||||
IniFile gameIni;
|
||||
gameIni.Load(gameIniPath);
|
||||
gameIni.Get("HLEaudio", "UseRE0Fix", &m_RE0Fix, m_EnableRE0Fix);
|
||||
}
|
||||
|
|
|
@ -23,12 +23,17 @@
|
|||
struct CConfig
|
||||
{
|
||||
bool m_EnableHLEAudio;
|
||||
//is the RE0 fix enabled in config?
|
||||
bool m_EnableRE0Fix;
|
||||
//is the RE0 supposed to be used?
|
||||
//this value includes game.ini, avoiding overwrite of config
|
||||
bool m_RE0Fix;
|
||||
|
||||
CConfig();
|
||||
|
||||
void Load();
|
||||
void Save();
|
||||
void LoadGameIni(const char*);
|
||||
};
|
||||
|
||||
extern CConfig g_Config;
|
||||
|
|
|
@ -66,7 +66,7 @@ static void ProcessUpdates(AXPB &PB)
|
|||
int on = 0, off = 0;
|
||||
for (int j = 0; j < numupd; j++)
|
||||
{
|
||||
int k = g_Config.m_EnableRE0Fix ? 0 : j;
|
||||
int k = g_Config.m_RE0Fix ? 0 : j;
|
||||
|
||||
const u16 updpar = Memory_Read_U16(updaddr + k);
|
||||
const u16 upddata = Memory_Read_U16(updaddr + k + 2);
|
||||
|
|
|
@ -142,8 +142,9 @@ void GetDllInfo(PLUGIN_INFO* _PluginInfo)
|
|||
|
||||
void SetDllGlobals(PLUGIN_GLOBALS* _pPluginGlobals)
|
||||
{
|
||||
globals = _pPluginGlobals;
|
||||
LogManager::SetInstance((LogManager *)globals->logManager);
|
||||
globals = _pPluginGlobals;
|
||||
LogManager::SetInstance((LogManager *)globals->logManager);
|
||||
g_Config.LoadGameIni(globals->game_ini);
|
||||
}
|
||||
|
||||
void DllConfig(HWND _hParent)
|
||||
|
|
Loading…
Reference in New Issue