aboutsummaryrefslogtreecommitdiff
path: root/client/system/profile.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-09-17 00:25:40 +0200
committermetamuffin <metamuffin@disroot.org>2025-09-17 00:25:43 +0200
commita291e301402a8271c33a9a09d4b5035bf734be3c (patch)
tree983fd66e48b121b3660f21c54a286540ab589f31 /client/system/profile.gd
parent6130b4e67340af360b5907f3b57bbc3ec1aa2d04 (diff)
downloadhurrycurry-a291e301402a8271c33a9a09d4b5035bf734be3c.tar
hurrycurry-a291e301402a8271c33a9a09d4b5035bf734be3c.tar.bz2
hurrycurry-a291e301402a8271c33a9a09d4b5035bf734be3c.tar.zst
Store config files in their proper locations
Diffstat (limited to 'client/system/profile.gd')
-rw-r--r--client/system/profile.gd10
1 files changed, 7 insertions, 3 deletions
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)