From a23609562dde3fba5d39406d5eb2c2e470a8866d Mon Sep 17 00:00:00 2001
From: Pokechu22 <Pokechu022@gmail.com>
Date: Sun, 10 Nov 2019 12:55:29 -0800
Subject: [PATCH] Replace magic disconnect channel number with a constant

---
 Source/Core/Core/HW/Wiimote.h                        | 2 ++
 Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp        | 2 +-
 Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp      | 2 +-
 Source/Core/Core/IOS/USB/Bluetooth/WiimoteDevice.cpp | 3 ++-
 4 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Source/Core/Core/HW/Wiimote.h b/Source/Core/Core/HW/Wiimote.h
index 0d23637563..10c953484e 100644
--- a/Source/Core/Core/HW/Wiimote.h
+++ b/Source/Core/Core/HW/Wiimote.h
@@ -63,6 +63,8 @@ enum class InitializeMode
 
 // The Real Wii Remote sends report every ~5ms (200 Hz).
 constexpr int UPDATE_FREQ = 200;
+// Custom channel ID used in ControlChannel to indicate disconnects
+constexpr int DOLPHIN_DISCONNET_CONTROL_CHANNEL = 99;
 
 void Shutdown();
 void Initialize(InitializeMode init_mode);
diff --git a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp
index 9c7e12e485..5ffc8aaf98 100644
--- a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp
+++ b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.cpp
@@ -572,7 +572,7 @@ void Wiimote::SendDataReport()
 void Wiimote::ControlChannel(const u16 channel_id, const void* data, u32 size)
 {
   // Check for custom communication
-  if (99 == channel_id)
+  if (channel_id == ::Wiimote::DOLPHIN_DISCONNET_CONTROL_CHANNEL)
   {
     // Wii Remote disconnected.
     Reset();
diff --git a/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp b/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp
index a23752b792..09806a3808 100644
--- a/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp
+++ b/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp
@@ -143,7 +143,7 @@ void Wiimote::ClearReadQueue()
 void Wiimote::ControlChannel(const u16 channel, const void* const data, const u32 size)
 {
   // Check for custom communication
-  if (channel == 99)
+  if (channel == ::Wiimote::DOLPHIN_DISCONNET_CONTROL_CHANNEL)
   {
     if (m_really_disconnect)
     {
diff --git a/Source/Core/Core/IOS/USB/Bluetooth/WiimoteDevice.cpp b/Source/Core/Core/IOS/USB/Bluetooth/WiimoteDevice.cpp
index c35d094061..509347088c 100644
--- a/Source/Core/Core/IOS/USB/Bluetooth/WiimoteDevice.cpp
+++ b/Source/Core/Core/IOS/USB/Bluetooth/WiimoteDevice.cpp
@@ -218,7 +218,8 @@ void WiimoteDevice::EventConnectionAccepted()
 void WiimoteDevice::EventDisconnect()
 {
   // Send disconnect message to plugin
-  Wiimote::ControlChannel(m_connection_handle & 0xFF, 99, nullptr, 0);
+  Wiimote::ControlChannel(m_connection_handle & 0xFF, Wiimote::DOLPHIN_DISCONNET_CONTROL_CHANNEL,
+                          nullptr, 0);
 
   m_connection_state = ConnectionState::Inactive;