diff options
author | Juan J. Martinez <jjm@usebox.net> | 2023-06-29 22:18:17 +0100 |
---|---|---|
committer | Juan J. Martinez <jjm@usebox.net> | 2023-06-29 22:18:17 +0100 |
commit | 623b1dfa54e77d3ca21fb64e200a32ee9a61c021 (patch) | |
tree | 85f09d8e3a74e56458bfb5c7a2b1a552d2506305 /src | |
parent | 10f11bb551897abc5f6978b3a6ee1b373b9341d2 (diff) | |
download | gold-mine-run-623b1dfa54e77d3ca21fb64e200a32ee9a61c021.tar.gz gold-mine-run-623b1dfa54e77d3ca21fb64e200a32ee9a61c021.zip |
Add pause / resume
Diffstat (limited to 'src')
-rw-r--r-- | src/game.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -40,6 +40,7 @@ static uint8_t stage; static uint8_t time; static uint8_t pickaxe; static uint8_t gameover; +static uint8_t pause; static void wait_time(uint16_t frames) { @@ -121,6 +122,9 @@ static void run_gameover() void run_game() { + pause = 0; + gameover = 0; + lives = GAME_LIVES_START; score = 0; stage = 0; @@ -164,6 +168,24 @@ void run_game() if (hud) hud_render(); + if (keys[KEY_P]) + { + /* pause / resume */ + pause ^= 1; + + /* wait for the key to be released */ + while (keys[KEY_P]) + wait_vsync(); + + if (pause) + timer_stop(); + else + timer_resume(); + } + + if (pause) + continue; + /* erase first the last we draw */ player_erase(); entities_erase(); |