Merge pull request #3802 from mathieui/netplay-disable-wiimotes-for-real-i-swear

Disable wiimotes on game start if running in netplay
This commit is contained in:
Markus Wick 2016-05-20 12:38:21 +02:00
commit ca728d792a
1 changed files with 24 additions and 0 deletions

View File

@ -17,10 +17,12 @@
#include "Core/HW/SI_DeviceGCController.h"
#include "Core/HW/Sram.h"
#include "Core/HW/WiimoteEmu/WiimoteEmu.h"
#include "Core/HW/WiimoteReal/WiimoteReal.h"
#include "Core/IPC_HLE/WII_IPC_HLE_Device_usb.h"
static std::mutex crit_netplay_client;
static NetPlayClient * netplay_client = nullptr;
static std::array<int, 4> s_wiimote_sources_cache;
NetSettings g_NetPlaySettings;
// called from ---GUI--- thread
@ -724,6 +726,17 @@ bool NetPlayClient::StartGame(const std::string &path)
m_dialog->BootGame(path);
// Disable wiimotes on game start
// TODO: remove this when re-implementing wiimote netplay
if (SConfig::GetInstance().bWii)
{
for (unsigned int i = 0; i < 4; ++i)
{
s_wiimote_sources_cache[i] = g_wiimote_sources[i];
WiimoteReal::ChangeWiimoteSource(i, WIIMOTE_SRC_NONE);
}
}
UpdateDevices();
return true;
@ -1018,6 +1031,17 @@ bool NetPlayClient::StopGame()
// stop game
m_dialog->StopGame();
// Restore wiimote settings on game stop
// TODO: remove this when re-implementing wiimote netplay
if (SConfig::GetInstance().bWii)
{
for (unsigned int i = 0; i < 4; ++i)
{
g_wiimote_sources[i] = s_wiimote_sources_cache[i];
WiimoteReal::ChangeWiimoteSource(i, s_wiimote_sources_cache[i]);
}
}
return true;
}