From b0a3e7875d8d1d96d8120d1d18064ecc85132c54 Mon Sep 17 00:00:00 2001 From: Mathieu Schroeter Date: Fri, 3 Mar 2017 18:14:45 +0100 Subject: [PATCH] Disable double scrilling when recording a demo With the recorder, it's not possible to use these movements because only the first key is recorded. --- src/event.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/event.cxx b/src/event.cxx index 679a394..7243e58 100644 --- a/src/event.cxx +++ b/src/event.cxx @@ -5025,13 +5025,17 @@ bool CEvent::TreatEventBase (const SDL_Event &event) case SDLK_DOWN: { const Uint8 *state = SDL_GetKeyboardState (nullptr); - if (event.key.keysym.sym == SDLK_LEFT || state[SDL_SCANCODE_LEFT]) + if ( event.key.keysym.sym == SDLK_LEFT + || (!m_bDemoRec && state[SDL_SCANCODE_LEFT])) DecorShift (-2, 2); - if (event.key.keysym.sym == SDLK_RIGHT || state[SDL_SCANCODE_RIGHT]) + if ( event.key.keysym.sym == SDLK_RIGHT + || (!m_bDemoRec && state[SDL_SCANCODE_RIGHT])) DecorShift (2, -2); - if (event.key.keysym.sym == SDLK_UP || state[SDL_SCANCODE_UP]) + if ( event.key.keysym.sym == SDLK_UP + || (!m_bDemoRec && state[SDL_SCANCODE_UP])) DecorShift (-3, -3); - if (event.key.keysym.sym == SDLK_DOWN || state[SDL_SCANCODE_DOWN]) + if ( event.key.keysym.sym == SDLK_DOWN + || (!m_bDemoRec && state[SDL_SCANCODE_DOWN])) DecorShift (3, 3); return true; }