[Core] Better updating of controller in sync core

This commit is contained in:
zilmar 2022-04-11 09:26:11 +09:30
parent 075e3ab3c2
commit d976aaf22b
2 changed files with 7 additions and 1 deletions

View File

@ -54,6 +54,7 @@ CN64System::CN64System(CPlugins * Plugins, uint32_t randomizer_seed, bool SavesR
{
WriteTrace(TraceN64System, TraceDebug, "Start");
memset(m_LastSuccessSyncPC, 0, sizeof(m_LastSuccessSyncPC));
memset(m_Buttons, 0, sizeof(m_Buttons));
uint32_t gameHertz = g_Settings->LoadDword(Game_ScreenHertz);
if (gameHertz == 0)
@ -2475,7 +2476,7 @@ void CN64System::RefreshScreen()
for (int Control = 0; Control < 4; Control++)
{
m_Plugins->Control()->GetKeys(Control, &Keys);
m_Buttons[Control] = Keys.Value;
m_Buttons[Control] = m_SyncSystem ? g_BaseSystem->m_Buttons[Control] : Keys.Value;
}
}

View File

@ -1,5 +1,6 @@
#include "stdafx.h"
#include "N64SystemSettings.h"
#include <Project64-core/N64System/N64Types.h>
int32_t CN64SystemSettings::m_RefCount = 0;
@ -46,4 +47,8 @@ void CN64SystemSettings::RefreshSettings(void *)
m_bShowDListAListCount = g_Settings->LoadBool(Debugger_ShowDListAListCount);
m_bLimitFPS = g_Settings->LoadBool(GameRunning_LimitFPS);
m_UpdateControllerOnRefresh = g_Settings->LoadBool(Setting_UpdateControllerOnRefresh);
if (g_Settings->LoadDword(Game_CpuType) == CPU_SyncCores)
{
m_UpdateControllerOnRefresh = true;
}
}