X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=10b866d433f5d72a8cbde3275db3516317af5a0e;hb=88a1829af8ca41b6e581f209002022b2483b86df;hp=5b1e5771c671ca48ae568bdd221dd8100799966f;hpb=47da774c66f9325f9d27cddb5a697514154e2de9;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 5b1e5771..10b866d4 100644 --- a/src/events.c +++ b/src/events.c @@ -142,7 +142,7 @@ boolean NextValidEvent(Event *event) { boolean handle_this_event = FALSE; - NextEvent(event); + WaitEvent(event); if (FilterEvents(event)) handle_this_event = TRUE; @@ -344,7 +344,7 @@ void ClearEventQueue() { Event event; - NextEvent(&event); + WaitEvent(&event); switch (event.type) { @@ -392,7 +392,7 @@ void SleepWhileUnmapped() { Event event; - NextEvent(&event); + WaitEvent(&event); switch (event.type) { @@ -1275,7 +1275,7 @@ void HandleButton(int mx, int my, int button, int button_nr) if (HandleGlobalAnimClicks(mx, my, button)) { /* do not handle this button event anymore */ - mx = my = -32; /* force mouse event to be outside screen tiles */ + return; /* force mouse event not to be handled at all */ } if (button_hold && game_status == GAME_MODE_PLAYING && tape.pausing) @@ -1441,6 +1441,11 @@ static void HandleKeysSpecial(Key key) { SaveNativeLevel(&level); } + else if (is_string_suffix(cheat_input, ":frames-per-second") || + is_string_suffix(cheat_input, ":fps")) + { + global.show_frames_per_second = !global.show_frames_per_second; + } } else if (game_status == GAME_MODE_PLAYING) { @@ -1470,7 +1475,7 @@ void HandleKeysDebug(Key key) if (game_status == GAME_MODE_PLAYING || !setup.debug.frame_delay_game_only) { - boolean mod_key_pressed = (GetKeyModState() != KMOD_None); + boolean mod_key_pressed = ((GetKeyModState() & KMOD_Valid) != KMOD_None); for (i = 0; i < NUM_DEBUG_FRAME_DELAY_KEYS; i++) {