diff options
| author | Ray <raysan5@gmail.com> | 2016-10-15 13:17:57 +0200 |
|---|---|---|
| committer | Ray <raysan5@gmail.com> | 2016-10-15 13:17:57 +0200 |
| commit | 9e285d8dc33a5a18eeb154c69b04de1c1358678d (patch) | |
| tree | 7e02f5abfaeb4806558be26ac1946b45d3c584ba /src | |
| parent | 98d7a10c087f14b55e2dfb5f07eb6f95899ba959 (diff) | |
| download | raylib-9e285d8dc33a5a18eeb154c69b04de1c1358678d.tar.gz raylib-9e285d8dc33a5a18eeb154c69b04de1c1358678d.zip | |
Updated gamepad system with extra check
Avoid out-of-bounds situation with button array
Diffstat (limited to 'src')
| -rw-r--r-- | src/core.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -1179,9 +1179,9 @@ float GetGamepadAxisMovement(int gamepad, int axis) { float value = 0; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad]) + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (axis < MAX_GAMEPAD_AXIS)) { - if (axis < MAX_GAMEPAD_AXIS) value = gamepadAxisState[gamepad][axis]; + value = gamepadAxisState[gamepad][axis]; } return value; @@ -1192,7 +1192,7 @@ bool IsGamepadButtonPressed(int gamepad, int button) { bool pressed = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && (currentGamepadState[gamepad][button] == 1)) pressed = true; @@ -1204,7 +1204,7 @@ bool IsGamepadButtonDown(int gamepad, int button) { bool result = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] == 1)) result = true; return result; @@ -1215,7 +1215,7 @@ bool IsGamepadButtonReleased(int gamepad, int button) { bool released = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] != previousGamepadState[gamepad][button]) && (currentGamepadState[gamepad][button] == 0)) released = true; @@ -1227,7 +1227,7 @@ bool IsGamepadButtonUp(int gamepad, int button) { bool result = false; - if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && + if ((gamepad < MAX_GAMEPADS) && gamepadReady[gamepad] && (button < MAX_GAMEPAD_BUTTONS) && (currentGamepadState[gamepad][button] == 0)) result = true; return result; |
