From e6b7b38c6cedbfca5392642c75b5e84a5a8d945d Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Wed, 15 Apr 2015 21:27:10 +0200 Subject: [PATCH] Emscripten: Simplified implementation of joystick update function. The function was implemented using four loops but only needed two. --- src/joystick/emscripten/SDL_sysjoystick.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/joystick/emscripten/SDL_sysjoystick.c b/src/joystick/emscripten/SDL_sysjoystick.c index a1e9c1552a26f..5d8e91572fc8a 100644 --- a/src/joystick/emscripten/SDL_sysjoystick.c +++ b/src/joystick/emscripten/SDL_sysjoystick.c @@ -350,6 +350,10 @@ SDL_SYS_JoystickUpdate(SDL_Joystick * joystick) buttonState = gamepadState.digitalButton[i]? SDL_PRESSED: SDL_RELEASED; SDL_PrivateJoystickButton(item->joystick, i, buttonState); } + + /* store values to compare them in the next update */ + item->analogButton[i] = gamepadState.analogButton[i]; + item->digitalButton[i] = gamepadState.digitalButton[i]; } for(i = 0; i < item->naxes; i++) { @@ -358,17 +362,12 @@ SDL_SYS_JoystickUpdate(SDL_Joystick * joystick) SDL_PrivateJoystickAxis(item->joystick, i, (Sint16) (32767.*gamepadState.axis[i])); } - } - item->timestamp = gamepadState.timestamp; - for( i = 0; i < item->naxes; i++) { + /* store to compare in next update */ item->axis[i] = gamepadState.axis[i]; } - for( i = 0; i < item->nbuttons; i++) { - item->analogButton[i] = gamepadState.analogButton[i]; - item->digitalButton[i] = gamepadState.digitalButton[i]; - } + item->timestamp = gamepadState.timestamp; } } }