Fix connecting Wii remotes on boot

The recent IOS initialization changes caused the Bluetooth device to
no longer exist before "starting" IOS (as it should be…), which meant
that Core could not activate Wii remotes during the boot process
anymore.

But that is actually completely useless, because we can just have the
emulated Bluetooth code itself activate Wii remotes as appropriate,
at the right moment.
This commit is contained in:
Léo Lam 2017-02-10 19:03:19 +01:00
parent 2cad67952d
commit c14becd575
2 changed files with 1 additions and 12 deletions

View file

@ -55,8 +55,6 @@
#include "Core/HW/VideoInterface.h"
#include "Core/HW/Wiimote.h"
#include "Core/IOS/IPC.h"
#include "Core/IOS/USB/Bluetooth/BTEmu.h"
#include "Core/IOS/USB/Bluetooth/WiimoteDevice.h"
#include "Core/Movie.h"
#include "Core/NetPlayClient.h"
#include "Core/NetPlayProto.h"
@ -526,13 +524,6 @@ void EmuThread()
Wiimote::InitializeMode::DO_NOT_WAIT_FOR_WIIMOTES);
else
Wiimote::LoadConfig();
// Activate Wiimotes which don't have source set to "None"
const auto bt = std::static_pointer_cast<IOS::HLE::Device::BluetoothEmu>(
IOS::HLE::GetDeviceByName("/dev/usb/oh1/57e/305"));
for (unsigned int i = 0; i != MAX_BBMOTES; ++i)
if (g_wiimote_sources[i] && bt)
bt->AccessWiiMote(i | 0x100)->Activate(true);
}
AudioCommon::InitSoundStream();

View file

@ -47,8 +47,6 @@ BluetoothEmu::BluetoothEmu(u32 device_id, const std::string& device_name)
if (!Core::g_want_determinism)
BackUpBTInfoSection(&sysconf);
// Activate only first Wii Remote by default
_conf_pads BT_DINF;
if (!sysconf.GetArrayData("BT.DINF", (u8*)&BT_DINF, sizeof(_conf_pads)))
{
@ -78,7 +76,7 @@ BluetoothEmu::BluetoothEmu(u32 device_id, const std::string& device_name)
DEBUG_LOG(IOS_WIIMOTE, "Wii Remote %d BT ID %x,%x,%x,%x,%x,%x", i, tmpBD.b[0], tmpBD.b[1],
tmpBD.b[2], tmpBD.b[3], tmpBD.b[4], tmpBD.b[5]);
m_WiiMotes.emplace_back(this, i, tmpBD, false);
m_WiiMotes.emplace_back(this, i, tmpBD, g_wiimote_sources[i] != WIIMOTE_SRC_NONE);
i++;
}