mirror of https://github.com/PCSX2/pcsx2.git
UI bugfix for speedhacks being improperly applied even when speedhacks were disabled.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3857 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
a02057292b
commit
21a147563e
|
@ -338,9 +338,9 @@ struct Pcsx2Config
|
|||
OPHFlagHack :1; // Skips MPEG videos (Katamari and other games need this)
|
||||
BITFIELD_END
|
||||
|
||||
// all gamefixes are disabled by default.
|
||||
GamefixOptions() : bitset( 0 ) {}
|
||||
GamefixOptions();
|
||||
void LoadSave( IniInterface& conf );
|
||||
GamefixOptions& DisableAll();
|
||||
|
||||
void Set( const wxString& list, bool enabled=true );
|
||||
void Clear( const wxString& list ) { Set( list, false ); }
|
||||
|
@ -378,6 +378,7 @@ struct Pcsx2Config
|
|||
|
||||
SpeedhackOptions();
|
||||
void LoadSave( IniInterface& conf );
|
||||
SpeedhackOptions& DisableAll();
|
||||
|
||||
bool operator ==( const SpeedhackOptions& right ) const
|
||||
{
|
||||
|
|
|
@ -37,9 +37,7 @@ void TraceLogFilters::LoadSave( IniInterface& ini )
|
|||
|
||||
Pcsx2Config::SpeedhackOptions::SpeedhackOptions()
|
||||
{
|
||||
bitset = 0;
|
||||
EECycleRate = 0;
|
||||
VUCycleSteal = 0;
|
||||
DisableAll();
|
||||
|
||||
// Set recommended speedhacks to enabled by default. They'll still be off globally on resets.
|
||||
WaitLoop = true;
|
||||
|
@ -47,6 +45,15 @@ Pcsx2Config::SpeedhackOptions::SpeedhackOptions()
|
|||
vuFlagHack = true;
|
||||
}
|
||||
|
||||
Pcsx2Config::SpeedhackOptions& Pcsx2Config::SpeedhackOptions::DisableAll()
|
||||
{
|
||||
bitset = 0;
|
||||
EECycleRate = 0;
|
||||
VUCycleSteal = 0;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
void Pcsx2Config::SpeedhackOptions::LoadSave( IniInterface& ini )
|
||||
{
|
||||
SpeedhackOptions defaults;
|
||||
|
@ -79,7 +86,7 @@ Pcsx2Config::RecompilerOptions::RecompilerOptions()
|
|||
bitset = 0;
|
||||
|
||||
//StackFrameChecks = false;
|
||||
//PreBlockCheckEE = false;
|
||||
//PreBlockCheckEE = false;
|
||||
|
||||
// All recs are enabled by default.
|
||||
|
||||
|
@ -255,6 +262,18 @@ const __fi wxChar* EnumToString( GamefixId id )
|
|||
return tbl_GamefixNames[id];
|
||||
}
|
||||
|
||||
// all gamefixes are disabled by default.
|
||||
Pcsx2Config::GamefixOptions::GamefixOptions()
|
||||
{
|
||||
DisableAll();
|
||||
}
|
||||
|
||||
Pcsx2Config::GamefixOptions& Pcsx2Config::GamefixOptions::DisableAll()
|
||||
{
|
||||
bitset = 0;
|
||||
return *this;
|
||||
}
|
||||
|
||||
// Enables a full list of gamefixes. The list can be either comma or pipe-delimited.
|
||||
// Example: "XGKick,IpuWait" or "EEtiming,FpuCompare"
|
||||
// If an unrecognized tag is encountered, a warning is printed to the console, but no error
|
||||
|
|
|
@ -174,18 +174,6 @@ static __fi void IopTestEvent( IopEventId n, void (*callback)() )
|
|||
psxSetNextBranch( psxRegs.sCycle[n], psxRegs.eCycle[n] );
|
||||
}
|
||||
|
||||
static __fi void sifHackInterrupt()
|
||||
{
|
||||
// No reason -- just that sometimes the SIF fell asleep, and this wakes it up.
|
||||
|
||||
iopIntcIrq( 3 ); // IOP DMAC int
|
||||
//hwIntcIrq(INTC_SBUS); // EE's SIF BUS notifier... maybe or maybe not needed?
|
||||
|
||||
// hack is rescheduled as needed by the event handler (depending on if it's actively
|
||||
// signalling an interrupt or not).. better there than here.
|
||||
//PSX_INT( IopEvt_SIFhack, 128 );
|
||||
}
|
||||
|
||||
static __fi void _psxTestInterrupts()
|
||||
{
|
||||
IopTestEvent(IopEvt_SIF0, sif0Interrupt); // SIF0
|
||||
|
|
|
@ -272,7 +272,7 @@ void AppCoreThread::ApplySettings( const Pcsx2Config& src )
|
|||
|
||||
const CommandlineOverrides& overrides( wxGetApp().Overrides );
|
||||
if( overrides.DisableSpeedhacks || !g_Conf->EnableSpeedHacks )
|
||||
fixup.Speedhacks = Pcsx2Config::SpeedhackOptions();
|
||||
fixup.Speedhacks = Pcsx2Config::SpeedhackOptions().DisableAll();
|
||||
|
||||
if( overrides.ApplyCustomGamefixes )
|
||||
{
|
||||
|
@ -280,7 +280,7 @@ void AppCoreThread::ApplySettings( const Pcsx2Config& src )
|
|||
fixup.Gamefixes.Set( id, overrides.Gamefixes.Get(id) );
|
||||
}
|
||||
else if( !g_Conf->EnableGameFixes )
|
||||
fixup.Gamefixes = Pcsx2Config::GamefixOptions();
|
||||
fixup.Gamefixes = Pcsx2Config::GamefixOptions().DisableAll();
|
||||
|
||||
wxString gameCRC;
|
||||
wxString gameSerial;
|
||||
|
|
Loading…
Reference in New Issue