X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=49acec5bed46a4c70b979dd4fc3f5d795284c645;hb=77912538a71fe4bba85b97b873f937569d88998f;hp=49908daaae39c7970777a519d49da601eb039ae1;hpb=d2b08e8601362bd9f1ade63c9bca892aab0e410e;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 49908daa..49acec5b 100644 --- a/src/game.c +++ b/src/game.c @@ -4392,13 +4392,16 @@ void GameEnd() local_player->LevelSolved_GameEnd = TRUE; - CloseDoor(DOOR_CLOSE_1); + if (!global.use_envelope_request) + CloseDoor(DOOR_CLOSE_1); if (local_player->LevelSolved_SaveTape) { SaveTapeChecked(tape.level_nr); /* ask to save tape */ } + CloseDoor(DOOR_CLOSE_ALL); + if (level_editor_test_game) { game_status = GAME_MODE_MAIN; @@ -11194,7 +11197,11 @@ void GameActions() GameActions_RND_Main(); } - redraw_mask |= REDRAW_FIELD; + BlitScreenToBitmap(backbuffer); + + CheckLevelTime(); + + AdvanceFrameAndPlayerCounters(-1); /* advance counters for all players */ } void GameActions_EM_Main() @@ -11207,10 +11214,6 @@ void GameActions_EM_Main() effective_action[i] = stored_player[i].effective_action; GameActions_EM(effective_action, warp_mode); - - CheckLevelTime(); - - AdvanceFrameAndPlayerCounters(-1); /* advance counters for all players */ } void GameActions_SP_Main() @@ -11223,17 +11226,11 @@ void GameActions_SP_Main() effective_action[i] = stored_player[i].effective_action; GameActions_SP(effective_action, warp_mode); - - CheckLevelTime(); - - AdvanceFrameAndPlayerCounters(-1); /* advance counters for all players */ } void GameActions_RND_Main() { GameActions_RND(); - - BlitScreenToBitmap_RND(backbuffer); } void GameActions_RND() @@ -11735,8 +11732,6 @@ void GameActions_RND() } #endif - CheckLevelTime(); - DrawAllPlayers(); PlayAllPlayersSound(); @@ -11759,8 +11754,6 @@ void GameActions_RND() redraw_mask |= REDRAW_FPS; } - AdvanceFrameAndPlayerCounters(-1); /* advance counters for all players */ - if (local_player->show_envelope != 0 && local_player->MovPos == 0) { ShowEnvelope(local_player->show_envelope - EL_ENVELOPE_1);