@@ -5,6 +5,7 @@ const Globals := preload("res://addons/splasher/globals.gd")
55const DockPanel := preload ("res://addons/splasher/splasher_dock.tscn" )
66const ViewportPanel := preload ("res://addons/splasher/ui_viewport_panel.tscn" )
77const StorageResource := preload ("res://addons/splasher/storage.gd" )
8+ const StoredDecalResource := preload ("res://addons/splasher/stored_decal.gd" )
89
910var dock : Control
1011var viewport_panel : Control
@@ -65,11 +66,17 @@ func save_settings() -> void:
6566 var res := StorageResource .new ()
6667 res .decal_settings = manager .decal_settings .storage
6768 res .plugin_settings = manager .plugin_settings .storage
69+
70+ for decal in manager .decal_list .items :
71+ var stored_decal := StoredDecalResource .new ()
72+ stored_decal .albedo_path = decal
73+ res .decal_registry .push_back (stored_decal )
74+
6875 if ResourceSaver .save (res , Globals .SAVE_FILE_PATH ) != OK :
6976 printerr ("Couldn't save Splasher settings file" )
7077
7178func load_settings () -> void :
72- var res := ResourceLoader .load (Globals .SAVE_FILE_PATH )
79+ var res := ResourceLoader .load (Globals .SAVE_FILE_PATH ) as StorageResource
7380 if not res :
7481 printerr ("Couldn't load Splasher settings file" )
7582 return
@@ -78,5 +85,8 @@ func load_settings() -> void:
7885 manager .decal_settings .set_storage (res .decal_settings )
7986 manager .plugin_settings .set_storage (res .plugin_settings )
8087
88+ for stored_decal : StoredDecalResource in res .decal_registry :
89+ manager .decal_list .push_back (stored_decal .albedo_path )
90+
8191func has_settings_file () -> bool :
8292 return ResourceLoader .exists (Globals .SAVE_FILE_PATH )
0 commit comments