summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/GCAdapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/InputCommon/GCAdapter.cpp')
-rw-r--r--Source/Core/InputCommon/GCAdapter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/GCAdapter.cpp b/Source/Core/InputCommon/GCAdapter.cpp
index eceed1ed0b..df71a8d846 100644
--- a/Source/Core/InputCommon/GCAdapter.cpp
+++ b/Source/Core/InputCommon/GCAdapter.cpp
@@ -12,6 +12,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/CoreTiming.h"
+#include "Core/NetPlayProto.h"
#include "Core/HW/SI.h"
#include "Core/HW/SystemTimers.h"
@@ -417,8 +418,11 @@ void Input(int chan, GCPadStatus* pad)
pad->triggerLeft = controller_payload_copy[1 + (9 * chan) + 7];
pad->triggerRight = controller_payload_copy[1 + (9 * chan) + 8];
}
- else
+ else if (!NetPlay::IsNetPlayRunning())
{
+ // This is a hack to prevent a netplay desync due to SI devices
+ // being different and returning different values.
+ // The corresponding code in DeviceGCAdapter has the same check
pad->button = PAD_ERR_STATUS;
}
}