X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fmain_bd.c;h=34a75074754a3dde0df08ddc1b5bbd93b02a5057;hb=75b1504db75bdf33cf6bfc8cd30145805ab66a2d;hp=dae512b67ffc72ebbe5d58ea7b31435f50014744;hpb=7e0902aa2014d4f2899972319f56fe9d5f24578d;p=rocksndiamonds.git diff --git a/src/game_bd/main_bd.c b/src/game_bd/main_bd.c index dae512b6..34a75074 100644 --- a/src/game_bd/main_bd.c +++ b/src/game_bd/main_bd.c @@ -339,6 +339,11 @@ void InitGameEngine_BD(void) game_bd.game->itercycle = 0; game_bd.game->itermax = 8; // default; dynamically changed at runtime game_bd.game->itermax_last = game_bd.game->itermax; + game_bd.game->itermax2[0] = game_bd.game->itermax; + game_bd.game->itermax2[1] = game_bd.game->itermax; + + game_bd.player_moving = FALSE; + game_bd.player_snapping = FALSE; // default: start with completely covered playfield int next_state = GAME_INT_START_UNCOVER + 1; @@ -437,6 +442,15 @@ void GameActions_BD(byte action[MAX_PLAYERS]) play_game_func(game_bd.game, action[0]); } + boolean single_step_mode_paused = + CheckSingleStepMode_BD(check_iteration_reached(game_bd.game), + game_bd.player_moving, + game_bd.player_snapping); + + // draw final movement animation frame before going to single step pause mode + if (single_step_mode_paused) + game_bd.game->itercycle = game_bd.game->itermax - 1; + RedrawPlayfield_BD(FALSE); UpdateGameDoorValues_BD();