From 038162f581caaea0bf44d13861243367aaaabdd4 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Wed, 26 Mar 2025 13:15:01 -0400 Subject: [PATCH] Add Quick Save name and allow listing of Autosaves and Quicksaves --- save_load/autoloads/save_game_manager.gd | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/save_load/autoloads/save_game_manager.gd b/save_load/autoloads/save_game_manager.gd index f698bfe..d1da3f5 100644 --- a/save_load/autoloads/save_game_manager.gd +++ b/save_load/autoloads/save_game_manager.gd @@ -20,7 +20,7 @@ signal open_save_list_ui signal close_save_list_ui -var _game_data_resource: SaveGameDataResource +var _game_data_resource: SaveGameDataResource = SaveGameDataResource.new() var _save_level_data_component: SaveLevelDataComponent ## Contains the save paths and filenames @@ -37,7 +37,7 @@ func _unhandled_input(event: InputEvent) -> void: quick_load_game() -func list_saves() -> Array[SaveFileDetailsResource]: +func list_saves(include_quick_saves: bool = true, include_auto_saves: bool = true) -> Array[SaveFileDetailsResource]: var save_files: Array[SaveFileDetailsResource] = [] if not _load_save_level_data_component(): return save_files @@ -47,8 +47,10 @@ func list_saves() -> Array[SaveFileDetailsResource]: return save_files for filename: String in ResourceLoader.list_directory(save_game_data_path): - if !filename.begins_with("save_"): continue - if !filename.ends_with(".tres"): continue # Screenshots, etc + # TODO: Rework so the settings determine the file_name prepends + if filename.begins_with("quicksave_") and not include_quick_saves: continue + elif filename.begins_with("autosave_") and not include_auto_saves: continue + elif !filename.begins_with("save_") and !filename.begins_with("quicksave_") and !filename.begins_with("autosave_"): continue var _save_path: String = save_game_data_path + filename var _save_icon: String = filename.replace(".tres", ".png") @@ -78,6 +80,7 @@ func list_saves() -> Array[SaveFileDetailsResource]: func quick_save_game() -> void: if not _load_save_level_data_component(): return + _game_data_resource.save_name = "Quick Save" _save_game_as_resource(_save_level_data_component.settings.quicksave_file_name) game_saved.emit() @@ -135,7 +138,6 @@ func _save_node_data() -> void: if nodes == null: return - _game_data_resource = SaveGameDataResource.new() for node: Node in nodes: if node is SaveDataComponent: @warning_ignore("unsafe_method_access")