aboutsummaryrefslogtreecommitdiff
path: root/client/global.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/global.gd')
-rw-r--r--client/global.gd64
1 files changed, 15 insertions, 49 deletions
diff --git a/client/global.gd b/client/global.gd
index e85bf697..6d41dc31 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -38,7 +38,7 @@ var default_profile := {
"has_seen_join_while_running": false
}
}
-var languages := language_array()
+
var using_joypad := false
var using_touch := false
@@ -136,20 +136,21 @@ func on_vulkan() -> bool:
return ProjectSettings.get_setting("rendering/rendering_device/driver") == "vulkan"
func get_setting(key: String):
- if !Global.settings.has(key):
+ if !settings.has(key):
push_error("Tried to access setting \"%s\", which does not exist (missing key)" % key)
return null
- return Global.settings[key]
+ return settings[key]
func set_setting_unchecked(key: String, value):
- if value is Array:
- Global.settings[key] = value.duplicate(true)
- else:
- Global.settings[key] = value
- Global.save_settings()
+ value = value.duplicate(true) if value is Array else value
+ if key in settings and settings[key] == value: return
+ settings[key] = value
+ if Settings.change_hooks_display.get(key) != null: Settings.change_hooks_display.get(key).call(value)
+ if Settings.change_hooks_apply.get(key) != null: Settings.change_hooks_apply.get(key).call(value)
+ save_settings()
func set_setting(key: String, value):
- if !Global.settings.has(key):
+ if !settings.has(key):
push_error("Tried to set setting \"%s\", which does not yet exist (missing key)" % key)
return
else: set_setting_unchecked(key, value)
@@ -208,43 +209,8 @@ func find_menu(node: Node) -> Menu:
if node is Menu: return node
else: return find_menu(node.get_parent())
-const NATIVE_LANGUAGE_NAMES = {
- "en": "English",
- "de": "Deutsch",
- "fr": "Français",
- "es": "Español",
- "eu": "euskara",
- "ja": "日本語",
- "he": "עִברִית",
- "tr": "Türkçe",
- "fi": "suomen",
- "ar": "العربية",
- "zh_Hans": "中文 (简化字)",
- "zh_Hant": "中文 (繁體字)",
- "pl": "Polski",
- "pt": "Português",
-}
-
-func language_display(l: String): return "%s (%s)" % [NATIVE_LANGUAGE_NAMES[l], l]
-func language_array() -> Array:
- var lang: Array = [["system", tr("System default")]]
- var to_order: Array = []
- for l in TranslationServer.get_loaded_locales():
- to_order.append([l, language_display(l)])
- to_order.append(["en", language_display("en")])
- to_order = sort_language_array(to_order)
- for i in to_order:
- lang.append(i)
- return lang
-
-func sort_language_array(lang: Array) -> Array:
- var sorting_array: Array = []
- var sorted_lang: Array = []
- for i in lang.size():
- sorting_array.append(lang[i][0])
- sorting_array.sort()
- for shorthand in sorting_array:
- for arr in lang:
- if arr[0] == shorthand:
- sorted_lang.append(arr)
- return sorted_lang
+func language_list():
+ var a = TranslationServer.get_loaded_locales()
+ a.sort()
+ a.insert(0, "system")
+ return a