X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fmain_bd.c;h=3376757fb103fb256383886b6a821a5b8d5e6604;hb=0f6832ff60f9beba4f1dd347ba9b78aafd806e82;hp=06ecfd0458fa7cea799a9fe044236b56122a75b9;hpb=eb50550a874e978f61179b0f6f2d681a006b23f9;p=rocksndiamonds.git diff --git a/src/game_bd/main_bd.c b/src/game_bd/main_bd.c index 06ecfd04..3376757f 100644 --- a/src/game_bd/main_bd.c +++ b/src/game_bd/main_bd.c @@ -255,20 +255,28 @@ int getTimeLeft_BD(void) return 0; } +void SetTimeFrames_BD(int frames_played) +{ + // needed to store final time after solving game (before counting down remaining time) + if (game_bd.game->state_counter == GAME_INT_CAVE_RUNNING) + game_bd.frames_played = frames_played; + +} + static void UpdateGameDoorValues_BD(void) { GdCave *cave = game_bd.game->cave; - int time_secs = gd_cave_time_show(cave, cave->time); + int time_left = gd_cave_time_show(cave, cave->time); int gems_still_needed = MAX(0, (cave->diamonds_needed - cave->diamonds_collected)); - game_bd.time_played = time_secs; + game_bd.time_left = time_left; game_bd.gems_still_needed = gems_still_needed; game_bd.score = game_bd.game->player_score; if (game.LevelSolved) { // update time and score in panel while counting bonus time - game.LevelSolved_CountingTime = game_bd.time_played; + game.LevelSolved_CountingTime = game_bd.time_left; game.LevelSolved_CountingScore = game_bd.score; } } @@ -320,10 +328,6 @@ void InitGameEngine_BD(void) game_bd.game_over = FALSE; game_bd.cover_screen = FALSE; - game_bd.time_played = 0; - game_bd.gems_still_needed = 0; - game_bd.score = 0; - gd_caveset_last_selected = native_bd_level.cave_nr; gd_caveset_last_selected_level = native_bd_level.level_nr; @@ -356,10 +360,10 @@ void InitGameEngine_BD(void) // when skipping uncovering, continue with uncovered playfield if (setup.bd_skip_uncovering) game_bd.game->state_counter = GAME_INT_UNCOVER_ALL + 1; - else if (isLevelEditorTestGame()) + else if (isLevelEditorFastStart()) game_bd.game->state_counter = GAME_INT_UNCOVER_ALL - 8; - if (setup.bd_skip_uncovering || isLevelEditorTestGame()) + if (setup.bd_skip_uncovering || isLevelEditorFastStart()) gd_scroll(game_bd.game, TRUE, TRUE); ClearRectangle(gd_screen_bitmap, 0, 0, SXSIZE, SYSIZE); @@ -470,11 +474,16 @@ boolean use_bd_up_down_graphics(void) (setup.bd_up_down_graphics == STATE_AUTO && !use_native_bd_graphics_engine())); } -// check if skipping falling sounds selected in setup menu -boolean skip_bd_falling_sounds(void) +// check if element falling sounds selected in setup menu +boolean use_bd_falling_sounds(void) +{ + return ((setup.bd_falling_sounds == STATE_TRUE) || + (setup.bd_falling_sounds == STATE_AUTO && game.use_native_bd_sound_engine)); +} + +boolean hasColorTemplate_BD(void) { - return ((setup.bd_skip_falling_sounds == STATE_TRUE) || - (setup.bd_skip_falling_sounds == STATE_AUTO && !game.use_native_bd_sound_engine)); + return gd_bitmap_has_c64_colors(graphic_info_bd_color_template.bitmap); } Bitmap **GetTitleScreenBitmaps_BD(void)