X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=d835b19f8cb9b11be758fdfe42502cc754d138d6;hb=1856b32b9d7b3c80596362cf7a3dd8e032cd83fc;hp=1966bb3c6c03ec01db36464d7fce410a6fbedd9a;hpb=ee2ea277015cd6d41e5314bbdc18229bd60ca1de;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 1966bb3c..d835b19f 100644 --- a/src/game.c +++ b/src/game.c @@ -4864,7 +4864,8 @@ static void LevelSolved_SetFinalGameValues(void) { game.time_final = (level.game_engine_type == GAME_ENGINE_TYPE_BD ? game_bd.time_left : game.no_level_time_limit ? TimePlayed : TimeLeft); - game.score_time_final = (level.use_step_counter ? TimePlayed : + game.score_time_final = (level.game_engine_type == GAME_ENGINE_TYPE_BD ? game_bd.frames_played : + level.use_step_counter ? TimePlayed : TimePlayed * FRAMES_PER_SECOND + TimeFrames); game.score_final = (level.game_engine_type == GAME_ENGINE_TYPE_BD ? game_bd.score : @@ -11835,6 +11836,9 @@ static void CheckLevelTime(void) // if last second running, wait for native engine time to exactly reach zero if (getTimeLeft_BD() == 1 && TimeLeft == 1) TimeFrames = frames_per_second - 1; + + // needed to store final time after solving game (before counting down remaining time) + SetTimeFrames_BD(TimePlayed * FRAMES_PER_SECOND + TimeFrames); } if (TimeFrames >= frames_per_second)