From e4d71f36b1b7fb55f568266eb63a7fb1263b83c4 Mon Sep 17 00:00:00 2001 From: Rachel Bryk Date: Mon, 22 Sep 2014 11:45:54 -0400 Subject: [PATCH] Make input display work properly with netplay. --- Source/Core/Core/HW/SI.cpp | 8 ++++++++ Source/Core/Core/HW/SI.h | 2 ++ Source/Core/Core/Movie.cpp | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/HW/SI.cpp b/Source/Core/Core/HW/SI.cpp index b18a6bf201..610c1faaaa 100644 --- a/Source/Core/Core/HW/SI.cpp +++ b/Source/Core/Core/HW/SI.cpp @@ -502,6 +502,14 @@ void UpdateDevices() UpdateInterrupts(); } +SIDevices GetDeviceType(int channel) +{ + if (channel < 0 || channel > 4) + return SIDEVICE_NONE; + else + return g_Channel[channel].m_pDevice->GetDeviceType(); +} + void RunSIBuffer() { // Math inLength diff --git a/Source/Core/Core/HW/SI.h b/Source/Core/Core/HW/SI.h index 7a3170a9a2..2e06b269a1 100644 --- a/Source/Core/Core/HW/SI.h +++ b/Source/Core/Core/HW/SI.h @@ -35,6 +35,8 @@ void AddDevice(ISIDevice* pDevice); void ChangeDeviceCallback(u64 userdata, int cyclesLate); void ChangeDevice(SIDevices device, int channel); +SIDevices GetDeviceType(int channel); + int GetTicksToNextSIPoll(); } // end of namespace SerialInterface diff --git a/Source/Core/Core/Movie.cpp b/Source/Core/Core/Movie.cpp index 98e8e49a39..5cba50a883 100644 --- a/Source/Core/Core/Movie.cpp +++ b/Source/Core/Core/Movie.cpp @@ -117,7 +117,7 @@ std::string GetInputDisplay() s_numPads = 0; for (int i = 0; i < 4; ++i) { - if (SConfig::GetInstance().m_SIDevice[i] == SIDEVICE_GC_CONTROLLER || SConfig::GetInstance().m_SIDevice[i] == SIDEVICE_GC_TARUKONGA) + if (SerialInterface::GetDeviceType(i) != SIDEVICE_NONE) s_numPads |= (1 << i); if (g_wiimote_sources[i] != WIIMOTE_SRC_NONE) s_numPads |= (1 << (i + 4));