X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=464cdc0ba6d767e6b7d0c82d7f50fc7e7b416eb2;hb=c9308ba3e7ddea2d7e44b4d98f0dfbb19e18f04f;hp=1de51be5b909b1e0cc2b0f735fa0e7f989fc7771;hpb=5c6c42f1ed5cf72421e5a91c903b9c67584399f1;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 1de51be5..464cdc0b 100644 --- a/src/game.c +++ b/src/game.c @@ -2308,7 +2308,7 @@ void UpdateGameControlValues() game_panel_controls[GAME_PANEL_TIME_MM].value = (time / 60) % 60; game_panel_controls[GAME_PANEL_TIME_SS].value = time % 60; - if (game.no_time_limit) + if (level.time == 0) game_panel_controls[GAME_PANEL_TIME_ANIM].value = 100; else game_panel_controls[GAME_PANEL_TIME_ANIM].value = time * 100 / level.time; @@ -4692,14 +4692,16 @@ void GameEnd() local_player->LevelSolved_GameEnd = TRUE; - if (!global.use_envelope_request) - CloseDoor(DOOR_CLOSE_1); - if (local_player->LevelSolved_SaveTape) { + /* make sure that request dialog to save tape does not open door again */ + if (!global.use_envelope_request) + CloseDoor(DOOR_CLOSE_1); + SaveTapeChecked(tape.level_nr); /* ask to save tape */ } + /* if no tape is to be saved, close both doors simultaneously */ CloseDoor(DOOR_CLOSE_ALL); if (level_editor_test_game) @@ -15266,7 +15268,7 @@ void LoadEngineSnapshotValues() LoadEngineSnapshotValues_EM(); if (level.game_engine_type == GAME_ENGINE_TYPE_SP) LoadEngineSnapshotValues_SP(); - if (level.game_engine_type == GAME_ENGINE_TYPE_SP) + if (level.game_engine_type == GAME_ENGINE_TYPE_MM) LoadEngineSnapshotValues_MM(); }