From 4b920a146780168fc40e4a18d78355958a266e09 Mon Sep 17 00:00:00 2001 From: Kyle K Date: Sun, 3 Oct 2010 17:43:47 -0500 Subject: pyramid: fix multiple keys input --- sdl/pyramid.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/sdl/pyramid.c b/sdl/pyramid.c index b2c9696..0f4dd92 100644 --- a/sdl/pyramid.c +++ b/sdl/pyramid.c @@ -125,15 +125,6 @@ void processEvents() /* helper flag for keys() */ int flag = 0; - /* check for keys that are being constantly pressed */ - if (keys_held[SDLK_w] || keys_held[SDLK_s] || keys_held[SDLK_a] || keys_held[SDLK_d]) - { - flag = !flag; - keys(NULL, keys_held, flag); - } - else - flag = !flag; - while (SDL_PollEvent(&event)) { sym = event.key.keysym.sym; @@ -157,6 +148,16 @@ void processEvents() default: break; } } + + /* XXX below code has the be below of the above */ + /* check for keys that are being constantly pressed */ + if (keys_held[SDLK_w] || keys_held[SDLK_s] || keys_held[SDLK_a] || keys_held[SDLK_d]) + { + flag = !flag; + keys(NULL, keys_held, flag); + } + else + flag = !flag; } static void draw_ground(void) -- cgit v1.2.3