diff options
author | tpart <tpart120@proton.me> | 2024-09-19 20:34:30 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-09-19 20:34:35 +0200 |
commit | 6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a (patch) | |
tree | e4665b626bb94883fdeb54451ad46c9a153f1482 /client/global.gd | |
parent | 153e778d7d7085d699cf98da38a1196e5e81331a (diff) | |
download | hurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar hurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar.bz2 hurrycurry-6d7c0cba31aabfeb5d4036e7ab12a39743ba1e6a.tar.zst |
Re-add add_missing_keys function in load_dict
Diffstat (limited to 'client/global.gd')
-rw-r--r-- | client/global.gd | 12 |
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]) |