mirror of https://github.com/PCSX2/pcsx2.git
clang-format Config.h and Pcsx2Config.cpp
This commit is contained in:
parent
3c522a0e60
commit
d440360906
425
pcsx2/Config.h
425
pcsx2/Config.h
|
@ -106,12 +106,12 @@ typename std::underlying_type<Enumeration>::type enum_cast(Enumeration E)
|
||||||
return static_cast<typename std::underlying_type<Enumeration>::type>(E);
|
return static_cast<typename std::underlying_type<Enumeration>::type>(E);
|
||||||
}
|
}
|
||||||
|
|
||||||
ImplementEnumOperators( GamefixId );
|
ImplementEnumOperators(GamefixId);
|
||||||
ImplementEnumOperators( SpeedhackId );
|
ImplementEnumOperators(SpeedhackId);
|
||||||
|
|
||||||
//------------ DEFAULT sseMXCSR VALUES ---------------
|
//------------ DEFAULT sseMXCSR VALUES ---------------
|
||||||
#define DEFAULT_sseMXCSR 0xffc0 //FPU rounding > DaZ, FtZ, "chop"
|
#define DEFAULT_sseMXCSR 0xffc0 //FPU rounding > DaZ, FtZ, "chop"
|
||||||
#define DEFAULT_sseVUMXCSR 0xffc0 //VU rounding > DaZ, FtZ, "chop"
|
#define DEFAULT_sseVUMXCSR 0xffc0 //VU rounding > DaZ, FtZ, "chop"
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
// TraceFiltersEE
|
// TraceFiltersEE
|
||||||
|
@ -120,10 +120,10 @@ struct TraceFiltersEE
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
m_EnableAll :1, // Master Enable switch (if false, no logs at all)
|
m_EnableAll : 1, // Master Enable switch (if false, no logs at all)
|
||||||
m_EnableDisasm :1,
|
m_EnableDisasm : 1,
|
||||||
m_EnableRegisters:1,
|
m_EnableRegisters : 1,
|
||||||
m_EnableEvents :1; // Enables logging of event-driven activity -- counters, DMAs, etc.
|
m_EnableEvents : 1; // Enables logging of event-driven activity -- counters, DMAs, etc.
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
TraceFiltersEE()
|
TraceFiltersEE()
|
||||||
|
@ -131,14 +131,14 @@ struct TraceFiltersEE
|
||||||
bitset = 0;
|
bitset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator ==( const TraceFiltersEE& right ) const
|
bool operator==(const TraceFiltersEE& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset );
|
return OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const TraceFiltersEE& right ) const
|
bool operator!=(const TraceFiltersEE& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -149,10 +149,10 @@ struct TraceFiltersIOP
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
m_EnableAll :1, // Master Enable switch (if false, no logs at all)
|
m_EnableAll : 1, // Master Enable switch (if false, no logs at all)
|
||||||
m_EnableDisasm :1,
|
m_EnableDisasm : 1,
|
||||||
m_EnableRegisters:1,
|
m_EnableRegisters : 1,
|
||||||
m_EnableEvents :1; // Enables logging of event-driven activity -- counters, DMAs, etc.
|
m_EnableEvents : 1; // Enables logging of event-driven activity -- counters, DMAs, etc.
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
TraceFiltersIOP()
|
TraceFiltersIOP()
|
||||||
|
@ -160,14 +160,14 @@ struct TraceFiltersIOP
|
||||||
bitset = 0;
|
bitset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator ==( const TraceFiltersIOP& right ) const
|
bool operator==(const TraceFiltersIOP& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset );
|
return OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const TraceFiltersIOP& right ) const
|
bool operator!=(const TraceFiltersIOP& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -182,26 +182,26 @@ struct TraceLogFilters
|
||||||
// *very* high volume, and debug builds get noticably slower if they have to invoke
|
// *very* high volume, and debug builds get noticably slower if they have to invoke
|
||||||
// methods/accessors to test the log enable bits. Debug builds are slow enough already,
|
// methods/accessors to test the log enable bits. Debug builds are slow enough already,
|
||||||
// so I prefer this to help keep them usable.
|
// so I prefer this to help keep them usable.
|
||||||
bool Enabled;
|
bool Enabled;
|
||||||
|
|
||||||
TraceFiltersEE EE;
|
TraceFiltersEE EE;
|
||||||
TraceFiltersIOP IOP;
|
TraceFiltersIOP IOP;
|
||||||
|
|
||||||
TraceLogFilters()
|
TraceLogFilters()
|
||||||
{
|
{
|
||||||
Enabled = false;
|
Enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadSave( SettingsWrapper& ini );
|
void LoadSave(SettingsWrapper& ini);
|
||||||
|
|
||||||
bool operator ==( const TraceLogFilters& right ) const
|
bool operator==(const TraceLogFilters& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( Enabled ) && OpEqu( EE ) && OpEqu( IOP );
|
return OpEqu(Enabled) && OpEqu(EE) && OpEqu(IOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const TraceLogFilters& right ) const
|
bool operator!=(const TraceLogFilters& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -221,26 +221,29 @@ struct Pcsx2Config
|
||||||
struct ProfilerOptions
|
struct ProfilerOptions
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
Enabled:1, // universal toggle for the profiler.
|
Enabled : 1, // universal toggle for the profiler.
|
||||||
RecBlocks_EE:1, // Enables per-block profiling for the EE recompiler [unimplemented]
|
RecBlocks_EE : 1, // Enables per-block profiling for the EE recompiler [unimplemented]
|
||||||
RecBlocks_IOP:1, // Enables per-block profiling for the IOP recompiler [unimplemented]
|
RecBlocks_IOP : 1, // Enables per-block profiling for the IOP recompiler [unimplemented]
|
||||||
RecBlocks_VU0:1, // Enables per-block profiling for the VU0 recompiler [unimplemented]
|
RecBlocks_VU0 : 1, // Enables per-block profiling for the VU0 recompiler [unimplemented]
|
||||||
RecBlocks_VU1:1; // Enables per-block profiling for the VU1 recompiler [unimplemented]
|
RecBlocks_VU1 : 1; // Enables per-block profiling for the VU1 recompiler [unimplemented]
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
// Default is Disabled, with all recs enabled underneath.
|
// Default is Disabled, with all recs enabled underneath.
|
||||||
ProfilerOptions() : bitset( 0xfffffffe ) {}
|
ProfilerOptions()
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
: bitset(0xfffffffe)
|
||||||
|
|
||||||
bool operator ==( const ProfilerOptions& right ) const
|
|
||||||
{
|
{
|
||||||
return OpEqu( bitset );
|
}
|
||||||
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
|
|
||||||
|
bool operator==(const ProfilerOptions& right) const
|
||||||
|
{
|
||||||
|
return OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const ProfilerOptions& right ) const
|
bool operator!=(const ProfilerOptions& right) const
|
||||||
{
|
{
|
||||||
return !OpEqu( bitset );
|
return !OpEqu(bitset);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -248,46 +251,45 @@ struct Pcsx2Config
|
||||||
struct RecompilerOptions
|
struct RecompilerOptions
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
EnableEE :1,
|
EnableEE : 1,
|
||||||
EnableIOP :1,
|
EnableIOP : 1,
|
||||||
EnableVU0 :1,
|
EnableVU0 : 1,
|
||||||
EnableVU1 :1;
|
EnableVU1 : 1;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
vuOverflow :1,
|
vuOverflow : 1,
|
||||||
vuExtraOverflow :1,
|
vuExtraOverflow : 1,
|
||||||
vuSignOverflow :1,
|
vuSignOverflow : 1,
|
||||||
vuUnderflow :1;
|
vuUnderflow : 1;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
fpuOverflow :1,
|
fpuOverflow : 1,
|
||||||
fpuExtraOverflow:1,
|
fpuExtraOverflow : 1,
|
||||||
fpuFullMode :1;
|
fpuFullMode : 1;
|
||||||
|
|
||||||
bool
|
bool
|
||||||
StackFrameChecks:1,
|
StackFrameChecks : 1,
|
||||||
PreBlockCheckEE :1,
|
PreBlockCheckEE : 1,
|
||||||
PreBlockCheckIOP:1;
|
PreBlockCheckIOP : 1;
|
||||||
bool
|
bool
|
||||||
EnableEECache :1;
|
EnableEECache : 1;
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
RecompilerOptions();
|
RecompilerOptions();
|
||||||
void ApplySanityCheck();
|
void ApplySanityCheck();
|
||||||
|
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
|
|
||||||
bool operator ==( const RecompilerOptions& right ) const
|
bool operator==(const RecompilerOptions& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset );
|
return OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const RecompilerOptions& right ) const
|
bool operator!=(const RecompilerOptions& right) const
|
||||||
{
|
{
|
||||||
return !OpEqu( bitset );
|
return !OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
@ -299,39 +301,39 @@ struct Pcsx2Config
|
||||||
SSE_MXCSR sseVUMXCSR;
|
SSE_MXCSR sseVUMXCSR;
|
||||||
|
|
||||||
CpuOptions();
|
CpuOptions();
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
void ApplySanityCheck();
|
void ApplySanityCheck();
|
||||||
|
|
||||||
bool operator ==( const CpuOptions& right ) const
|
bool operator==(const CpuOptions& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( sseMXCSR ) && OpEqu( sseVUMXCSR ) && OpEqu( Recompiler );
|
return OpEqu(sseMXCSR) && OpEqu(sseVUMXCSR) && OpEqu(Recompiler);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const CpuOptions& right ) const
|
bool operator!=(const CpuOptions& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
struct GSOptions
|
struct GSOptions
|
||||||
{
|
{
|
||||||
int VsyncQueueSize{ 2 };
|
int VsyncQueueSize{2};
|
||||||
|
|
||||||
// forces the MTGS to execute tags/tasks in fully blocking/synchronous
|
// forces the MTGS to execute tags/tasks in fully blocking/synchronous
|
||||||
// style. Useful for debugging potential bugs in the MTGS pipeline.
|
// style. Useful for debugging potential bugs in the MTGS pipeline.
|
||||||
bool SynchronousMTGS{ false };
|
bool SynchronousMTGS{false};
|
||||||
bool FrameLimitEnable{ true };
|
bool FrameLimitEnable{true};
|
||||||
bool FrameSkipEnable{ false };
|
bool FrameSkipEnable{false};
|
||||||
|
|
||||||
VsyncMode VsyncEnable{ VsyncMode::Off };
|
VsyncMode VsyncEnable{VsyncMode::Off};
|
||||||
|
|
||||||
int FramesToDraw{ 2 }; // number of consecutive frames (fields) to render
|
int FramesToDraw{2}; // number of consecutive frames (fields) to render
|
||||||
int FramesToSkip{ 2 }; // number of consecutive frames (fields) to skip
|
int FramesToSkip{2}; // number of consecutive frames (fields) to skip
|
||||||
|
|
||||||
double LimitScalar{ 1.0 };
|
double LimitScalar{1.0};
|
||||||
double FramerateNTSC{ 59.94 };
|
double FramerateNTSC{59.94};
|
||||||
double FrameratePAL{ 50.00 };
|
double FrameratePAL{50.00};
|
||||||
|
|
||||||
AspectRatioType AspectRatio{AspectRatioType::R4_3};
|
AspectRatioType AspectRatio{AspectRatioType::R4_3};
|
||||||
FMVAspectRatioSwitchType FMVAspectRatioSwitch{FMVAspectRatioSwitchType::Off};
|
FMVAspectRatioSwitchType FMVAspectRatioSwitch{FMVAspectRatioSwitchType::Off};
|
||||||
|
@ -341,33 +343,31 @@ struct Pcsx2Config
|
||||||
double OffsetX{0.0};
|
double OffsetX{0.0};
|
||||||
double OffsetY{0.0};
|
double OffsetY{0.0};
|
||||||
|
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
|
|
||||||
int GetVsync() const;
|
int GetVsync() const;
|
||||||
|
|
||||||
bool operator ==( const GSOptions& right ) const
|
bool operator==(const GSOptions& right) const
|
||||||
{
|
{
|
||||||
return
|
return OpEqu(SynchronousMTGS) &&
|
||||||
OpEqu( SynchronousMTGS ) &&
|
OpEqu(VsyncQueueSize) &&
|
||||||
OpEqu( VsyncQueueSize ) &&
|
|
||||||
|
|
||||||
OpEqu( FrameSkipEnable ) &&
|
|
||||||
OpEqu( FrameLimitEnable ) &&
|
|
||||||
OpEqu( VsyncEnable ) &&
|
|
||||||
|
|
||||||
OpEqu( LimitScalar ) &&
|
OpEqu(FrameSkipEnable) &&
|
||||||
OpEqu( FramerateNTSC ) &&
|
OpEqu(FrameLimitEnable) &&
|
||||||
OpEqu( FrameratePAL ) &&
|
OpEqu(VsyncEnable) &&
|
||||||
|
|
||||||
OpEqu( FramesToDraw ) &&
|
OpEqu(LimitScalar) &&
|
||||||
OpEqu( FramesToSkip );
|
OpEqu(FramerateNTSC) &&
|
||||||
|
OpEqu(FrameratePAL) &&
|
||||||
|
|
||||||
|
OpEqu(FramesToDraw) &&
|
||||||
|
OpEqu(FramesToSkip);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const GSOptions& right ) const
|
bool operator!=(const GSOptions& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
@ -375,43 +375,43 @@ struct Pcsx2Config
|
||||||
struct GamefixOptions
|
struct GamefixOptions
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
FpuMulHack : 1, // Tales of Destiny hangs.
|
FpuMulHack : 1, // Tales of Destiny hangs.
|
||||||
FpuNegDivHack : 1, // Gundam games messed up camera-view.
|
FpuNegDivHack : 1, // Gundam games messed up camera-view.
|
||||||
GoemonTlbHack : 1, // Gomeon tlb miss hack. The game need to access unmapped virtual address. Instead to handle it as exception, tlb are preloaded at startup
|
GoemonTlbHack : 1, // Gomeon tlb miss hack. The game need to access unmapped virtual address. Instead to handle it as exception, tlb are preloaded at startup
|
||||||
SkipMPEGHack : 1, // Skips MPEG videos (Katamari and other games need this)
|
SkipMPEGHack : 1, // Skips MPEG videos (Katamari and other games need this)
|
||||||
OPHFlagHack : 1, // Bleach Blade Battlers
|
OPHFlagHack : 1, // Bleach Blade Battlers
|
||||||
EETimingHack : 1, // General purpose timing hack.
|
EETimingHack : 1, // General purpose timing hack.
|
||||||
DMABusyHack : 1, // Denies writes to the DMAC when it's busy. This is correct behaviour but bad timing can cause problems.
|
DMABusyHack : 1, // Denies writes to the DMAC when it's busy. This is correct behaviour but bad timing can cause problems.
|
||||||
GIFFIFOHack : 1, // Enabled the GIF FIFO (more correct but slower)
|
GIFFIFOHack : 1, // Enabled the GIF FIFO (more correct but slower)
|
||||||
VIFFIFOHack : 1, // Pretends to fill the non-existant VIF FIFO Buffer.
|
VIFFIFOHack : 1, // Pretends to fill the non-existant VIF FIFO Buffer.
|
||||||
VIF1StallHack : 1, // Like above, processes FIFO data before the stall is allowed (to make sure data goes over).
|
VIF1StallHack : 1, // Like above, processes FIFO data before the stall is allowed (to make sure data goes over).
|
||||||
VuAddSubHack : 1, // Tri-ace games, they use an encryption algorithm that requires VU ADDI opcode to be bit-accurate.
|
VuAddSubHack : 1, // Tri-ace games, they use an encryption algorithm that requires VU ADDI opcode to be bit-accurate.
|
||||||
IbitHack : 1, // I bit hack. Needed to stop constant VU recompilation in some games
|
IbitHack : 1, // I bit hack. Needed to stop constant VU recompilation in some games
|
||||||
VUKickstartHack : 1, // Gives new VU programs a slight head start and runs VU's ahead of EE to avoid VU register reading/writing issues
|
VUKickstartHack : 1, // Gives new VU programs a slight head start and runs VU's ahead of EE to avoid VU register reading/writing issues
|
||||||
VUOverflowHack : 1, // Tries to simulate overflow flag checks (not really possible on x86 without soft floats)
|
VUOverflowHack : 1, // Tries to simulate overflow flag checks (not really possible on x86 without soft floats)
|
||||||
XgKickHack : 1; // Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics, but breaks Tri-ace games and others.
|
XgKickHack : 1; // Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics, but breaks Tri-ace games and others.
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
GamefixOptions();
|
GamefixOptions();
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
GamefixOptions& DisableAll();
|
GamefixOptions& DisableAll();
|
||||||
|
|
||||||
void Set( const wxString& list, bool enabled=true );
|
void Set(const wxString& list, bool enabled = true);
|
||||||
void Clear( const wxString& list ) { Set( list, false ); }
|
void Clear(const wxString& list) { Set(list, false); }
|
||||||
|
|
||||||
bool Get( GamefixId id ) const;
|
bool Get(GamefixId id) const;
|
||||||
void Set( GamefixId id, bool enabled=true );
|
void Set(GamefixId id, bool enabled = true);
|
||||||
void Clear( GamefixId id ) { Set( id, false ); }
|
void Clear(GamefixId id) { Set(id, false); }
|
||||||
|
|
||||||
bool operator ==( const GamefixOptions& right ) const
|
bool operator==(const GamefixOptions& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset );
|
return OpEqu(bitset);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const GamefixOptions& right ) const
|
bool operator!=(const GamefixOptions& right) const
|
||||||
{
|
{
|
||||||
return !OpEqu( bitset );
|
return !OpEqu(bitset);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -419,17 +419,17 @@ struct Pcsx2Config
|
||||||
struct SpeedhackOptions
|
struct SpeedhackOptions
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
fastCDVD :1, // enables fast CDVD access
|
fastCDVD : 1, // enables fast CDVD access
|
||||||
IntcStat :1, // tells Pcsx2 to fast-forward through intc_stat waits.
|
IntcStat : 1, // tells Pcsx2 to fast-forward through intc_stat waits.
|
||||||
WaitLoop :1, // enables constant loop detection and fast-forwarding
|
WaitLoop : 1, // enables constant loop detection and fast-forwarding
|
||||||
vuFlagHack :1, // microVU specific flag hack
|
vuFlagHack : 1, // microVU specific flag hack
|
||||||
vuThread :1, // Enable Threaded VU1
|
vuThread : 1, // Enable Threaded VU1
|
||||||
vu1Instant :1; // Enable Instant VU1 (Without MTVU only)
|
vu1Instant : 1; // Enable Instant VU1 (Without MTVU only)
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
s8 EECycleRate; // EE cycle rate selector (1.0, 1.5, 2.0)
|
s8 EECycleRate; // EE cycle rate selector (1.0, 1.5, 2.0)
|
||||||
u8 EECycleSkip; // EE Cycle skip factor (0, 1, 2, or 3)
|
u8 EECycleSkip; // EE Cycle skip factor (0, 1, 2, or 3)
|
||||||
|
|
||||||
SpeedhackOptions();
|
SpeedhackOptions();
|
||||||
void LoadSave(SettingsWrapper& conf);
|
void LoadSave(SettingsWrapper& conf);
|
||||||
|
@ -437,24 +437,24 @@ struct Pcsx2Config
|
||||||
|
|
||||||
void Set(SpeedhackId id, bool enabled = true);
|
void Set(SpeedhackId id, bool enabled = true);
|
||||||
|
|
||||||
bool operator ==( const SpeedhackOptions& right ) const
|
bool operator==(const SpeedhackOptions& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset ) && OpEqu( EECycleRate ) && OpEqu( EECycleSkip );
|
return OpEqu(bitset) && OpEqu(EECycleRate) && OpEqu(EECycleSkip);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const SpeedhackOptions& right ) const
|
bool operator!=(const SpeedhackOptions& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct DebugOptions
|
struct DebugOptions
|
||||||
{
|
{
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
ShowDebuggerOnStart :1;
|
ShowDebuggerOnStart : 1;
|
||||||
bool
|
bool
|
||||||
AlignMemoryWindowStart :1;
|
AlignMemoryWindowStart : 1;
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
u8 FontWidth;
|
u8 FontWidth;
|
||||||
|
@ -464,17 +464,16 @@ struct Pcsx2Config
|
||||||
u32 MemoryViewBytesPerRow;
|
u32 MemoryViewBytesPerRow;
|
||||||
|
|
||||||
DebugOptions();
|
DebugOptions();
|
||||||
void LoadSave( SettingsWrapper& wrap);
|
void LoadSave(SettingsWrapper& wrap);
|
||||||
|
|
||||||
bool operator ==( const DebugOptions& right ) const
|
bool operator==(const DebugOptions& right) const
|
||||||
{
|
{
|
||||||
return OpEqu( bitset ) && OpEqu( FontWidth ) && OpEqu( FontHeight )
|
return OpEqu(bitset) && OpEqu(FontWidth) && OpEqu(FontHeight) && OpEqu(WindowWidth) && OpEqu(WindowHeight) && OpEqu(MemoryViewBytesPerRow);
|
||||||
&& OpEqu( WindowWidth ) && OpEqu( WindowHeight ) && OpEqu( MemoryViewBytesPerRow );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator !=( const DebugOptions& right ) const
|
bool operator!=(const DebugOptions& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -526,51 +525,51 @@ struct Pcsx2Config
|
||||||
//
|
//
|
||||||
struct McdOptions
|
struct McdOptions
|
||||||
{
|
{
|
||||||
std::string Filename; // user-configured location of this memory card
|
std::string Filename; // user-configured location of this memory card
|
||||||
bool Enabled; // memory card enabled (if false, memcard will not show up in-game)
|
bool Enabled; // memory card enabled (if false, memcard will not show up in-game)
|
||||||
MemoryCardType Type; // the memory card implementation that should be used
|
MemoryCardType Type; // the memory card implementation that should be used
|
||||||
};
|
};
|
||||||
|
|
||||||
BITFIELD32()
|
BITFIELD32()
|
||||||
bool
|
bool
|
||||||
CdvdVerboseReads :1, // enables cdvd read activity verbosely dumped to the console
|
CdvdVerboseReads : 1, // enables cdvd read activity verbosely dumped to the console
|
||||||
CdvdDumpBlocks :1, // enables cdvd block dumping
|
CdvdDumpBlocks : 1, // enables cdvd block dumping
|
||||||
CdvdShareWrite :1, // allows the iso to be modified while it's loaded
|
CdvdShareWrite : 1, // allows the iso to be modified while it's loaded
|
||||||
EnablePatches :1, // enables patch detection and application
|
EnablePatches : 1, // enables patch detection and application
|
||||||
EnableCheats :1, // enables cheat detection and application
|
EnableCheats : 1, // enables cheat detection and application
|
||||||
EnableIPC :1, // enables inter-process communication
|
EnableIPC : 1, // enables inter-process communication
|
||||||
EnableWideScreenPatches :1,
|
EnableWideScreenPatches : 1,
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
EnableRecordingTools :1,
|
EnableRecordingTools : 1,
|
||||||
#endif
|
#endif
|
||||||
// when enabled uses BOOT2 injection, skipping sony bios splashes
|
// when enabled uses BOOT2 injection, skipping sony bios splashes
|
||||||
UseBOOT2Injection :1,
|
UseBOOT2Injection : 1,
|
||||||
BackupSavestate :1,
|
BackupSavestate : 1,
|
||||||
// enables simulated ejection of memory cards when loading savestates
|
// enables simulated ejection of memory cards when loading savestates
|
||||||
McdEnableEjection :1,
|
McdEnableEjection : 1,
|
||||||
McdFolderAutoManage :1,
|
McdFolderAutoManage : 1,
|
||||||
|
|
||||||
MultitapPort0_Enabled:1,
|
MultitapPort0_Enabled : 1,
|
||||||
MultitapPort1_Enabled:1,
|
MultitapPort1_Enabled : 1,
|
||||||
|
|
||||||
ConsoleToStdio :1,
|
ConsoleToStdio : 1,
|
||||||
HostFs :1;
|
HostFs : 1;
|
||||||
|
|
||||||
// uses automatic ntfs compression when creating new memory cards (Win32 only)
|
// uses automatic ntfs compression when creating new memory cards (Win32 only)
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
bool McdCompressNTFS;
|
bool McdCompressNTFS;
|
||||||
#endif
|
#endif
|
||||||
BITFIELD_END
|
BITFIELD_END
|
||||||
|
|
||||||
CpuOptions Cpu;
|
CpuOptions Cpu;
|
||||||
GSOptions GS;
|
GSOptions GS;
|
||||||
SpeedhackOptions Speedhacks;
|
SpeedhackOptions Speedhacks;
|
||||||
GamefixOptions Gamefixes;
|
GamefixOptions Gamefixes;
|
||||||
ProfilerOptions Profiler;
|
ProfilerOptions Profiler;
|
||||||
DebugOptions Debugger;
|
DebugOptions Debugger;
|
||||||
FramerateOptions Framerate;
|
FramerateOptions Framerate;
|
||||||
|
|
||||||
TraceLogFilters Trace;
|
TraceLogFilters Trace;
|
||||||
|
|
||||||
FilenameOptions BaseFilenames;
|
FilenameOptions BaseFilenames;
|
||||||
|
|
||||||
|
@ -594,12 +593,12 @@ struct Pcsx2Config
|
||||||
wxString FullpathToBios() const;
|
wxString FullpathToBios() const;
|
||||||
wxString FullpathToMcd(uint slot) const;
|
wxString FullpathToMcd(uint slot) const;
|
||||||
|
|
||||||
bool MultitapEnabled( uint port ) const;
|
bool MultitapEnabled(uint port) const;
|
||||||
|
|
||||||
bool operator ==(const Pcsx2Config& right) const;
|
bool operator==(const Pcsx2Config& right) const;
|
||||||
bool operator !=( const Pcsx2Config& right ) const
|
bool operator!=(const Pcsx2Config& right) const
|
||||||
{
|
{
|
||||||
return !this->operator ==( right );
|
return !this->operator==(right);
|
||||||
}
|
}
|
||||||
|
|
||||||
// You shouldn't assign to this class, because it'll mess with the runtime variables (Current...).
|
// You shouldn't assign to this class, because it'll mess with the runtime variables (Current...).
|
||||||
|
@ -620,7 +619,7 @@ namespace EmuFolders
|
||||||
extern wxDirName Logs;
|
extern wxDirName Logs;
|
||||||
extern wxDirName Cheats;
|
extern wxDirName Cheats;
|
||||||
extern wxDirName CheatsWS;
|
extern wxDirName CheatsWS;
|
||||||
}
|
} // namespace EmuFolders
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Helper Macros for Reading Emu Configurations.
|
// Helper Macros for Reading Emu Configurations.
|
||||||
|
@ -628,42 +627,42 @@ namespace EmuFolders
|
||||||
|
|
||||||
// ------------ CPU / Recompiler Options ---------------
|
// ------------ CPU / Recompiler Options ---------------
|
||||||
|
|
||||||
#define THREAD_VU1 (EmuConfig.Cpu.Recompiler.EnableVU1 && EmuConfig.Speedhacks.vuThread)
|
#define THREAD_VU1 (EmuConfig.Cpu.Recompiler.EnableVU1 && EmuConfig.Speedhacks.vuThread)
|
||||||
#define INSTANT_VU1 (EmuConfig.Speedhacks.vu1Instant)
|
#define INSTANT_VU1 (EmuConfig.Speedhacks.vu1Instant)
|
||||||
#define CHECK_EEREC (EmuConfig.Cpu.Recompiler.EnableEE)
|
#define CHECK_EEREC (EmuConfig.Cpu.Recompiler.EnableEE)
|
||||||
#define CHECK_CACHE (EmuConfig.Cpu.Recompiler.EnableEECache)
|
#define CHECK_CACHE (EmuConfig.Cpu.Recompiler.EnableEECache)
|
||||||
#define CHECK_IOPREC (EmuConfig.Cpu.Recompiler.EnableIOP)
|
#define CHECK_IOPREC (EmuConfig.Cpu.Recompiler.EnableIOP)
|
||||||
|
|
||||||
//------------ SPECIAL GAME FIXES!!! ---------------
|
//------------ SPECIAL GAME FIXES!!! ---------------
|
||||||
#define CHECK_VUADDSUBHACK (EmuConfig.Gamefixes.VuAddSubHack) // Special Fix for Tri-ace games, they use an encryption algorithm that requires VU addi opcode to be bit-accurate.
|
#define CHECK_VUADDSUBHACK (EmuConfig.Gamefixes.VuAddSubHack) // Special Fix for Tri-ace games, they use an encryption algorithm that requires VU addi opcode to be bit-accurate.
|
||||||
#define CHECK_FPUMULHACK (EmuConfig.Gamefixes.FpuMulHack) // Special Fix for Tales of Destiny hangs.
|
#define CHECK_FPUMULHACK (EmuConfig.Gamefixes.FpuMulHack) // Special Fix for Tales of Destiny hangs.
|
||||||
#define CHECK_FPUNEGDIVHACK (EmuConfig.Gamefixes.FpuNegDivHack) // Special Fix for Gundam games messed up camera-view.
|
#define CHECK_FPUNEGDIVHACK (EmuConfig.Gamefixes.FpuNegDivHack) // Special Fix for Gundam games messed up camera-view.
|
||||||
#define CHECK_XGKICKHACK (EmuConfig.Gamefixes.XgKickHack) // Special Fix for Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics.
|
#define CHECK_XGKICKHACK (EmuConfig.Gamefixes.XgKickHack) // Special Fix for Erementar Gerad, adds more delay to VU XGkick instructions. Corrects the color of some graphics.
|
||||||
#define CHECK_EETIMINGHACK (EmuConfig.Gamefixes.EETimingHack) // Fix all scheduled events to happen in 1 cycle.
|
#define CHECK_EETIMINGHACK (EmuConfig.Gamefixes.EETimingHack) // Fix all scheduled events to happen in 1 cycle.
|
||||||
#define CHECK_SKIPMPEGHACK (EmuConfig.Gamefixes.SkipMPEGHack) // Finds sceMpegIsEnd pattern to tell the game the mpeg is finished (Katamari and a lot of games need this)
|
#define CHECK_SKIPMPEGHACK (EmuConfig.Gamefixes.SkipMPEGHack) // Finds sceMpegIsEnd pattern to tell the game the mpeg is finished (Katamari and a lot of games need this)
|
||||||
#define CHECK_OPHFLAGHACK (EmuConfig.Gamefixes.OPHFlagHack) // Bleach Blade Battlers
|
#define CHECK_OPHFLAGHACK (EmuConfig.Gamefixes.OPHFlagHack) // Bleach Blade Battlers
|
||||||
#define CHECK_DMABUSYHACK (EmuConfig.Gamefixes.DMABusyHack) // Denies writes to the DMAC when it's busy. This is correct behaviour but bad timing can cause problems.
|
#define CHECK_DMABUSYHACK (EmuConfig.Gamefixes.DMABusyHack) // Denies writes to the DMAC when it's busy. This is correct behaviour but bad timing can cause problems.
|
||||||
#define CHECK_VIFFIFOHACK (EmuConfig.Gamefixes.VIFFIFOHack) // Pretends to fill the non-existant VIF FIFO Buffer.
|
#define CHECK_VIFFIFOHACK (EmuConfig.Gamefixes.VIFFIFOHack) // Pretends to fill the non-existant VIF FIFO Buffer.
|
||||||
#define CHECK_VIF1STALLHACK (EmuConfig.Gamefixes.VIF1StallHack) // Like above, processes FIFO data before the stall is allowed (to make sure data goes over).
|
#define CHECK_VIF1STALLHACK (EmuConfig.Gamefixes.VIF1StallHack) // Like above, processes FIFO data before the stall is allowed (to make sure data goes over).
|
||||||
#define CHECK_GIFFIFOHACK (EmuConfig.Gamefixes.GIFFIFOHack) // Enabled the GIF FIFO (more correct but slower)
|
#define CHECK_GIFFIFOHACK (EmuConfig.Gamefixes.GIFFIFOHack) // Enabled the GIF FIFO (more correct but slower)
|
||||||
#define CHECK_VUOVERFLOWHACK (EmuConfig.Gamefixes.VUOverflowHack) // Special Fix for Superman Returns, they check for overflows on PS2 floats which we can't do without soft floats.
|
#define CHECK_VUOVERFLOWHACK (EmuConfig.Gamefixes.VUOverflowHack) // Special Fix for Superman Returns, they check for overflows on PS2 floats which we can't do without soft floats.
|
||||||
|
|
||||||
//------------ Advanced Options!!! ---------------
|
//------------ Advanced Options!!! ---------------
|
||||||
#define CHECK_VU_OVERFLOW (EmuConfig.Cpu.Recompiler.vuOverflow)
|
#define CHECK_VU_OVERFLOW (EmuConfig.Cpu.Recompiler.vuOverflow)
|
||||||
#define CHECK_VU_EXTRA_OVERFLOW (EmuConfig.Cpu.Recompiler.vuExtraOverflow) // If enabled, Operands are clamped before being used in the VU recs
|
#define CHECK_VU_EXTRA_OVERFLOW (EmuConfig.Cpu.Recompiler.vuExtraOverflow) // If enabled, Operands are clamped before being used in the VU recs
|
||||||
#define CHECK_VU_SIGN_OVERFLOW (EmuConfig.Cpu.Recompiler.vuSignOverflow)
|
#define CHECK_VU_SIGN_OVERFLOW (EmuConfig.Cpu.Recompiler.vuSignOverflow)
|
||||||
#define CHECK_VU_UNDERFLOW (EmuConfig.Cpu.Recompiler.vuUnderflow)
|
#define CHECK_VU_UNDERFLOW (EmuConfig.Cpu.Recompiler.vuUnderflow)
|
||||||
#define CHECK_VU_EXTRA_FLAGS 0 // Always disabled now // Sets correct flags in the sVU recs
|
#define CHECK_VU_EXTRA_FLAGS 0 // Always disabled now // Sets correct flags in the sVU recs
|
||||||
|
|
||||||
#define CHECK_FPU_OVERFLOW (EmuConfig.Cpu.Recompiler.fpuOverflow)
|
#define CHECK_FPU_OVERFLOW (EmuConfig.Cpu.Recompiler.fpuOverflow)
|
||||||
#define CHECK_FPU_EXTRA_OVERFLOW (EmuConfig.Cpu.Recompiler.fpuExtraOverflow) // If enabled, Operands are checked for infinities before being used in the FPU recs
|
#define CHECK_FPU_EXTRA_OVERFLOW (EmuConfig.Cpu.Recompiler.fpuExtraOverflow) // If enabled, Operands are checked for infinities before being used in the FPU recs
|
||||||
#define CHECK_FPU_EXTRA_FLAGS 1 // Always enabled now // Sets D/I flags on FPU instructions
|
#define CHECK_FPU_EXTRA_FLAGS 1 // Always enabled now // Sets D/I flags on FPU instructions
|
||||||
#define CHECK_FPU_FULL (EmuConfig.Cpu.Recompiler.fpuFullMode)
|
#define CHECK_FPU_FULL (EmuConfig.Cpu.Recompiler.fpuFullMode)
|
||||||
|
|
||||||
//------------ EE Recompiler defines - Comment to disable a recompiler ---------------
|
//------------ EE Recompiler defines - Comment to disable a recompiler ---------------
|
||||||
|
|
||||||
#define SHIFT_RECOMPILE // Speed majorly reduced if disabled
|
#define SHIFT_RECOMPILE // Speed majorly reduced if disabled
|
||||||
#define BRANCH_RECOMPILE // Speed extremely reduced if disabled - more then shift
|
#define BRANCH_RECOMPILE // Speed extremely reduced if disabled - more then shift
|
||||||
|
|
||||||
// Disabling all the recompilers in this block is interesting, as it still runs at a reasonable rate.
|
// Disabling all the recompilers in this block is interesting, as it still runs at a reasonable rate.
|
||||||
// It also adds a few glitches. Really reminds me of the old Linux 64-bit version. --arcum42
|
// It also adds a few glitches. Really reminds me of the old Linux 64-bit version. --arcum42
|
||||||
|
|
|
@ -243,7 +243,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
|
||||||
{
|
{
|
||||||
SettingsWrapSection("EmuCore/GS");
|
SettingsWrapSection("EmuCore/GS");
|
||||||
|
|
||||||
#ifdef PCSX2_DEVBUILD
|
#ifdef PCSX2_DEVBUILD
|
||||||
SettingsWrapEntry(SynchronousMTGS);
|
SettingsWrapEntry(SynchronousMTGS);
|
||||||
#endif
|
#endif
|
||||||
SettingsWrapEntry(VsyncQueueSize);
|
SettingsWrapEntry(VsyncQueueSize);
|
||||||
|
@ -304,26 +304,25 @@ int Pcsx2Config::GSOptions::GetVsync() const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const wxChar *const tbl_GamefixNames[] =
|
const wxChar* const tbl_GamefixNames[] =
|
||||||
{
|
{
|
||||||
L"FpuMul",
|
L"FpuMul",
|
||||||
L"FpuNegDiv",
|
L"FpuNegDiv",
|
||||||
L"GoemonTlb",
|
L"GoemonTlb",
|
||||||
L"SkipMPEG",
|
L"SkipMPEG",
|
||||||
L"OPHFlag",
|
L"OPHFlag",
|
||||||
L"EETiming",
|
L"EETiming",
|
||||||
L"DMABusy",
|
L"DMABusy",
|
||||||
L"GIFFIFO",
|
L"GIFFIFO",
|
||||||
L"VIFFIFO",
|
L"VIFFIFO",
|
||||||
L"VIF1Stall",
|
L"VIF1Stall",
|
||||||
L"VuAddSub",
|
L"VuAddSub",
|
||||||
L"Ibit",
|
L"Ibit",
|
||||||
L"VUKickstart",
|
L"VUKickstart",
|
||||||
L"VUOverflow",
|
L"VUOverflow",
|
||||||
L"XGKick"
|
L"XGKick"};
|
||||||
};
|
|
||||||
|
|
||||||
const __fi wxChar* EnumToString( GamefixId id )
|
const __fi wxChar* EnumToString(GamefixId id)
|
||||||
{
|
{
|
||||||
return tbl_GamefixNames[id];
|
return tbl_GamefixNames[id];
|
||||||
}
|
}
|
||||||
|
@ -369,22 +368,52 @@ void Pcsx2Config::GamefixOptions::Set(GamefixId id, bool enabled)
|
||||||
EnumAssert(id);
|
EnumAssert(id);
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case Fix_VuAddSub: VuAddSubHack = enabled; break;
|
case Fix_VuAddSub:
|
||||||
case Fix_FpuMultiply: FpuMulHack = enabled; break;
|
VuAddSubHack = enabled;
|
||||||
case Fix_FpuNegDiv: FpuNegDivHack = enabled; break;
|
break;
|
||||||
case Fix_XGKick: XgKickHack = enabled; break;
|
case Fix_FpuMultiply:
|
||||||
case Fix_EETiming: EETimingHack = enabled; break;
|
FpuMulHack = enabled;
|
||||||
case Fix_SkipMpeg: SkipMPEGHack = enabled; break;
|
break;
|
||||||
case Fix_OPHFlag: OPHFlagHack = enabled; break;
|
case Fix_FpuNegDiv:
|
||||||
case Fix_DMABusy: DMABusyHack = enabled; break;
|
FpuNegDivHack = enabled;
|
||||||
case Fix_VIFFIFO: VIFFIFOHack = enabled; break;
|
break;
|
||||||
case Fix_VIF1Stall: VIF1StallHack = enabled; break;
|
case Fix_XGKick:
|
||||||
case Fix_GIFFIFO: GIFFIFOHack = enabled; break;
|
XgKickHack = enabled;
|
||||||
case Fix_GoemonTlbMiss: GoemonTlbHack = enabled; break;
|
break;
|
||||||
case Fix_Ibit: IbitHack = enabled; break;
|
case Fix_EETiming:
|
||||||
case Fix_VUKickstart: VUKickstartHack = enabled; break;
|
EETimingHack = enabled;
|
||||||
case Fix_VUOverflow: VUOverflowHack = enabled; break;
|
break;
|
||||||
jNO_DEFAULT;
|
case Fix_SkipMpeg:
|
||||||
|
SkipMPEGHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_OPHFlag:
|
||||||
|
OPHFlagHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_DMABusy:
|
||||||
|
DMABusyHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_VIFFIFO:
|
||||||
|
VIFFIFOHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_VIF1Stall:
|
||||||
|
VIF1StallHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_GIFFIFO:
|
||||||
|
GIFFIFOHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_GoemonTlbMiss:
|
||||||
|
GoemonTlbHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_Ibit:
|
||||||
|
IbitHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_VUKickstart:
|
||||||
|
VUKickstartHack = enabled;
|
||||||
|
break;
|
||||||
|
case Fix_VUOverflow:
|
||||||
|
VUOverflowHack = enabled;
|
||||||
|
break;
|
||||||
|
jNO_DEFAULT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,22 +422,37 @@ bool Pcsx2Config::GamefixOptions::Get(GamefixId id) const
|
||||||
EnumAssert(id);
|
EnumAssert(id);
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case Fix_VuAddSub: return VuAddSubHack;
|
case Fix_VuAddSub:
|
||||||
case Fix_FpuMultiply: return FpuMulHack;
|
return VuAddSubHack;
|
||||||
case Fix_FpuNegDiv: return FpuNegDivHack;
|
case Fix_FpuMultiply:
|
||||||
case Fix_XGKick: return XgKickHack;
|
return FpuMulHack;
|
||||||
case Fix_EETiming: return EETimingHack;
|
case Fix_FpuNegDiv:
|
||||||
case Fix_SkipMpeg: return SkipMPEGHack;
|
return FpuNegDivHack;
|
||||||
case Fix_OPHFlag: return OPHFlagHack;
|
case Fix_XGKick:
|
||||||
case Fix_DMABusy: return DMABusyHack;
|
return XgKickHack;
|
||||||
case Fix_VIFFIFO: return VIFFIFOHack;
|
case Fix_EETiming:
|
||||||
case Fix_VIF1Stall: return VIF1StallHack;
|
return EETimingHack;
|
||||||
case Fix_GIFFIFO: return GIFFIFOHack;
|
case Fix_SkipMpeg:
|
||||||
case Fix_GoemonTlbMiss: return GoemonTlbHack;
|
return SkipMPEGHack;
|
||||||
case Fix_Ibit: return IbitHack;
|
case Fix_OPHFlag:
|
||||||
case Fix_VUKickstart: return VUKickstartHack;
|
return OPHFlagHack;
|
||||||
case Fix_VUOverflow: return VUOverflowHack;
|
case Fix_DMABusy:
|
||||||
jNO_DEFAULT;
|
return DMABusyHack;
|
||||||
|
case Fix_VIFFIFO:
|
||||||
|
return VIFFIFOHack;
|
||||||
|
case Fix_VIF1Stall:
|
||||||
|
return VIF1StallHack;
|
||||||
|
case Fix_GIFFIFO:
|
||||||
|
return GIFFIFOHack;
|
||||||
|
case Fix_GoemonTlbMiss:
|
||||||
|
return GoemonTlbHack;
|
||||||
|
case Fix_Ibit:
|
||||||
|
return IbitHack;
|
||||||
|
case Fix_VUKickstart:
|
||||||
|
return VUKickstartHack;
|
||||||
|
case Fix_VUOverflow:
|
||||||
|
return VUOverflowHack;
|
||||||
|
jNO_DEFAULT;
|
||||||
}
|
}
|
||||||
return false; // unreachable, but we still need to suppress warnings >_<
|
return false; // unreachable, but we still need to suppress warnings >_<
|
||||||
}
|
}
|
||||||
|
@ -417,21 +461,21 @@ void Pcsx2Config::GamefixOptions::LoadSave(SettingsWrapper& wrap)
|
||||||
{
|
{
|
||||||
SettingsWrapSection("EmuCore/Gamefixes");
|
SettingsWrapSection("EmuCore/Gamefixes");
|
||||||
|
|
||||||
SettingsWrapBitBool( VuAddSubHack );
|
SettingsWrapBitBool(VuAddSubHack);
|
||||||
SettingsWrapBitBool( FpuMulHack );
|
SettingsWrapBitBool(FpuMulHack);
|
||||||
SettingsWrapBitBool( FpuNegDivHack );
|
SettingsWrapBitBool(FpuNegDivHack);
|
||||||
SettingsWrapBitBool( XgKickHack );
|
SettingsWrapBitBool(XgKickHack);
|
||||||
SettingsWrapBitBool( EETimingHack );
|
SettingsWrapBitBool(EETimingHack);
|
||||||
SettingsWrapBitBool( SkipMPEGHack );
|
SettingsWrapBitBool(SkipMPEGHack);
|
||||||
SettingsWrapBitBool( OPHFlagHack );
|
SettingsWrapBitBool(OPHFlagHack);
|
||||||
SettingsWrapBitBool( DMABusyHack );
|
SettingsWrapBitBool(DMABusyHack);
|
||||||
SettingsWrapBitBool( VIFFIFOHack );
|
SettingsWrapBitBool(VIFFIFOHack);
|
||||||
SettingsWrapBitBool( VIF1StallHack );
|
SettingsWrapBitBool(VIF1StallHack);
|
||||||
SettingsWrapBitBool( GIFFIFOHack );
|
SettingsWrapBitBool(GIFFIFOHack);
|
||||||
SettingsWrapBitBool( GoemonTlbHack );
|
SettingsWrapBitBool(GoemonTlbHack);
|
||||||
SettingsWrapBitBool( IbitHack );
|
SettingsWrapBitBool(IbitHack);
|
||||||
SettingsWrapBitBool( VUKickstartHack );
|
SettingsWrapBitBool(VUKickstartHack);
|
||||||
SettingsWrapBitBool( VUOverflowHack );
|
SettingsWrapBitBool(VUOverflowHack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue