AnalogController: Fix swapped rumble test

Fixes weak rumble test in MGS.

I should write some hardware tests for this at some point, particularly
for the large motor, which should have a variable intensity.
This commit is contained in:
Connor McLaughlin 2020-07-15 02:37:16 +10:00
parent 00a27f8636
commit dd9a4191e6

View file

@ -258,7 +258,7 @@ bool AnalogController::Transfer(const u8 data_in, u8* data_out)
case State::GetStateButtonsLSB:
{
if (m_rumble_unlocked)
SetMotorState(1, ((data_in & 0xC0) == 0x40) ? 255 : 0);
SetMotorState(1, ((data_in & 0x01) != 0) ? 255 : 0);
*data_out = Truncate8(m_button_state);
m_state = State::GetStateButtonsMSB;
@ -269,7 +269,7 @@ bool AnalogController::Transfer(const u8 data_in, u8* data_out)
case State::GetStateButtonsMSB:
{
if (m_rumble_unlocked)
SetMotorState(0, ((data_in & 0x01) != 0) ? 255 : 0);
SetMotorState(0, (data_in != 0) ? 255 : 0);
*data_out = Truncate8(m_button_state >> 8);
m_state = m_analog_mode ? State::GetStateRightAxisX : State::Idle;