diff --git a/Source/Core/Core/Src/HW/SI.cpp b/Source/Core/Core/Src/HW/SI.cpp index 5d34cef284..738b97917d 100644 --- a/Source/Core/Core/Src/HW/SI.cpp +++ b/Source/Core/Core/Src/HW/SI.cpp @@ -262,6 +262,8 @@ void Init() if (Movie::IsRecordingInput() || Movie::IsPlayingInput()) AddDevice(Movie::IsUsingPad(i) ? (Movie::IsUsingBongo(i) ? SIDEVICE_GC_TARUKONGA : SIDEVICE_GC_CONTROLLER) : SIDEVICE_NONE, i); + else if (NetPlay::GetNetPlayPtr()) + AddDevice(NetPlay::IsUsingPad(i) ? SIDEVICE_GC_CONTROLLER : SIDEVICE_NONE, i); else AddDevice(SConfig::GetInstance().m_SIDevice[i], i); } diff --git a/Source/Core/Core/Src/NetPlay.cpp b/Source/Core/Core/Src/NetPlay.cpp index 56944dec00..de788d7657 100644 --- a/Source/Core/Core/Src/NetPlay.cpp +++ b/Source/Core/Core/Src/NetPlay.cpp @@ -391,3 +391,8 @@ NetPlay* NetPlay::GetNetPlayPtr() { return netplay_ptr; } + +bool NetPlay::IsUsingPad(int pad) +{ + return netplay_ptr->m_local_player->pad_map[pad] != -1; +} \ No newline at end of file diff --git a/Source/Core/Core/Src/NetPlay.h b/Source/Core/Core/Src/NetPlay.h index 05d999e604..0ea5cb1b3f 100644 --- a/Source/Core/Core/Src/NetPlay.h +++ b/Source/Core/Core/Src/NetPlay.h @@ -120,6 +120,7 @@ public: u8 GetPadNum(u8 numPAD); static NetPlay* GetNetPlayPtr(); + static bool IsUsingPad(int pad); protected: //void GetBufferedPad(const u8 pad_nb, NetPad* const netvalues);