mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-22 02:42:20 +00:00
Fix axis inversion and camera look inversion
This commit is contained in:
parent
7d8e8e20b7
commit
6428d6fc61
1 changed files with 17 additions and 2 deletions
19
src/g_game.c
19
src/g_game.c
|
@ -935,7 +935,12 @@ static INT16 GetJoystickAxisValue(UINT8 which, joyaxis_e axissel, INT32 axisval)
|
|||
|
||||
// flip it around
|
||||
if (flp)
|
||||
retaxis = -retaxis;
|
||||
{
|
||||
if (retaxis == -32768)
|
||||
retaxis = 32767;
|
||||
else
|
||||
retaxis = -retaxis;
|
||||
}
|
||||
|
||||
return retaxis;
|
||||
}
|
||||
|
@ -943,6 +948,7 @@ static INT16 GetJoystickAxisValue(UINT8 which, joyaxis_e axissel, INT32 axisval)
|
|||
INT16 G_JoyAxis(UINT8 which, joyaxis_e axissel)
|
||||
{
|
||||
INT32 axisval;
|
||||
INT32 value;
|
||||
|
||||
// find what axis to get
|
||||
switch (axissel)
|
||||
|
@ -975,7 +981,16 @@ INT16 G_JoyAxis(UINT8 which, joyaxis_e axissel)
|
|||
return 0;
|
||||
}
|
||||
|
||||
return GetJoystickAxisValue(which, axissel, axisval);
|
||||
value = GetJoystickAxisValue(which, axissel, axisval);
|
||||
if (axissel == JA_LOOK)
|
||||
{
|
||||
// Look is inverted because +Y goes _down_ in gamepads.
|
||||
if (value == -32768)
|
||||
value = 32767;
|
||||
else
|
||||
value = -value;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
static INT16 GetAnalogInput(UINT8 which, gamecontrols_e gc)
|
||||
|
|
Loading…
Reference in a new issue