diff --git a/Source/Core/Core/Src/BootManager.cpp b/Source/Core/Core/Src/BootManager.cpp index c4bf6d485a..6454df49d5 100644 --- a/Source/Core/Core/Src/BootManager.cpp +++ b/Source/Core/Core/Src/BootManager.cpp @@ -140,6 +140,7 @@ bool BootCore(const std::string& _rFilename) if (NetPlay::IsNetPlayRunning()) { + StartUp.bCPUThread = g_NetPlaySettings.m_CPUthread; StartUp.bDSPHLE = g_NetPlaySettings.m_DSPHLE; StartUp.bEnableMemcardSaving = g_NetPlaySettings.m_WriteToMemcard; SConfig::GetInstance().m_EnableJIT = g_NetPlaySettings.m_DSPEnableJIT; diff --git a/Source/Core/Core/Src/HW/SI.cpp b/Source/Core/Core/Src/HW/SI.cpp index ebd839a8bf..9142919346 100644 --- a/Source/Core/Core/Src/HW/SI.cpp +++ b/Source/Core/Core/Src/HW/SI.cpp @@ -644,10 +644,12 @@ void RunSIBuffer() int GetTicksToNextSIPoll() { // Poll for input at regular intervals (once per frame) when playing or recording a movie - if (Movie::IsPlayingInput() || Movie::IsRecordingInput() || NetPlay::IsNetPlayRunning()) + if (Movie::IsPlayingInput() || Movie::IsRecordingInput()) { return SystemTimers::GetTicksPerSecond() / VideoInterface::TargetRefreshRate; } + if (NetPlay::IsNetPlayRunning()) + return SystemTimers::GetTicksPerSecond() / VideoInterface::TargetRefreshRate / 2; if (!g_Poll.Y && g_Poll.X) return VideoInterface::GetTicksPerLine() * g_Poll.X; diff --git a/Source/Core/Core/Src/NetPlayClient.cpp b/Source/Core/Core/Src/NetPlayClient.cpp index e10cc25186..33f31a1815 100644 --- a/Source/Core/Core/Src/NetPlayClient.cpp +++ b/Source/Core/Core/Src/NetPlayClient.cpp @@ -253,6 +253,7 @@ unsigned int NetPlayClient::OnData(sf::Packet& packet) { std::lock_guard lkg(m_crit.game); packet >> m_current_game; + packet >> g_NetPlaySettings.m_CPUthread; packet >> g_NetPlaySettings.m_DSPEnableJIT; packet >> g_NetPlaySettings.m_DSPHLE; packet >> g_NetPlaySettings.m_WriteToMemcard; diff --git a/Source/Core/Core/Src/NetPlayProto.h b/Source/Core/Core/Src/NetPlayProto.h index 84e2b420fd..220195b3da 100644 --- a/Source/Core/Core/Src/NetPlayProto.h +++ b/Source/Core/Core/Src/NetPlayProto.h @@ -10,6 +10,7 @@ struct NetSettings { + bool m_CPUthread; bool m_DSPHLE; bool m_DSPEnableJIT; bool m_WriteToMemcard; diff --git a/Source/Core/Core/Src/NetPlayServer.cpp b/Source/Core/Core/Src/NetPlayServer.cpp index eaf02ea2c8..e6a96e8700 100644 --- a/Source/Core/Core/Src/NetPlayServer.cpp +++ b/Source/Core/Core/Src/NetPlayServer.cpp @@ -554,6 +554,7 @@ bool NetPlayServer::StartGame(const std::string &path) sf::Packet spac; spac << (MessageId)NP_MSG_START_GAME; spac << m_current_game; + spac << m_settings.m_CPUthread; spac << m_settings.m_DSPEnableJIT; spac << m_settings.m_DSPHLE; spac << m_settings.m_WriteToMemcard;