diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp index 80673c8f6a..a996cf44a7 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.cpp @@ -92,8 +92,8 @@ void Classic::GetState(u8* const data) double x, y; m_left_stick->GetState(&x, &y); - ccdata->lx = (x * 0x1F) + 0x20; - ccdata->ly = (y * 0x1F) + 0x20; + ccdata->lx = Classic::LEFT_STICK_CENTER_X + (x * Classic::LEFT_STICK_RADIUS); + ccdata->ly = Classic::LEFT_STICK_CENTER_Y + (y * Classic::LEFT_STICK_RADIUS); } // right stick @@ -102,8 +102,8 @@ void Classic::GetState(u8* const data) u8 x_, y_; m_right_stick->GetState(&x, &y); - x_ = (x * 0x1F) + 0x20; - y_ = (y * 0x1F) + 0x20; + x_ = Classic::RIGHT_STICK_CENTER_X + (x * Classic::RIGHT_STICK_RADIUS); + y_ = Classic::RIGHT_STICK_CENTER_Y + (y * Classic::RIGHT_STICK_RADIUS); ccdata->rx1 = x_; ccdata->rx2 = x_ >> 1; @@ -117,8 +117,8 @@ void Classic::GetState(u8* const data) u8 lt, rt; m_triggers->GetState(&ccdata->bt, classic_trigger_bitmasks, trigs); - lt = trigs[0] * 0x1F; - rt = trigs[1] * 0x1F; + lt = trigs[0] * Classic::LEFT_TRIGGER_RANGE; + rt = trigs[1] * Classic::RIGHT_TRIGGER_RANGE; ccdata->lt1 = lt; ccdata->lt2 = lt >> 3; diff --git a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.h b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.h index 6b4701d9bb..8076d2b15b 100644 --- a/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.h +++ b/Source/Core/Core/HW/WiimoteEmu/Attachment/Classic.h @@ -35,6 +35,17 @@ public: PAD_UP = 0x0100, }; + static const u8 LEFT_STICK_CENTER_X = 0x20; + static const u8 LEFT_STICK_CENTER_Y = 0x20; + static const u8 LEFT_STICK_RADIUS = 0x1F; + + static const u8 RIGHT_STICK_CENTER_X = 0x10; + static const u8 RIGHT_STICK_CENTER_Y = 0x10; + static const u8 RIGHT_STICK_RADIUS = 0x0F; + + static const u8 LEFT_TRIGGER_RANGE = 0x1F; + static const u8 RIGHT_TRIGGER_RANGE = 0x1F; + private: Buttons* m_buttons; MixedTriggers* m_triggers;