diff --git a/src/keybinput.c b/src/keybinput.c index e253a1b..a2b79ac 100644 --- a/src/keybinput.c +++ b/src/keybinput.c @@ -20,9 +20,6 @@ int keybinput_loop (_keybinput *ki, SDL_Event *event) { int key = 0, keyu = 0; ki->changed = 0; - - if (event->type == SDL_KEYUP) - keybinput_oldkey = 0; if (event->type == SDL_KEYDOWN && keybinput_oldkey != event->key.keysym.sym) { key = keybinput_oldkey = event->key.keysym.sym; @@ -45,11 +42,15 @@ int keybinput_loop (_keybinput *ki, SDL_Event *event) { ki->len = strlen (ki->text); } - if (key == SDLK_RETURN) - return 1; + if (keybinput_oldkey == SDLK_RETURN && event->type == SDL_KEYUP) + keyu = 1; + else if (keybinput_oldkey == SDLK_ESCAPE && event->type == SDL_KEYUP) + keyu = -1; + else + keyu = 0; - if (key == SDLK_ESCAPE) - return -1; + if (event->type == SDL_KEYUP) + keybinput_oldkey = 0; - return 0; + return keyu; } diff --git a/src/multiwait.c b/src/multiwait.c index 6a7eed0..e3d6efd 100644 --- a/src/multiwait.c +++ b/src/multiwait.c @@ -221,10 +221,10 @@ mw_draw_gfxselect (int selgfx) dest.x = 0; dest.y = mw_player; dest.w = gfx.res.x; - dest.h = 8 + gfx.players[0].ani.h; + dest.h = 32 + gfx.players[0].ani.h; gfx_blitupdaterectadd (&dest); - mw_chat = mw_player + 8 + gfx.players[0].ani.h; + mw_chat = mw_player + gfx.players[0].ani.h; }