X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgameloop.cpp;h=625afee490a2d2e13c5765ba7c01f1d2e77d2623;hb=a28d9c1e7fc6b8b2a5c9e139560143e9b74813ea;hp=0b86cb3dd8b6656a672463a83f493513e0f0ea0a;hpb=a270cc6b7420194ae712197ae5ccb9786b9511d2;p=supertux.git diff --git a/src/gameloop.cpp b/src/gameloop.cpp index 0b86cb3dd..625afee49 100644 --- a/src/gameloop.cpp +++ b/src/gameloop.cpp @@ -189,6 +189,16 @@ GameSession::on_escape_press() } else if (!Menu::current()) { + /* Tell Tux that the keys are all down, otherwise + it could have nasty bugs, like going allways to the right + or whatever that key does */ + Player& tux = *world->get_tux(); + tux.key_event((SDLKey)keymap.jump, UP); + tux.key_event((SDLKey)keymap.duck, UP); + tux.key_event((SDLKey)keymap.left, UP); + tux.key_event((SDLKey)keymap.right, UP); + tux.key_event((SDLKey)keymap.fire, UP); + Menu::set_current(game_menu); st_pause_ticks_start(); } @@ -263,18 +273,8 @@ GameSession::process_events() if (Menu::current()) { Menu::current()->event(event); - if(!Menu::current()) - st_pause_ticks_stop(); - - /* Tell Tux that the keys are all down, otherwise - it could have nasty bugs, like going allways to the right - or whatever that key does */ - Player& tux = *world->get_tux(); - tux.key_event((SDLKey)keymap.jump, UP); - tux.key_event((SDLKey)keymap.duck, UP); - tux.key_event((SDLKey)keymap.left, UP); - tux.key_event((SDLKey)keymap.right, UP); - tux.key_event((SDLKey)keymap.fire, UP); + if(!Menu::current()) + st_pause_ticks_stop(); } else {