From a291e301402a8271c33a9a09d4b5035bf734be3c Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 17 Sep 2025 00:25:40 +0200 Subject: Store config files in their proper locations --- client/system/profile.gd | 10 +++++++--- client/system/settings.gd | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'client/system') diff --git a/client/system/profile.gd b/client/system/profile.gd index 438e8e66..35706f2d 100644 --- a/client/system/profile.gd +++ b/client/system/profile.gd @@ -44,17 +44,21 @@ static var loaded_path: String static func load(path: String): # TOCTOU here. Godot docs says its fine. + print("Loading profile from %s" % path) if not FileAccess.file_exists(path): - print("Skip profile load") - return default_profile + print(" -> using default profile") + values = default_profile.duplicate_deep() + loaded_path = path + return var f = FileAccess.open(path, FileAccess.READ) values = f.get_var(true) + loaded_path = path if values != null and values is Dictionary: G.add_missing_keys(values, default_profile) - loaded_path = path static func save(): + DirAccess.make_dir_recursive_absolute(loaded_path.rsplit("/", true, 1)[0]) var f = FileAccess.open(loaded_path, FileAccess.WRITE) var to_save = values.duplicate(true) f.store_var(to_save, true) diff --git a/client/system/settings.gd b/client/system/settings.gd index 1cacfce9..43613de0 100644 --- a/client/system/settings.gd +++ b/client/system/settings.gd @@ -105,6 +105,7 @@ static func write(key: String, value): else: write_unchecked(key, value) static func load(path: String): + print("Loading settings from %s" % path) tree = get_root() loaded_path = path var changed = {} @@ -116,6 +117,7 @@ static func load(path: String): static func save(): var changed = {} tree.save(changed) + DirAccess.make_dir_recursive_absolute(loaded_path.rsplit("/", true, 1)[0]) var f = FileAccess.open(loaded_path, FileAccess.WRITE) f.store_string(JSON.stringify(changed)) -- cgit v1.2.3-70-g09d2