diff options
Diffstat (limited to 'client/global.gd')
-rw-r--r-- | client/global.gd | 64 |
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 |