clang-format Config.h and Pcsx2Config.cpp

This commit is contained in:
Connor McLaughlin 2021-10-05 11:59:03 +10:00 committed by refractionpcsx2
parent 3c522a0e60
commit d440360906
2 changed files with 323 additions and 280 deletions

View File

@ -106,8 +106,8 @@ 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"
@ -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);
} }
}; };
@ -192,16 +192,16 @@ struct 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);
} }
}; };
@ -222,25 +222,28 @@ struct Pcsx2Config
{ {
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);
} }
}; };
@ -249,45 +252,44 @@ struct Pcsx2Config
{ {
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(FrameSkipEnable) &&
OpEqu( FrameLimitEnable ) && OpEqu(FrameLimitEnable) &&
OpEqu( VsyncEnable ) && OpEqu(VsyncEnable) &&
OpEqu( LimitScalar ) && OpEqu(LimitScalar) &&
OpEqu( FramerateNTSC ) && OpEqu(FramerateNTSC) &&
OpEqu( FrameratePAL ) && OpEqu(FrameratePAL) &&
OpEqu( FramesToDraw ) && OpEqu(FramesToDraw) &&
OpEqu( FramesToSkip ); OpEqu(FramesToSkip);
} }
bool operator !=( const GSOptions& right ) const bool operator!=(const GSOptions& right) const
{ {
return !this->operator ==( right ); return !this->operator==(right);
} }
}; };
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
@ -394,24 +394,24 @@ struct Pcsx2Config
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);
} }
}; };
@ -420,12 +420,12 @@ struct Pcsx2Config
{ {
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)
@ -437,14 +437,14 @@ 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);
} }
}; };
@ -452,9 +452,9 @@ struct Pcsx2Config
{ {
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);
} }
}; };
@ -533,28 +532,28 @@ struct Pcsx2Config
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__
@ -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.

View File

@ -304,8 +304,8 @@ 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",
@ -320,10 +320,9 @@ const wxChar *const tbl_GamefixNames[] =
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,21 +368,51 @@ 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;
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; jNO_DEFAULT;
} }
} }
@ -393,21 +422,36 @@ 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:
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; 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);
} }