X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fevents.c;h=6fee5bbce8684de0badc8642ca52a9bfeeb76e68;hp=0c5b2bc1354f5ad40477daa9ed5ccde37b3ff689;hb=d81b002c4d63b292284b1bea1972b4d764f6fb59;hpb=3bb0d9d605aafe3e832aa79fa9e8c7f088556819 diff --git a/src/events.c b/src/events.c index 0c5b2bc1..6fee5bbc 100644 --- a/src/events.c +++ b/src/events.c @@ -1778,11 +1778,14 @@ static void HandleKeysSpecial(Key key) } } -void HandleKeysDebug(Key key) +boolean HandleKeysDebug(Key key, int key_status) { #ifdef DEBUG int i; + if (key_status != KEY_PRESSED) + return FALSE; + if (game_status == GAME_MODE_PLAYING || !setup.debug.frame_delay_game_only) { boolean mod_key_pressed = ((GetKeyModState() & KMOD_Valid) != KMOD_None); @@ -1809,7 +1812,7 @@ void HandleKeysDebug(Key key) else Error(ERR_DEBUG, "frame delay == 0 ms (maximum speed)"); - break; + return TRUE; } } } @@ -1822,13 +1825,19 @@ void HandleKeysDebug(Key key) Error(ERR_DEBUG, "debug mode %s", (options.debug ? "enabled" : "disabled")); + + return TRUE; } else if (key == KSYM_v) { Error(ERR_DEBUG, "currently using game engine version %d", game.engine_version); + + return TRUE; } } + + return FALSE; #endif } @@ -1856,6 +1865,9 @@ void HandleKey(Key key, int key_status) int joy = 0; int i; + if (HandleKeysDebug(key, key_status)) + return; // do not handle already processed keys again + // map special keys (media keys / remote control buttons) to default keys if (key == KSYM_PlayPause) key = KSYM_space; @@ -2198,8 +2210,6 @@ void HandleKey(Key key, int key_status) return; } } - - HandleKeysDebug(key); } void HandleNoEvent(void)