From 076a91b43b23f918f76306fa15d0e726c975136a Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Fri, 27 Jan 2023 11:12:48 -0500 Subject: [PATCH] level select and save improvments - level select starts on the stage you just came from - default time from save file is INF, so any actual time will get saved - INF renders as "-:--:--" to indicate a time has not been set --- game.gd | 8 +++++--- maps/level_select.gd | 2 +- scripts/save.gd | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/game.gd b/game.gd index a811efb..2bd7bf5 100644 --- a/game.gd +++ b/game.gd @@ -100,11 +100,13 @@ func save(): #Convert seconds into M:SS:MS func timeify(input): - var minutes = str(floor(input / 60)) - var seconds = floor(fmod(input,60)) - var milliseconds := floor(fmod(input, 1) * 100) if input < 600: + var minutes = str(floor(input / 60)) + var seconds = floor(fmod(input,60)) + var milliseconds := floor(fmod(input, 1) * 100) return minutes + ":" + ("%02d" % seconds) + ":" + ("%02d" % milliseconds) + elif input == INF: + return "-:--:--" else: return "9:59:99" diff --git a/maps/level_select.gd b/maps/level_select.gd index 0ed67b6..82563df 100644 --- a/maps/level_select.gd +++ b/maps/level_select.gd @@ -27,7 +27,7 @@ var current_shard = 0 # Called when the node enters the scene tree for the first time. func _ready(): - change_current_level(0) + change_current_level(Game.current_level) Game.ac_music.stop() func _physics_process(delta): diff --git a/scripts/save.gd b/scripts/save.gd index 964bf87..cb04878 100644 --- a/scripts/save.gd +++ b/scripts/save.gd @@ -15,10 +15,10 @@ func get_level_data(save_id): return { # any% score and time score_any = file.get_value(save_id, "score_any", 0), - time_any = file.get_value(save_id, "time_any", 0), + time_any = file.get_value(save_id, "time_any", INF), # 100% score and time score_100 = file.get_value(save_id, "score_100", 0), - time_100 = file.get_value(save_id, "time_100", 0), + time_100 = file.get_value(save_id, "time_100", INF), shards = shards }