[Project64] Skip frozen Dlist only in HLE gfx
This commit is contained in:
parent
1b699418f4
commit
c428d71e75
|
@ -1982,7 +1982,7 @@ void CN64System::RunRSP()
|
|||
if (m_RspBroke)
|
||||
{
|
||||
g_MMU->LW_VAddr(0xA4000FC0, Task);
|
||||
if (Task == 1 && (m_Reg.DPC_STATUS_REG & DPC_STATUS_FREEZE) != 0)
|
||||
if (Task == 1 && UseHleGfx() && (m_Reg.DPC_STATUS_REG & DPC_STATUS_FREEZE) != 0)
|
||||
{
|
||||
WriteTrace(TraceRSP, TraceDebug, "Dlist that is frozen");
|
||||
return;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <Project64-core/N64System/N64Class.h>
|
||||
#include <Project64-core/Settings/GameSettings.h>
|
||||
|
||||
bool CGameSettings::m_UseHleGfx = true;
|
||||
bool CGameSettings::m_bSMM_StoreInstruc;
|
||||
bool CGameSettings::m_bSMM_Protect;
|
||||
bool CGameSettings::m_bSMM_ValidFunc;
|
||||
|
@ -42,6 +43,7 @@ uint32_t CGameSettings::m_OverClockModifier = 1;
|
|||
void CGameSettings::RefreshGameSettings()
|
||||
{
|
||||
WriteTrace(TraceN64System, TraceDebug, "start");
|
||||
m_UseHleGfx = g_Settings->LoadBool(Game_UseHleGfx);
|
||||
m_bSMM_StoreInstruc = false /*g_Settings->LoadBool(Game_SMM_StoreInstruc)*/;
|
||||
m_bSMM_Protect = g_Settings->LoadBool(Game_SMM_Protect);
|
||||
m_bSMM_ValidFunc = g_Settings->LoadBool(Game_SMM_ValidFunc);
|
||||
|
|
|
@ -17,6 +17,7 @@ class CGameSettings
|
|||
public:
|
||||
void RefreshGameSettings(void);
|
||||
|
||||
inline static bool UseHleGfx(void) { return m_UseHleGfx; }
|
||||
inline static bool bRomInMemory(void) { return m_bRomInMemory; }
|
||||
inline static bool bRegCaching(void) { return m_RegCaching; }
|
||||
inline static bool bLinkBlocks(void) { return m_bLinkBlocks; }
|
||||
|
@ -47,6 +48,7 @@ protected:
|
|||
|
||||
private:
|
||||
//Settings that can be changed on the fly
|
||||
static bool m_UseHleGfx;
|
||||
static bool m_bRomInMemory;
|
||||
static bool m_RegCaching;
|
||||
static bool m_bLinkBlocks;
|
||||
|
|
Loading…
Reference in New Issue