Fix crash caused by incorrect variable index for analog sticks
This commit is contained in:
parent
7e8828986e
commit
d808297bc6
|
@ -1220,25 +1220,25 @@ static void updateInput_MotionSensors(void)
|
||||||
analog_y = astick_data[1];
|
analog_y = astick_data[1];
|
||||||
|
|
||||||
// Gyro sensor section
|
// Gyro sensor section
|
||||||
analog[3] = input_cb(0, RETRO_DEVICE_ANALOG,
|
analog[2] = input_cb(0, RETRO_DEVICE_ANALOG,
|
||||||
gyro_retro_device_index, RETRO_DEVICE_ID_ANALOG_X);
|
gyro_retro_device_index, RETRO_DEVICE_ID_ANALOG_X);
|
||||||
|
|
||||||
if ( analog[3] < -astick_deadzone ) {
|
if ( analog[2] < -astick_deadzone ) {
|
||||||
// Re-scale analog stick range
|
// Re-scale analog stick range
|
||||||
scaled_range = (-analog[3] - astick_deadzone) *
|
scaled_range = (-analog[2] - astick_deadzone) *
|
||||||
((float)ASTICK_MAX / (ASTICK_MAX - astick_deadzone));
|
((float)ASTICK_MAX / (ASTICK_MAX - astick_deadzone));
|
||||||
// Gyro sensor range is +/- 1800
|
// Gyro sensor range is +/- 1800
|
||||||
scaled_range *= 1800.0 / ASTICK_MAX * (gyro_sensitivity / 100.0);
|
scaled_range *= 1800.0 / ASTICK_MAX * (gyro_sensitivity / 100.0);
|
||||||
astick_data[3] = -(int16_t)ROUND(scaled_range);
|
astick_data[2] = -(int16_t)ROUND(scaled_range);
|
||||||
} else if ( analog[3] > astick_deadzone ) {
|
} else if ( analog[2] > astick_deadzone ) {
|
||||||
scaled_range = (analog[3] - astick_deadzone) *
|
scaled_range = (analog[2] - astick_deadzone) *
|
||||||
((float)ASTICK_MAX / (ASTICK_MAX - astick_deadzone));
|
((float)ASTICK_MAX / (ASTICK_MAX - astick_deadzone));
|
||||||
scaled_range *= (1800.0 / ASTICK_MAX * (gyro_sensitivity / 100.0));
|
scaled_range *= (1800.0 / ASTICK_MAX * (gyro_sensitivity / 100.0));
|
||||||
astick_data[3] = +(int16_t)ROUND(scaled_range);
|
astick_data[2] = +(int16_t)ROUND(scaled_range);
|
||||||
} else
|
} else
|
||||||
astick_data[3] = 0;
|
astick_data[2] = 0;
|
||||||
|
|
||||||
analog_z = astick_data[3];
|
analog_z = astick_data[2];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update solar sensor level by gamepad buttons, default L2/R2
|
// Update solar sensor level by gamepad buttons, default L2/R2
|
||||||
|
|
Loading…
Reference in New Issue