project64/Source/Project64-core/Settings/GameSettings.h

173 lines
4.1 KiB
C
Raw Normal View History

2016-01-27 09:11:59 +00:00
#pragma once
#include <Project64-core/N64System/N64Types.h>
#include <Project64-core/Settings/DebugSettings.h>
2016-01-27 09:11:59 +00:00
class CGameSettings
{
public:
CGameSettings();
virtual ~CGameSettings();
2016-01-27 09:11:59 +00:00
void RefreshGameSettings(void);
2022-10-10 00:22:17 +00:00
inline static bool UseHleGfx(void)
{
return m_UseHleGfx;
}
inline static bool bRegCaching(void)
{
return m_RegCaching;
}
inline static bool bLinkBlocks(void)
{
return m_bLinkBlocks && !CDebugSettings::HaveWriteBP() && !CDebugSettings::HaveReadBP();
}
inline static FUNC_LOOKUP_METHOD LookUpMode(void)
{
return (FUNC_LOOKUP_METHOD)m_LookUpMode;
}
inline static uint32_t CountPerOp(void)
{
return m_CountPerOp;
}
inline static uint32_t ViRefreshRate(void)
{
return m_ViRefreshRate;
}
inline static uint32_t AiCountPerBytes(void)
{
return m_AiCountPerBytes;
}
inline static bool bDelayDP(void)
{
return m_DelayDP;
}
inline static bool bDelaySI(void)
{
return m_DelaySI;
}
inline static bool bRandomizeSIPIInterrupts(void)
{
return m_bRandomizeSIPIInterrupts;
}
inline static uint32_t RdramSize(void)
{
return m_RdramSize;
}
inline static bool bFixedAudio(void)
{
return m_bFixedAudio;
}
inline static bool bSyncToAudio(void)
{
return m_bSyncToAudio;
}
inline static bool FullSpeed(void)
{
return m_FullSpeed;
}
inline static bool bFastSP(void)
{
return m_bFastSP;
}
inline static bool b32BitCore(void)
{
return m_b32Bit;
}
inline static bool RspAudioSignal(void)
{
return m_RspAudioSignal;
}
inline static bool bSMM_StoreInstruc(void)
{
return m_bSMM_StoreInstruc;
}
inline static bool bSMM_Protect(void)
{
return m_bSMM_Protect;
}
inline static bool bSMM_ValidFunc(void)
{
return m_bSMM_ValidFunc;
}
inline static bool bSMM_PIDMA(void)
{
return m_bSMM_PIDMA;
}
inline static bool bSMM_TLB(void)
{
return m_bSMM_TLB;
}
inline static SYSTEM_TYPE SystemType(void)
{
return m_SystemType;
}
inline static CPU_TYPE CpuType(void)
{
return m_CpuType;
}
inline static uint32_t OverClockModifier(void)
{
return m_OverClockModifier;
}
inline static DISK_SEEK_TYPE DiskSeekTimingType(void)
{
return m_DiskSeekTimingType;
};
inline static bool EnableDisk(void)
{
return m_EnableDisk;
}
inline static bool UnalignedDMA(void)
{
return m_UnalignedDMA;
}
2022-10-10 00:22:17 +00:00
void RefreshSyncToAudio(void);
2021-03-10 07:39:01 +00:00
static void SetOverClockModifier(bool EnhancmentOverClock, uint32_t EnhancmentOverClockModifier);
2018-12-20 10:19:14 +00:00
2016-01-27 09:11:59 +00:00
protected:
static void SpeedChanged(int32_t SpeedLimit);
static void EnableDiskChanged(void);
2016-01-27 09:11:59 +00:00
private:
2022-10-10 00:22:17 +00:00
CGameSettings(const CGameSettings &);
CGameSettings & operator=(const CGameSettings &);
static void EnableDiskChanged(void *);
// Settings that can be changed on the fly
static bool m_UseHleGfx;
static bool m_RegCaching;
static bool m_bLinkBlocks;
2016-01-27 09:11:59 +00:00
static uint32_t m_LookUpMode; //FUNC_LOOKUP_METHOD
static uint32_t m_CountPerOp;
static uint32_t m_ViRefreshRate;
static uint32_t m_AiCountPerBytes;
static bool m_DelayDP;
static bool m_DelaySI;
static bool m_bRandomizeSIPIInterrupts;
2016-01-27 09:11:59 +00:00
static uint32_t m_RdramSize;
static bool m_bFixedAudio;
static bool m_bSyncToAudio;
2017-09-28 11:43:58 +00:00
static bool m_FullSpeed;
static bool m_bFastSP;
static bool m_b32Bit;
static bool m_RspAudioSignal;
static bool m_bSMM_StoreInstruc;
static bool m_bSMM_Protect;
static bool m_bSMM_ValidFunc;
static bool m_bSMM_PIDMA;
static bool m_bSMM_TLB;
2016-01-27 09:11:59 +00:00
static SYSTEM_TYPE m_SystemType;
static CPU_TYPE m_CpuType;
static uint32_t m_OverClockModifier;
static DISK_SEEK_TYPE m_DiskSeekTimingType;
2021-03-10 07:39:01 +00:00
static bool m_EnhancmentOverClock;
static uint32_t m_EnhancmentOverClockModifier;
static bool m_EnableDisk;
static bool m_UnalignedDMA;
static int32_t m_RefCount;
2016-01-27 09:11:59 +00:00
};