summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-09-19 20:34:30 +0200
committertpart <tpart120@proton.me>2024-09-19 20:34:35 +0200
commit6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a (patch)
treee4665b626bb94883fdeb54451ad46c9a153f1482
parent153e778d7d7085d699cf98da38a1196e5e81331a (diff)
downloadhurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar
hurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar.bz2
hurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar.zst
Re-add add_missing_keys function in load_dict
-rw-r--r--client/global.gd12
1 files changed, 12 insertions, 0 deletions
diff --git a/client/global.gd b/client/global.gd
index 5e016178..0648d80a 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -114,6 +114,10 @@ func load_dict(path: String, default: Dictionary) -> Dictionary:
return default
var f = FileAccess.open(path, FileAccess.READ)
var saved_dict = f.get_var(true)
+
+ if saved_dict != null and saved_dict is Dictionary:
+ add_missing_keys(saved_dict, default)
+
return saved_dict
func load_settings(path: String):
@@ -219,3 +223,11 @@ func language_list():
func array_eq(a, b):
return a.all(func(e): return a.count(e) == b.count(e))
+
+func add_missing_keys(dict: Dictionary, reference: Dictionary):
+ for k in reference.keys():
+ if !dict.has(k):
+ dict[k] = reference[k]
+ else:
+ if dict[k] is Dictionary:
+ add_missing_keys(dict[k], reference[k])