From 06baf4555dc1c7a64bed7d059fbe34c99e9638fb Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 6 Sep 2024 23:43:42 +0200 Subject: refactor settings again (part 1) --- client/menu/settings/dropdown_setting.gd | 21 ++++------- client/menu/settings/game_setting.gd | 52 +++++++++++--------------- client/menu/settings/input/input_manager.gd | 35 +++-------------- client/menu/settings/input/input_setting.gd | 16 +++----- client/menu/settings/input/input_value_node.gd | 5 +++ client/menu/settings/preset.gd | 39 ------------------- client/menu/settings/preset_row.gd | 38 +++++++++++++++++++ client/menu/settings/range_setting.gd | 18 ++++----- client/menu/settings/settings_category.gd | 51 ++++++++++++++++++++----- client/menu/settings/settings_root.gd | 36 ++++++++++++++++++ client/menu/settings/settings_row.gd | 1 + client/menu/settings/text_setting.gd | 19 ++++------ client/menu/settings/toggle_setting.gd | 19 ++++------ 13 files changed, 186 insertions(+), 164 deletions(-) delete mode 100644 client/menu/settings/preset.gd create mode 100644 client/menu/settings/preset_row.gd create mode 100644 client/menu/settings/settings_root.gd (limited to 'client/menu/settings') diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index e57fc40f..62162320 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -18,23 +18,18 @@ extends GameSetting var options: Array -func _init(new_description: String, new_preset: int, new_options: Array): - assert(new_preset < new_options.size()) - super(new_description, new_preset) +func _init(new_id: String, new_default, new_options: Array): + super(new_id, new_default) options = new_options func _update_row(): super() row.value_node = OptionButton.new() for i in options: - row.value_node.add_item(i) - row.value_node.select(_value) + row.value_node.add_item(tr(nskey + "." + i)) + row.value_node.select(options.find(Global.get_setting(key))) + if not row.value_node.item_selected.is_connected(from_ui): + row.value_node.item_selected.connect(from_ui) -func fetch_setting(): - if row != null: - _value = row.value_node.selected - -func set_value(v): - super(v) - if row != null: - row.value_node.selected = _value +func from_ui(index): + Global.set_setting(key, options[index]) diff --git a/client/menu/settings/game_setting.gd b/client/menu/settings/game_setting.gd index afe1fe65..2846cbe3 100644 --- a/client/menu/settings/game_setting.gd +++ b/client/menu/settings/game_setting.gd @@ -16,39 +16,31 @@ class_name GameSetting extends Object -var preset -var _value -var description: String +var default +var key: String +var nskey: String -var row: SettingsRow +var row: Node -func _init(new_description: String, new_preset): - preset = new_preset - set_value(new_preset) - description = new_description +func _init(new_id: String, new_default = null): + default = new_default + key = new_id -func reset(): - set_value(preset) - -func get_row() -> SettingsRow: - _update_row() - return row +func set_parent(parent: GameSetting): + if parent != null: key = parent.key + "." + key + nskey = "c.settings." + key func _update_row(): - if row != null: - row.queue_free() - row = preload("res://menu/settings/settings_row.tscn").instantiate() - row.description = description - row.reset.connect(reset) - -func fetch_setting(): - pass + if row == null: row = preload("res://menu/settings/settings_row.tscn").instantiate() + row.description = tr(nskey) + if not row.reset.is_connected(reset): row.reset.connect(reset) -func get_value(): - return _value - -func set_value(v): - if v is Array: - _value = v.duplicate(true) - else: - _value = v +func reset(): + Global.set_setting(key, default) + +func check(): + if default != null: + if not key in Global.settings: + Global.set_setting_unchecked(key, default) + if typeof(default) != typeof(Global.settings[key]): + Global.set_setting_unchecked(key, default) diff --git a/client/menu/settings/input/input_manager.gd b/client/menu/settings/input/input_manager.gd index 96cdca09..784b4974 100644 --- a/client/menu/settings/input/input_manager.gd +++ b/client/menu/settings/input/input_manager.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 tpart +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -15,32 +16,6 @@ # extends Node -var action_descriptions = { - "forwards": tr("Move forwards"), - "backwards": tr("Move backwards"), - "left": tr("Move left"), - "right": tr("Move right"), - "rotate_left": tr("Rotate camera to the left"), - "rotate_right": tr("Rotate camera to the right"), - "rotate_up": tr("Rotate camera upwards"), - "rotate_down": tr("Rotate camera downwards"), - "interact": tr("Interact", "Interacting with items, etc."), - "boost": tr("Boost movement"), - "zoom_in": tr("Zoom in"), - "zoom_out": tr("Zoom out"), - "chat": tr("Toggle chat", "Toggle chat on or off"), - "reset": tr("Reset camera view"), - "fullscreen": tr("Toggle fullscreen"), - "previous": tr("Previous"), - "next": tr("Next"), - "start_game": tr("Start game"), - "join_spectate": tr("Join / Spectate"), - "zoom_in_discrete": tr("Zoom in (discrete)"), - "zoom_out_discrete": tr("Zoom out (discrete)"), - "scroll_down": tr("Scroll down"), - "scroll_up": tr("Scroll up"), -} - var default_input_map = {} var input_map @@ -56,12 +31,12 @@ func get_input_map() -> Dictionary: kb[a] = input_events return kb -func input_map_to_settings_dictionary(map: Dictionary) -> Dictionary: - var settings_dict := {} +func input_map_to_settings(map: Dictionary) -> Array: + var entries := [] for k in map.keys(): var events = map[k] - settings_dict[k] = InputSetting.new(action_descriptions[k] if action_descriptions.has(k) else k, events) - return settings_dict + entries.append(InputSetting.new(k, events)) + return entries func settings_dictionary_to_input_map(settings: Dictionary) -> Dictionary: var map := {} diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index eec68bdc..e32e800c 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 tpart +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -21,14 +22,9 @@ const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_no func _update_row(): super() row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() - row.value_node.value = _value + row.value_node.value = Global.get_setting(key) + if not row.value_node.changed.is_connected(from_ui): + row.value_node.changed.connect(from_ui) -func fetch_setting(): - if row != null: - _value = row.value_node.value - -func set_value(v): - super(v) - if row != null: - row.value_node.value = _value - row.value_node.update() +func from_ui(): + Global.set_setting(key, row.value_node.value) diff --git a/client/menu/settings/input/input_value_node.gd b/client/menu/settings/input/input_value_node.gd index 125a946b..9f89416b 100644 --- a/client/menu/settings/input/input_value_node.gd +++ b/client/menu/settings/input/input_value_node.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 tpart +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -19,6 +20,8 @@ class_name InputValueNode var value: Array[InputEvent] = [] var listening := false +signal changed() + @onready var actions_container: VBoxContainer = $ActionsContainer @onready var add_button: Button = $Add @onready var add_text = add_button.text @@ -55,6 +58,7 @@ func update(fix_focus: bool = false): func erase_event(e: InputEvent): value.erase(e) update(true) + changed.emit() func _input(e: InputEvent): if listening: @@ -66,6 +70,7 @@ func _input(e: InputEvent): value.append(e) _on_add_pressed() update() + changed.emit() func events_equal(e1: InputEvent, e2: InputEvent) -> bool: if e1 is InputEventKey and e2 is InputEventKey: diff --git a/client/menu/settings/preset.gd b/client/menu/settings/preset.gd deleted file mode 100644 index bb13b570..00000000 --- a/client/menu/settings/preset.gd +++ /dev/null @@ -1,39 +0,0 @@ -# Hurry Curry! - a game about cooking -# Copyright 2024 nokoe -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, version 3 of the License only. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -class_name Preset -extends Object - -var label: String -var options: Dictionary - -func _init(name_: String, options_: Dictionary): - label = name_ - options = options_ - -func apply(preset_name: String): - var preset: Dictionary = options[preset_name] - for i in preset.keys(): - var setting_name: String = i - Global.set_setting(setting_name, preset[setting_name]) - -func buttons() -> Array[Button]: - var arr: Array[Button] = [] - for i in options.keys(): - var button := Button.new() - button.pressed.connect(apply.bind(i)) - button.text = i - arr.push_back(button) - return arr diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd new file mode 100644 index 00000000..808f6381 --- /dev/null +++ b/client/menu/settings/preset_row.gd @@ -0,0 +1,38 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 nokoe +# Copyright 2024 metamuffin +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +class_name Preset +extends GameSetting + +var options: Dictionary +var arr: Array[Button] + +func _init(id: String, options_: Dictionary): + super(id) + options = options_ + +func apply(preset_name: String): + var preset: Dictionary = options[preset_name] + for i in preset.keys(): + var setting_name: String = i + Global.set_setting(setting_name, preset[setting_name]) + +func _update_row(): + for i in options.keys(): + var button := Button.new() + button.pressed.connect(apply.bind(i)) + button.text = i + arr.push_back(button) diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index d13e2262..d8616d54 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 nokoe +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -21,8 +22,8 @@ var max_value: float var tick_count var smooth: bool -func _init(new_description: String, new_preset: float, new_min_value: float, new_max_value: float, new_smooth: bool = true, new_tick_count = null): - super(new_description, new_preset) +func _init(new_id: String, new_default: float, new_min_value: float, new_max_value: float, new_smooth: bool = true, new_tick_count = null): + super(new_id, new_default) min_value = new_min_value max_value = new_max_value tick_count = new_tick_count @@ -35,13 +36,8 @@ func _update_row(): row.value_node.max_value = max_value row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) - row.value_node.value = _value + row.value_node.value = Global.get_setting(key) + if not row.value_node.value_changed.is_connected(from_ui): row.value_node.value_changed.connect(from_ui) -func fetch_setting(): - if row != null: - _value = row.value_node.value - -func set_value(v): - super(v) - if row != null: - row.value_node.value = _value +func from_ui(): + Global.set_setting(key, row.value_node.value) diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index c4601429..7425ea19 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -14,15 +14,48 @@ # along with this program. If not, see . # class_name SettingsCategory -extends Object +extends GameSetting -var name: String -var id: String -var settings: Dictionary # Dictionary[String, GameSetting] -var presets # Array[Preset] | null +var settings: Array # Dictionary[String, GameSetting] +var presets # Array[Preset] -func _init(new_name: String, new_id: String, new_settings: Dictionary, new_presets = null): - name = new_name - id = new_id +var options: VBoxContainer + +func _init(new_id: String, new_settings: Array, new_presets = []): + super(new_id) settings = new_settings - presets = new_presets + presets = new_presets + +func set_parent(parent: GameSetting): + super(parent) + for c in settings: + c.set_parent(self) + +func _update_row(): + if row == null: row = ScrollContainerCustom.new() + if options == null: options = VBoxContainer.new() + row.name = tr(nskey) + row.size_flags_horizontal = Control.SIZE_EXPAND_FILL + options.size_flags_horizontal = Control.SIZE_EXPAND_FILL + + if options.get_parent() != row: + row.add_child(options) + + if presets != null: + for i in presets: + var prow: SettingsRow = preload("res://menu/settings/settings_row.tscn").instantiate() + options.add_child(prow) + prow.label.text = i.label + prow.reset_button.visible = false + for b in i.buttons(): + prow.value_parent.add_child(b) + + for r in settings: + r._update_row() + if r.row.get_parent() != options: + print(r.row) + options.add_child(r.row) + +func check(): + for c in settings: + c.check() diff --git a/client/menu/settings/settings_root.gd b/client/menu/settings/settings_root.gd new file mode 100644 index 00000000..5acf7f11 --- /dev/null +++ b/client/menu/settings/settings_root.gd @@ -0,0 +1,36 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 metamuffin +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +extends GameSetting +class_name SettingsRoot + +var children: Array +func _init(new_children: Array): + super("root") + children = new_children + for c in children: + c.set_parent(null) + +func _update_row(): + if row == null: row = TabContainer.new() + row.size_flags_vertical = Control.SIZE_EXPAND_FILL + for r in children: + r._update_row() + if r.row.get_parent() != row: + row.add_child(r.row) + +func check(): + for c in children: + c.check() diff --git a/client/menu/settings/settings_row.gd b/client/menu/settings/settings_row.gd index f5621d78..68340918 100644 --- a/client/menu/settings/settings_row.gd +++ b/client/menu/settings/settings_row.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 nokoe +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index faafa610..6fa6b1ef 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 nokoe +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -18,21 +19,17 @@ extends GameSetting var placeholder: String -func _init(new_description: String, new_preset: String, new_placeholder: String = ""): - super(new_description, new_preset) +func _init(new_id: String, new_default: String, new_placeholder: String = ""): + super(new_id, new_default) placeholder = new_placeholder func _update_row(): super() row.value_node = LineEdit.new() - row.value_node.text = _value + row.value_node.text = Global.get_setting(key) row.value_node.placeholder_text = placeholder + if not row.value_node.text_changed.is_connected(from_ui): + row.value_node.text_changed.connect(from_ui) -func fetch_setting(): - if row != null: - _value = row.value_node.text - -func set_value(v): - super(v) - if row != null: - row.value_node.text = _value +func from_ui(text): + Global.set_setting(key, text) diff --git a/client/menu/settings/toggle_setting.gd b/client/menu/settings/toggle_setting.gd index 6d4150d4..45f08d9f 100644 --- a/client/menu/settings/toggle_setting.gd +++ b/client/menu/settings/toggle_setting.gd @@ -1,5 +1,6 @@ # Hurry Curry! - a game about cooking # Copyright 2024 nokoe +# Copyright 2024 metamuffin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -16,19 +17,15 @@ class_name ToggleSetting extends GameSetting -func _init(new_description: String, new_preset: bool): - super(new_description, new_preset) - -func fetch_setting(): - if row != null: - _value = row.value_node.button_pressed +func _init(new_id: String, new_default: bool): + super(new_id, new_default) func _update_row(): super() row.value_node = CheckButton.new() - row.value_node.button_pressed = _value + row.value_node.button_pressed = Global.get_setting(key) + if not row.value_node.pressed.is_connected(from_ui): + row.value_node.pressed.connect(from_ui) -func set_value(v): - super(v) - if row != null: - row.value_node.button_pressed = _value +func from_ui(): + Global.set_setting(key, row.value_node.button_pressed) -- cgit v1.2.3-70-g09d2 From 03bdf875aec224ee8f74c259ed776da52bad54ff Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 00:22:55 +0200 Subject: adjust some more translation strings --- client/menu/settings/preset_row.gd | 25 +++++++++----- client/menu/settings/range_setting.gd | 7 ++-- client/menu/settings/settings_category.gd | 15 ++------ client/menu/warning_popup.gd | 1 - locale/ar.ini | 30 ++++++++-------- locale/de.ini | 30 ++++++++-------- locale/en.ini | 57 ++++++++++++++++--------------- locale/es.ini | 30 ++++++++-------- locale/eu.ini | 30 ++++++++-------- locale/fi.ini | 30 ++++++++-------- locale/fr.ini | 30 ++++++++-------- locale/he.ini | 30 ++++++++-------- locale/ja.ini | 30 ++++++++-------- locale/pl.ini | 30 ++++++++-------- locale/pt.ini | 30 ++++++++-------- locale/tr.ini | 30 ++++++++-------- locale/zh_Hans.ini | 30 ++++++++-------- locale/zh_Hant.ini | 30 ++++++++-------- 18 files changed, 246 insertions(+), 249 deletions(-) (limited to 'client/menu/settings') diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd index 808f6381..7eca0c3c 100644 --- a/client/menu/settings/preset_row.gd +++ b/client/menu/settings/preset_row.gd @@ -14,7 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -class_name Preset +class_name PresetRow extends GameSetting var options: Dictionary @@ -24,15 +24,22 @@ func _init(id: String, options_: Dictionary): super(id) options = options_ +var prefix = "" +func set_parent(parent): + super(parent) + if parent != null: prefix = parent.key + func apply(preset_name: String): - var preset: Dictionary = options[preset_name] + var preset = options[preset_name] for i in preset.keys(): - var setting_name: String = i - Global.set_setting(setting_name, preset[setting_name]) + Global.set_setting(prefix + "." + i, preset[i]) func _update_row(): - for i in options.keys(): - var button := Button.new() - button.pressed.connect(apply.bind(i)) - button.text = i - arr.push_back(button) + super() + if row.value_node == null: + row.value_node = HBoxContainer.new() + for i in options.keys(): + var button := Button.new() + button.pressed.connect(apply.bind(i)) + button.text = tr(nskey + "." + i) + row.value_node.add_child(button) diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index d8616d54..49db7c21 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -37,7 +37,8 @@ func _update_row(): row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) row.value_node.value = Global.get_setting(key) - if not row.value_node.value_changed.is_connected(from_ui): row.value_node.value_changed.connect(from_ui) + if not row.value_node.value_changed.is_connected(from_ui): + row.value_node.value_changed.connect(from_ui) -func from_ui(): - Global.set_setting(key, row.value_node.value) +func from_ui(value): + Global.set_setting(key, value) diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index 7425ea19..a80c12c9 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -17,14 +17,12 @@ class_name SettingsCategory extends GameSetting var settings: Array # Dictionary[String, GameSetting] -var presets # Array[Preset] var options: VBoxContainer -func _init(new_id: String, new_settings: Array, new_presets = []): +func _init(new_id: String, new_settings: Array): super(new_id) settings = new_settings - presets = new_presets func set_parent(parent: GameSetting): super(parent) @@ -41,19 +39,10 @@ func _update_row(): if options.get_parent() != row: row.add_child(options) - if presets != null: - for i in presets: - var prow: SettingsRow = preload("res://menu/settings/settings_row.tscn").instantiate() - options.add_child(prow) - prow.label.text = i.label - prow.reset_button.visible = false - for b in i.buttons(): - prow.value_parent.add_child(b) - for r in settings: r._update_row() + print(r.row) if r.row.get_parent() != options: - print(r.row) options.add_child(r.row) func check(): diff --git a/client/menu/warning_popup.gd b/client/menu/warning_popup.gd index 20741834..fd23a30a 100644 --- a/client/menu/warning_popup.gd +++ b/client/menu/warning_popup.gd @@ -2,7 +2,6 @@ extends Menu class_name WarningPopup func _ready(): - print(self.data) $CenterContainer/Panel/MarginContainer/VBoxContainer/Message.text = self.data func _on_accept_pressed(): diff --git a/locale/ar.ini b/locale/ar.ini index 701df5b9..5e4869c9 100644 --- a/locale/ar.ini +++ b/locale/ar.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=زر القائمة/الهمبرغر/Menu c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=عرض معلومات التصحيح (fps، إلخ) +c.settings.graphics.debug_info=عرض معلومات التصحيح (fps، إلخ) c.settings.graphics.fullscreen=إملأ الشاشة c.settings.graphics.fullscreen.always=دائماً c.settings.graphics.fullscreen.keep=كما هو @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=قم دائمًا بتمديد الجري إل c.settings.graphics.gi=إضاءة عالمية c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GI -c.settings.glow=توهج +c.settings.graphics.glow=توهج c.settings.graphics=رسوميات c.settings.graphics.aa=تقنية التنعيم c.settings.graphics.ao=انسداد المحيط c.settings.graphics.taa=تقنية التنعيم الزمني -c.settings.grass_amount=كمية العشب الـ3D للخانة -c.settings.language=اللغة -c.settings.language.system=الوضع الافتراضي للجهاز +c.settings.graphics.grass_amount=كمية العشب الـ3D للخانة +c.settings.ui.language=اللغة +c.settings.ui.language.system=الوضع الافتراضي للجهاز c.settings.graphics.lq_trees=أشجار Low-poly c.settings.other= -c.settings.preset_high=عالي -c.settings.preset_low=ضعيف -c.settings.preset_medium=متوسط -c.settings.server_data=دليل الـserver data (اتركوه فارغًا للبحث التلقائي) -c.settings.server_path=ملف للـserver binary (اتركوه فارغًا للبحث في PATH) -c.settings.server_path.placeholder=مسار الملف -c.settings.shadows=ظلال -c.settings.smooth_camera=سلّس حركة الكاميرا +c.settings.graphics.preset.high=عالي +c.settings.graphics.preset.low=ضعيف +c.settings.graphics.preset.medium=متوسط +c.settings.other.server_data=دليل الـserver data (اتركوه فارغًا للبحث التلقائي) +c.settings.other.server_path=ملف للـserver binary (اتركوه فارغًا للبحث في PATH) +c.settings.other.server_path.placeholder=مسار الملف +c.settings.graphics.shadows=ظلال +c.settings.gameplay.smooth_camera=سلّس حركة الكاميرا c.settings.ui=الإسم c.settings.ui.scale_factor=عامل حجم واجهة المستخدم c.settings.ui.scale_mode=طريقة تحجيم واجهة المستخدم c.settings.ui.scale_mode.resize=تحديد الحجم تلقائيًا c.settings.ui.touch_controls=فعّل شاشة اللمس -c.settings.ui_blur=موّه واجهة المستخدم +c.settings.graphics.ui_blur=موّه واجهة المستخدم c.settings.username=الإسم c.setup.contract_title=عقد عمل c.setup.par00=هذا عقد ملزم بينكم (الموظف) وشركة موستر فوودز(Musterfoods) المحدودة (صاحب العمل) للعمل كطهاة أو نادلين. @@ -154,7 +154,7 @@ unknown551=غير موجود unknown568=تسريحة الشعر %d unknown572=النماذج unknown576=الاصوات -unknown59=تم الانتهاء من الإعداد الأولي. (إزيلوا علامة الإختيار وأعدوا التشغيل لإعادة الدخول) +c.settings.gameplay.setup_completed=تم الانتهاء من الإعداد الأولي. (إزيلوا علامة الإختيار وأعدوا التشغيل لإعادة الدخول) unknown622=يجب عليكم ملء جميع الحقول. unknown626=حسنا unknown63=بدأ البرنامج التعليمي diff --git a/locale/de.ini b/locale/de.ini index e76c0aac..4a52d1c8 100644 --- a/locale/de.ini +++ b/locale/de.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard=%s (Tastatur) c.settings.input.mouse_button=Maustaste %s c.settings.input.other_event=Anderes Ereignis c.settings.input.press_any_key=Drücke eine Taste... -c.settings.debug_info=Diagnosedaten anzeigen (Bildrate, etc.) +c.settings.graphics.debug_info=Diagnosedaten anzeigen (Bildrate, etc.) c.settings.graphics.fullscreen=Vollbild c.settings.graphics.fullscreen.always=Immer c.settings.graphics.fullscreen.keep=Beibehalten @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=Schub immer bis zum Anschlag verlängern c.settings.graphics.gi=Globale Beleuchtung c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GlobaleBeleuchtung -c.settings.glow=Glow aktivieren +c.settings.graphics.glow=Glow aktivieren c.settings.graphics=Grafikvoreinstellung c.settings.graphics.aa=Kantenglättung c.settings.graphics.ao=Umgebungsverdeckung c.settings.graphics.taa=Zeitliche Kantenglättung -c.settings.grass_amount=3D-Grasmenge pro Tile -c.settings.language=Sprache -c.settings.language.system=Systemstandard +c.settings.graphics.grass_amount=3D-Grasmenge pro Tile +c.settings.ui.language=Sprache +c.settings.ui.language.system=Systemstandard c.settings.graphics.lq_trees=Low-poly-Bäume c.settings.other=Sonstiges -c.settings.preset_high=Hoch -c.settings.preset_low=Niedrig -c.settings.preset_medium=Mittel -c.settings.server_data=Server Datenverzeichnis (leer lassen, um automatisch zu erkennen) -c.settings.server_path=Pfad zum Server (leer lassen, um PATH zu durchsuchen) -c.settings.server_path.placeholder=Pfad eingeben -c.settings.shadows=Schatten aktivieren -c.settings.smooth_camera=Kameradrehung glätten +c.settings.graphics.preset.high=Hoch +c.settings.graphics.preset.low=Niedrig +c.settings.graphics.preset.medium=Mittel +c.settings.other.server_data=Server Datenverzeichnis (leer lassen, um automatisch zu erkennen) +c.settings.other.server_path=Pfad zum Server (leer lassen, um PATH zu durchsuchen) +c.settings.other.server_path.placeholder=Pfad eingeben +c.settings.graphics.shadows=Schatten aktivieren +c.settings.gameplay.smooth_camera=Kameradrehung glätten c.settings.ui=Benutzeroberfläche c.settings.ui.scale_factor=Benutzeroberflächen Skalierungs Faktor c.settings.ui.scale_mode=Benutzeroberflächen Skalierungs Modus c.settings.ui.scale_mode.resize=Skalieren c.settings.ui.touch_controls=Touchsteuerelemente aktivieren -c.settings.ui_blur=Benutzeroberflächenunschärfe +c.settings.graphics.ui_blur=Benutzeroberflächenunschärfe c.settings.username=Benutzername c.setup.contract_title=ARBEITSVERTRAG c.setup.par00=Dies ist ein verbindlicher Vertrag zwischen Ihnen (der/die Angestelte) und Musterfoods GmbH. Sie verpflichten sich, Ihren Aufgaben als Koch/Köchin bzw. Bedienung nachzugehen. @@ -154,7 +154,7 @@ unknown551=Nicht verfügbar unknown568=Frisur %d unknown572=Modelle unknown576=Soundeffekte -unknown59=Ersteinrichtung abgeschlossen (Deaktivieren und Spiel neu starten zum Neueinrichten) +c.settings.gameplay.setup_completed=Ersteinrichtung abgeschlossen (Deaktivieren und Spiel neu starten zum Neueinrichten) unknown622=Sie müssen alle verlangten Felder ausfüllen. unknown626=Akzeptieren unknown63=Anleitung gestartet diff --git a/locale/en.ini b/locale/en.ini index 472c88db..38dcff81 100644 --- a/locale/en.ini +++ b/locale/en.ini @@ -75,43 +75,44 @@ c.settings.audio.master_volume=Master Volume c.settings.audio.music_volume=Music Volume c.settings.audio.sfx_volume=SFX Volume c.settings.audio=Audio -c.settings.input.add=Add new -c.settings.input.joypad_axis=Joypad axis %s -c.settings.input.joypad=%s (Joypad) -c.settings.input.keyboard=%s (Keyboard) -c.settings.input.mouse_button=Mouse button %s -c.settings.input.other_event=Other event -c.settings.input.press_any_key=Press any key... -c.settings.input=Controls -c.settings.debug_info=Display debug info (Framerate, etc.) +c.settings.graphics.debug_info=Display debug info (Framerate, etc.) +c.settings.gameplay.extend_boost=Always extend boost to maximum duration +c.settings.gameplay=Gameplay +c.settings.graphics.glow=Enable glow +c.settings.graphics.aa=Anti-aliasing +c.settings.graphics.ao=Ambient occlusion c.settings.graphics.fullscreen.always=Always c.settings.graphics.fullscreen.keep=Keep c.settings.graphics.fullscreen.never=Never c.settings.graphics.fullscreen=Fullscreen -c.settings.gameplay.extend_boost=Always extend boost to maximum duration -c.settings.gameplay=Gameplay c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GI c.settings.graphics.gi=Global illumination -c.settings.glow=Enable glow -c.settings.graphics.aa=Anti-aliasing -c.settings.graphics.ao=Ambient occlusion +c.settings.graphics.lq_trees=Low-poly trees +c.settings.graphics.preset.high=High +c.settings.graphics.preset.low=Low +c.settings.graphics.preset.medium=Medium +c.settings.graphics.preset=Load preset c.settings.graphics.taa=Temporal Anti-Aliasing c.settings.graphics=Graphics -c.settings.grass_amount=3D grass amount per grass tile -c.settings.language.system=System default -c.settings.language=Language -c.settings.graphics.lq_trees=Low-poly trees +c.settings.graphics.grass_amount=3D grass amount per grass tile +c.settings.input.add=Add new +c.settings.input.joypad_axis=Joypad axis %s +c.settings.input.joypad=%s (Joypad) +c.settings.input.keyboard=%s (Keyboard) +c.settings.input.mouse_button=Mouse button %s +c.settings.input.other_event=Other event +c.settings.input.press_any_key=Press any key... +c.settings.input=Controls +c.settings.ui.language.system=System default +c.settings.ui.language=Language c.settings.other=Other -c.settings.preset_high=High -c.settings.preset_low=Low -c.settings.preset_medium=Medium -c.settings.server_data=Server data directory (leave empty to auto-detect) -c.settings.server_path.placeholder=Enter path -c.settings.server_path=Server binary (leave empty to search PATH) -c.settings.shadows=Enable shadows -c.settings.smooth_camera=Smooth camera rotation -c.settings.ui_blur=Enable UI blur +c.settings.other.server_data=Server data directory (leave empty to auto-detect) +c.settings.other.server_path.placeholder=Enter path +c.settings.other.server_path=Server binary (leave empty to search PATH) +c.settings.graphics.shadows=Enable shadows +c.settings.gameplay.smooth_camera=Smooth camera rotation +c.settings.graphics.ui_blur=Enable UI blur c.settings.ui.scale_factor=UI scale factor c.settings.ui.scale_mode.resize=Resize c.settings.ui.scale_mode=UI scale mode @@ -162,7 +163,7 @@ unknown564=Server and client versions do not match. Server: %d.%d, Client: %d.%d unknown568=Hairstyle %d unknown572=Models unknown576=Sounds -unknown59=Initial setup complete. (Uncheck and restart to reenter) +c.settings.gameplay.setup_completed=Initial setup complete. (Uncheck and restart to reenter) unknown598=[/table]%n%n%n unknown622=You must fill out all requested fields. unknown626=Accept diff --git a/locale/es.ini b/locale/es.ini index 14951de4..8af6d014 100644 --- a/locale/es.ini +++ b/locale/es.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=Botón de menú c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=Mostrar información de depuración (Cuadros por segundo, etc.) +c.settings.graphics.debug_info=Mostrar información de depuración (Cuadros por segundo, etc.) c.settings.graphics.fullscreen=Pantalla completa c.settings.graphics.fullscreen.always=Siempre c.settings.graphics.fullscreen.keep=Mantener @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=Siempre extienda el impulso a la duración máx c.settings.graphics.gi=Iluminación global c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GI -c.settings.glow=Activar brillo +c.settings.graphics.glow=Activar brillo c.settings.graphics=Gráficos c.settings.graphics.aa=Antialiasing c.settings.graphics.ao=Oclusión ambiental c.settings.graphics.taa=Antialiasing temporal -c.settings.grass_amount=cantidad de hierba 3D por loseta de césped -c.settings.language=Lengua -c.settings.language.system=Sistema por defecto +c.settings.graphics.grass_amount=cantidad de hierba 3D por loseta de césped +c.settings.ui.language=Lengua +c.settings.ui.language.system=Sistema por defecto c.settings.graphics.lq_trees=Árboles con pocos polígonos c.settings.other= -c.settings.preset_high=Alto -c.settings.preset_low=Bajo -c.settings.preset_medium=Medio -c.settings.server_data=Directorio de datos del servidor (deja vacío para detectar automáticamente) -c.settings.server_path=Binario del servidor (deja vacío para buscar RUTA) -c.settings.server_path.placeholder=Pone ruta -c.settings.shadows=Activar sombras -c.settings.smooth_camera=Interpolar la rotación de la cámara +c.settings.graphics.preset.high=Alto +c.settings.graphics.preset.low=Bajo +c.settings.graphics.preset.medium=Medio +c.settings.other.server_data=Directorio de datos del servidor (deja vacío para detectar automáticamente) +c.settings.other.server_path=Binario del servidor (deja vacío para buscar RUTA) +c.settings.other.server_path.placeholder=Pone ruta +c.settings.graphics.shadows=Activar sombras +c.settings.gameplay.smooth_camera=Interpolar la rotación de la cámara c.settings.ui=Nombre de usuario c.settings.ui.scale_factor=Escala de interfaz de usuario c.settings.ui.scale_mode=Modo d’escala de interfaz de usuario c.settings.ui.scale_mode.resize=Redimensionado c.settings.ui.touch_controls=Permitir controles de pantalla táctil -c.settings.ui_blur=Activar difuminar +c.settings.graphics.ui_blur=Activar difuminar c.settings.username=Nombre de usuario c.setup.contract_title=CONTRATO DE EMPLEO c.setup.par00=Este es un contrato oficial entre usted (el empleado) y Musterfoods Ltd. (el empleador) para trabajar como chef o camarero. @@ -154,7 +154,7 @@ unknown551=Servidor (No disponible) unknown568=Peinado %d unknown572=Modelos unknown576=Sonidos -unknown59=Configuración inicial completa. (Desmarque y recomenza para reentrar) +c.settings.gameplay.setup_completed=Configuración inicial completa. (Desmarque y recomenza para reentrar) unknown622=Debes completar todos los requisitos. unknown626=Aceptar unknown63=Tutorial comenzó diff --git a/locale/eu.ini b/locale/eu.ini index 97005a4d..534dda8c 100644 --- a/locale/eu.ini +++ b/locale/eu.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard=%s (Teklatua) c.settings.input.mouse_button=Saguaren %s botoia c.settings.input.other_event=Beste gertaerak c.settings.input.press_any_key=Sakatu edozein tekla... -c.settings.debug_info=Erakutsi arazte informazioa (FPS, etab.) +c.settings.graphics.debug_info=Erakutsi arazte informazioa (FPS, etab.) c.settings.graphics.fullscreen=Pantaila osoa c.settings.graphics.fullscreen.always=Beti c.settings.graphics.fullscreen.keep=Mantendu @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=Beti luzatu bultzada iraupen luzeenera c.settings.graphics.gi=Argiztapen orokorra c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GI -c.settings.glow=Gaitu distira +c.settings.graphics.glow=Gaitu distira c.settings.graphics=Grafikoak c.settings.graphics.aa=Anti-aliasinga c.settings.graphics.ao=Giro oklusioa c.settings.graphics.taa=Anti-aliasing tenporala -c.settings.grass_amount=3D belar kopurua belar lauza bakoitzeko -c.settings.language=Hizkuntza -c.settings.language.system=Sistemaren berezkoak +c.settings.graphics.grass_amount=3D belar kopurua belar lauza bakoitzeko +c.settings.ui.language=Hizkuntza +c.settings.ui.language.system=Sistemaren berezkoak c.settings.graphics.lq_trees=Low-poly zuhaitzak c.settings.other=Besteak -c.settings.preset_high=Altua -c.settings.preset_low=Baxua -c.settings.preset_medium=Erdikoa -c.settings.server_data=Zerbitzariaren datu direktorioa (hutsik utzi automatikoki bilatzeko) -c.settings.server_path=Zerbitzari exekutagarria (hutsik utzi PATH-en bilatzeko) -c.settings.server_path.placeholder=Sartu bidea -c.settings.shadows=Gaitu itzalak -c.settings.smooth_camera=Kamera biraketa leuna +c.settings.graphics.preset.high=Altua +c.settings.graphics.preset.low=Baxua +c.settings.graphics.preset.medium=Erdikoa +c.settings.other.server_data=Zerbitzariaren datu direktorioa (hutsik utzi automatikoki bilatzeko) +c.settings.other.server_path=Zerbitzari exekutagarria (hutsik utzi PATH-en bilatzeko) +c.settings.other.server_path.placeholder=Sartu bidea +c.settings.graphics.shadows=Gaitu itzalak +c.settings.gameplay.smooth_camera=Kamera biraketa leuna c.settings.ui=Erab. Interfazea c.settings.ui.scale_factor=UI eskalatze faktorea c.settings.ui.scale_mode=UI eskalatze modua c.settings.ui.scale_mode.resize=Neurria aldatu c.settings.ui.touch_controls=Gaitu ukipen-pantaila kontrolak -c.settings.ui_blur=Gaitu UI lausotzea +c.settings.graphics.ui_blur=Gaitu UI lausotzea c.settings.username=Erabiltzaile izena c.setup.contract_title=LAN KONTRATUA c.setup.par00=Zure (langilea) eta Musterfoods Ltd. (enpresa)-ren arteko kontratu loteslea da hau, chef edo zerbitzari gisa lan egin dezazun. @@ -154,7 +154,7 @@ unknown551=eskuraezina unknown568=%d orrazkera unknown572=Modeloak unknown576=Soinuak -unknown59=Hasierako konfigurazioa osatuta. (Marka kendu eta berrabiarazi berriz sartzeko) +c.settings.gameplay.setup_completed=Hasierako konfigurazioa osatuta. (Marka kendu eta berrabiarazi berriz sartzeko) unknown622=Eskatutako eremu guztiak bete behar dituzu. unknown626=Onartu unknown63=Tutoriala hasi da diff --git a/locale/fi.ini b/locale/fi.ini index f89bdb78..271d533e 100644 --- a/locale/fi.ini +++ b/locale/fi.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button= c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info= +c.settings.graphics.debug_info= c.settings.graphics.fullscreen= c.settings.graphics.fullscreen.always= c.settings.graphics.fullscreen.keep= @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost= c.settings.graphics.gi= c.settings.graphics.gi.sdfgi= c.settings.graphics.gi.voxelgi= -c.settings.glow= +c.settings.graphics.glow= c.settings.graphics= c.settings.graphics.aa= c.settings.graphics.ao= c.settings.graphics.taa= -c.settings.grass_amount= -c.settings.language= -c.settings.language.system= +c.settings.graphics.grass_amount= +c.settings.ui.language= +c.settings.ui.language.system= c.settings.graphics.lq_trees= c.settings.other= -c.settings.preset_high= -c.settings.preset_low= -c.settings.preset_medium= -c.settings.server_data= -c.settings.server_path= -c.settings.server_path.placeholder= -c.settings.shadows= -c.settings.smooth_camera= +c.settings.graphics.preset.high= +c.settings.graphics.preset.low= +c.settings.graphics.preset.medium= +c.settings.other.server_data= +c.settings.other.server_path= +c.settings.other.server_path.placeholder= +c.settings.graphics.shadows= +c.settings.gameplay.smooth_camera= c.settings.ui= c.settings.ui.scale_factor= c.settings.ui.scale_mode= c.settings.ui.scale_mode.resize= c.settings.ui.touch_controls= -c.settings.ui_blur= +c.settings.graphics.ui_blur= c.settings.username= c.setup.contract_title= c.setup.par00= @@ -154,7 +154,7 @@ unknown551= unknown568= unknown572= unknown576= -unknown59= +c.settings.gameplay.setup_completed= unknown622= unknown626= unknown63= diff --git a/locale/fr.ini b/locale/fr.ini index 2934fb14..836989aa 100644 --- a/locale/fr.ini +++ b/locale/fr.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=Bouton de menu c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=Montrer les informations de débogage (Fréquence d’images, etc.) +c.settings.graphics.debug_info=Montrer les informations de débogage (Fréquence d’images, etc.) c.settings.graphics.fullscreen=Plein écran c.settings.graphics.fullscreen.always=Toujours c.settings.graphics.fullscreen.keep=Garder @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=Toujours prolonger le boost jusqu’à la duré c.settings.graphics.gi=Luminosité générale c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=IG Voxel -c.settings.glow=Activer la lueur +c.settings.graphics.glow=Activer la lueur c.settings.graphics=Graphismes c.settings.graphics.aa=Anti crénelage c.settings.graphics.ao=Occlusion ambiante c.settings.graphics.taa=Anti crénelage temporel -c.settings.grass_amount=Quantité d’herbe 3D par tuile d’herbe -c.settings.language=Langue -c.settings.language.system=Défaut du système +c.settings.graphics.grass_amount=Quantité d’herbe 3D par tuile d’herbe +c.settings.ui.language=Langue +c.settings.ui.language.system=Défaut du système c.settings.graphics.lq_trees=Arbres de quelques polygones c.settings.other= -c.settings.preset_high=Élevé -c.settings.preset_low=Faible -c.settings.preset_medium=Moyen -c.settings.server_data=Répertoire de données du serveur (laisser vide pour la détection automatique) -c.settings.server_path=Binaire du serveur (laisser vide pour rechercher le chemin) -c.settings.server_path.placeholder=Entrez le chemin -c.settings.shadows=Activer les ombres -c.settings.smooth_camera=Interpoler la rotation de la caméra +c.settings.graphics.preset.high=Élevé +c.settings.graphics.preset.low=Faible +c.settings.graphics.preset.medium=Moyen +c.settings.other.server_data=Répertoire de données du serveur (laisser vide pour la détection automatique) +c.settings.other.server_path=Binaire du serveur (laisser vide pour rechercher le chemin) +c.settings.other.server_path.placeholder=Entrez le chemin +c.settings.graphics.shadows=Activer les ombres +c.settings.gameplay.smooth_camera=Interpoler la rotation de la caméra c.settings.ui=Nom d’utilisateur c.settings.ui.scale_factor=Taille de l’interface utilisateur c.settings.ui.scale_mode=Mode d’échelle de l’interface utilisateur c.settings.ui.scale_mode.resize=Redimensionner c.settings.ui.touch_controls=Activer les commandes de l’écran tactile -c.settings.ui_blur=Activer le flou dans l’interface utilisateus +c.settings.graphics.ui_blur=Activer le flou dans l’interface utilisateus c.settings.username=Nom d’utilisateur c.setup.contract_title=CONTRAT DE TRAVAIL c.setup.par00=Ce contrat légal est rédigé entre vous (l’employé) et Musterfoods Ltd. (l’employeur) pour travailler comme chef ou serveur. @@ -154,7 +154,7 @@ unknown551=Serveur (Indisponible) unknown568=Coiffure %d unknown572=Modèles unknown576=Sons -unknown59=Configuration initiale terminée. (Décochez et recommencer pour entrer à nouveau) +c.settings.gameplay.setup_completed=Configuration initiale terminée. (Décochez et recommencer pour entrer à nouveau) unknown622=Vous devez remplir tous les champs requis. unknown626=Accepter unknown63=Tutoriel commencé diff --git a/locale/he.ini b/locale/he.ini index 0feafee9..e20a6a24 100644 --- a/locale/he.ini +++ b/locale/he.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=כפתור התפריט c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info= +c.settings.graphics.debug_info= c.settings.graphics.fullscreen=מסך מלא c.settings.graphics.fullscreen.always=תמיד c.settings.graphics.fullscreen.keep=שמור @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=תמיד הארך דחיפה לזמן המיר c.settings.graphics.gi=תאורה גלובאלית c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi= -c.settings.glow=אפשר זוהר +c.settings.graphics.glow=אפשר זוהר c.settings.graphics=גרפיקה c.settings.graphics.aa=אנטי אליאסינג c.settings.graphics.ao=ספיגה סביבתית c.settings.graphics.taa= -c.settings.grass_amount=כמות דשא תלת מימדית לכל אריח דשא -c.settings.language=שפה -c.settings.language.system=ברירת מחדל +c.settings.graphics.grass_amount=כמות דשא תלת מימדית לכל אריח דשא +c.settings.ui.language=שפה +c.settings.ui.language.system=ברירת מחדל c.settings.graphics.lq_trees= c.settings.other= -c.settings.preset_high=גבוה -c.settings.preset_low=נמוך -c.settings.preset_medium= -c.settings.server_data=תקיית המידע של השרת (השאר ריק על מנת לזהות אוטומטית) -c.settings.server_path=קובץ הרצה של השרת (השאר ריק על מנת לחפש ב PATH) -c.settings.server_path.placeholder=הכנס נתיב -c.settings.shadows=אפשר צללים -c.settings.smooth_camera= +c.settings.graphics.preset.high=גבוה +c.settings.graphics.preset.low=נמוך +c.settings.graphics.preset.medium= +c.settings.other.server_data=תקיית המידע של השרת (השאר ריק על מנת לזהות אוטומטית) +c.settings.other.server_path=קובץ הרצה של השרת (השאר ריק על מנת לחפש ב PATH) +c.settings.other.server_path.placeholder=הכנס נתיב +c.settings.graphics.shadows=אפשר צללים +c.settings.gameplay.smooth_camera= c.settings.ui=שם משתמש c.settings.ui.scale_factor= c.settings.ui.scale_mode= c.settings.ui.scale_mode.resize=שנה גודל c.settings.ui.touch_controls=אפשר מסך מגע -c.settings.ui_blur= +c.settings.graphics.ui_blur= c.settings.username=שם משתמש c.setup.contract_title=חוזה מעביד c.setup.par00=מסמך זה הינו חוזה המחייב בינך (העובד) ומאסטרפוד בע"מ (המעביד) על מנת לעבוד כשף או מלצר. @@ -154,7 +154,7 @@ unknown551= unknown568=תספורת %d unknown572=מודלים unknown576= -unknown59=אתחול ראשוני נגמר. (הורד סימון והדלק מחדש על מנת להכנס מחדש) +c.settings.gameplay.setup_completed=אתחול ראשוני נגמר. (הורד סימון והדלק מחדש על מנת להכנס מחדש) unknown622=אנא מלאו את כל השדות הנדרשים. unknown626=אשר unknown63=הדרכה התחילה diff --git a/locale/ja.ini b/locale/ja.ini index 03ad283b..a6597d93 100644 --- a/locale/ja.ini +++ b/locale/ja.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=メニューボタン c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=デバッグ情報を表示(フレームレートなど) +c.settings.graphics.debug_info=デバッグ情報を表示(フレームレートなど) c.settings.graphics.fullscreen=全画面 c.settings.graphics.fullscreen.always=いつも c.settings.graphics.fullscreen.keep=保つ @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=ブーストを常に最大限に拡張する c.settings.graphics.gi=グローバルイルミネーション c.settings.graphics.gi.sdfgi=SDFGI c.settings.graphics.gi.voxelgi=Voxel GI -c.settings.glow=グローを有効に +c.settings.graphics.glow=グローを有効に c.settings.graphics=グラフィックス c.settings.graphics.aa=アンチエイリアシング c.settings.graphics.ao=アンビエントオクルージョン c.settings.graphics.taa=テンポラルアンチエイリアシング -c.settings.grass_amount=芝生タイルあたりの3D芝生 -c.settings.language=言語 -c.settings.language.system=システムのデフォルト +c.settings.graphics.grass_amount=芝生タイルあたりの3D芝生 +c.settings.ui.language=言語 +c.settings.ui.language.system=システムのデフォルト c.settings.graphics.lq_trees=ローポリ木 c.settings.other= -c.settings.preset_high=高 -c.settings.preset_low=悪い -c.settings.preset_medium=正常 -c.settings.server_data=サーバーデータディレクトリ(させて空の -> 自動検出) -c.settings.server_path=サーバーバイナリ(させて空の ->「パス」) -c.settings.server_path.placeholder=パスを入力 -c.settings.shadows=影を有効に -c.settings.smooth_camera=カメラの回転を補間 +c.settings.graphics.preset.high=高 +c.settings.graphics.preset.low=悪い +c.settings.graphics.preset.medium=正常 +c.settings.other.server_data=サーバーデータディレクトリ(させて空の -> 自動検出) +c.settings.other.server_path=サーバーバイナリ(させて空の ->「パス」) +c.settings.other.server_path.placeholder=パスを入力 +c.settings.graphics.shadows=影を有効に +c.settings.gameplay.smooth_camera=カメラの回転を補間 c.settings.ui=ユーザー名 c.settings.ui.scale_factor=UIスケール c.settings.ui.scale_mode=UIスケール c.settings.ui.scale_mode.resize=サイズ変更 c.settings.ui.touch_controls=タッチスクリーンコントロールを有効に -c.settings.ui_blur=グローを有効に +c.settings.graphics.ui_blur=グローを有効に c.settings.username=ユーザー名 c.setup.contract_title=「雇用契約」 c.setup.par00=これは雇用契約。あなた【 従業員】と Musterfoods Ltd.【雇用主】の間のシェフやウェイターとして働く。 @@ -154,7 +154,7 @@ unknown551=利用不可 unknown568=髪型 %d unknown572=モデル unknown576=サウンド -unknown59=初期設定完了。(チェックを外して再起動して) +c.settings.gameplay.setup_completed=初期設定完了。(チェックを外して再起動して) unknown622=要求されたフィールドをすべて入力する必要があります。 unknown626=アクセプト unknown63=チュートリアルを開始 diff --git a/locale/pl.ini b/locale/pl.ini index 036c595b..7c12a3d7 100644 --- a/locale/pl.ini +++ b/locale/pl.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=przycisk menu c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=Wyświetlaj informacje debugowania (częstość klatek itp.) +c.settings.graphics.debug_info=Wyświetlaj informacje debugowania (częstość klatek itp.) c.settings.graphics.fullscreen=Pełny ekran c.settings.graphics.fullscreen.always=Zawsze c.settings.graphics.fullscreen.keep=Zachowaj @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=Zawsze wydłużaj przyspieszenie do maksymalneg c.settings.graphics.gi=Globalne oświetlenie c.settings.graphics.gi.sdfgi=SDF c.settings.graphics.gi.voxelgi=Oświetlenie wokselowe -c.settings.glow=Połysk +c.settings.graphics.glow=Połysk c.settings.graphics=Ustawienia grafiki c.settings.graphics.aa=Antyaliasing c.settings.graphics.ao=Okluzja otoczenia c.settings.graphics.taa=Antyaliasing temporalny -c.settings.grass_amount=Gęstość trawy 3D -c.settings.language=Język -c.settings.language.system=Domyślny systemowy +c.settings.graphics.grass_amount=Gęstość trawy 3D +c.settings.ui.language=Język +c.settings.ui.language.system=Domyślny systemowy c.settings.graphics.lq_trees=Drzewa low-poly c.settings.other= -c.settings.preset_high=Wysokie -c.settings.preset_low=Niskie -c.settings.preset_medium=Średnie -c.settings.server_data=Folder danych serwera (pozostaw puste aby wykryć automatycznie) -c.settings.server_path=Plik wykonywalny serwera (pozostaw puste aby przeszukać ścieżkę PATH) -c.settings.server_path.placeholder=Podaj ścieżkę -c.settings.shadows=Cienie -c.settings.smooth_camera=Gładki obrót kamery +c.settings.graphics.preset.high=Wysokie +c.settings.graphics.preset.low=Niskie +c.settings.graphics.preset.medium=Średnie +c.settings.other.server_data=Folder danych serwera (pozostaw puste aby wykryć automatycznie) +c.settings.other.server_path=Plik wykonywalny serwera (pozostaw puste aby przeszukać ścieżkę PATH) +c.settings.other.server_path.placeholder=Podaj ścieżkę +c.settings.graphics.shadows=Cienie +c.settings.gameplay.smooth_camera=Gładki obrót kamery c.settings.ui=Nazwa użytkownika c.settings.ui.scale_factor=Stopień skalowania interfejsu c.settings.ui.scale_mode=Skalowanie interfejsu c.settings.ui.scale_mode.resize=Dopasuj c.settings.ui.touch_controls=Sterowanie dotykowe -c.settings.ui_blur=Rozmycie interfejsu +c.settings.graphics.ui_blur=Rozmycie interfejsu c.settings.username=Nazwa użytkownika c.setup.contract_title=UMOWA ZATRUDNIENIA c.setup.par00=Niniejszy dokument stanowi umowę między Panem/Panią (zatrudnionym) a Musterfoods sp. z o. o. (pracodawcą) na stanowisku kucharz/kelner. @@ -154,7 +154,7 @@ unknown551=niedostępne unknown568=Fryzura %d unknown572=Modele unknown576=Oprawa dźwiękowa -unknown59=Konfiguracja wstępna ukończona. (Odznacz i zrestartuj aby wykonać ponownie) +c.settings.gameplay.setup_completed=Konfiguracja wstępna ukończona. (Odznacz i zrestartuj aby wykonać ponownie) unknown622=Musisz wypełnić wymagane pola. unknown626=Zatwierdź unknown63=Tutorial rozpoczęty diff --git a/locale/pt.ini b/locale/pt.ini index f89bdb78..271d533e 100644 --- a/locale/pt.ini +++ b/locale/pt.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button= c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info= +c.settings.graphics.debug_info= c.settings.graphics.fullscreen= c.settings.graphics.fullscreen.always= c.settings.graphics.fullscreen.keep= @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost= c.settings.graphics.gi= c.settings.graphics.gi.sdfgi= c.settings.graphics.gi.voxelgi= -c.settings.glow= +c.settings.graphics.glow= c.settings.graphics= c.settings.graphics.aa= c.settings.graphics.ao= c.settings.graphics.taa= -c.settings.grass_amount= -c.settings.language= -c.settings.language.system= +c.settings.graphics.grass_amount= +c.settings.ui.language= +c.settings.ui.language.system= c.settings.graphics.lq_trees= c.settings.other= -c.settings.preset_high= -c.settings.preset_low= -c.settings.preset_medium= -c.settings.server_data= -c.settings.server_path= -c.settings.server_path.placeholder= -c.settings.shadows= -c.settings.smooth_camera= +c.settings.graphics.preset.high= +c.settings.graphics.preset.low= +c.settings.graphics.preset.medium= +c.settings.other.server_data= +c.settings.other.server_path= +c.settings.other.server_path.placeholder= +c.settings.graphics.shadows= +c.settings.gameplay.smooth_camera= c.settings.ui= c.settings.ui.scale_factor= c.settings.ui.scale_mode= c.settings.ui.scale_mode.resize= c.settings.ui.touch_controls= -c.settings.ui_blur= +c.settings.graphics.ui_blur= c.settings.username= c.setup.contract_title= c.setup.par00= @@ -154,7 +154,7 @@ unknown551= unknown568= unknown572= unknown576= -unknown59= +c.settings.gameplay.setup_completed= unknown622= unknown626= unknown63= diff --git a/locale/tr.ini b/locale/tr.ini index f89bdb78..271d533e 100644 --- a/locale/tr.ini +++ b/locale/tr.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button= c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info= +c.settings.graphics.debug_info= c.settings.graphics.fullscreen= c.settings.graphics.fullscreen.always= c.settings.graphics.fullscreen.keep= @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost= c.settings.graphics.gi= c.settings.graphics.gi.sdfgi= c.settings.graphics.gi.voxelgi= -c.settings.glow= +c.settings.graphics.glow= c.settings.graphics= c.settings.graphics.aa= c.settings.graphics.ao= c.settings.graphics.taa= -c.settings.grass_amount= -c.settings.language= -c.settings.language.system= +c.settings.graphics.grass_amount= +c.settings.ui.language= +c.settings.ui.language.system= c.settings.graphics.lq_trees= c.settings.other= -c.settings.preset_high= -c.settings.preset_low= -c.settings.preset_medium= -c.settings.server_data= -c.settings.server_path= -c.settings.server_path.placeholder= -c.settings.shadows= -c.settings.smooth_camera= +c.settings.graphics.preset.high= +c.settings.graphics.preset.low= +c.settings.graphics.preset.medium= +c.settings.other.server_data= +c.settings.other.server_path= +c.settings.other.server_path.placeholder= +c.settings.graphics.shadows= +c.settings.gameplay.smooth_camera= c.settings.ui= c.settings.ui.scale_factor= c.settings.ui.scale_mode= c.settings.ui.scale_mode.resize= c.settings.ui.touch_controls= -c.settings.ui_blur= +c.settings.graphics.ui_blur= c.settings.username= c.setup.contract_title= c.setup.par00= @@ -154,7 +154,7 @@ unknown551= unknown568= unknown572= unknown576= -unknown59= +c.settings.gameplay.setup_completed= unknown622= unknown626= unknown63= diff --git a/locale/zh_Hans.ini b/locale/zh_Hans.ini index 8ff41d7d..e5003956 100644 --- a/locale/zh_Hans.ini +++ b/locale/zh_Hans.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard=%s(键盘) c.settings.input.mouse_button=鼠标按钮 %s c.settings.input.other_event=其他活动 c.settings.input.press_any_key=按任意键… -c.settings.debug_info=显示调试信息(帧率等) +c.settings.graphics.debug_info=显示调试信息(帧率等) c.settings.graphics.fullscreen=全屏 c.settings.graphics.fullscreen.always=始终 c.settings.graphics.fullscreen.keep=保持 @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=始终将加速延长至最大持续时间 c.settings.graphics.gi=全局照明 c.settings.graphics.gi.sdfgi=有符号距离场全局照明 c.settings.graphics.gi.voxelgi=体素全局照明 -c.settings.glow=启用辉光 +c.settings.graphics.glow=启用辉光 c.settings.graphics=图形 c.settings.graphics.aa=抗锯齿 c.settings.graphics.ao=环境光遮蔽 c.settings.graphics.taa=随机采样抗锯齿 -c.settings.grass_amount=每块草砖的 3D 草量 -c.settings.language=语言 -c.settings.language.system=系统默认 +c.settings.graphics.grass_amount=每块草砖的 3D 草量 +c.settings.ui.language=语言 +c.settings.ui.language.system=系统默认 c.settings.graphics.lq_trees=低多边形树 c.settings.other=其他 -c.settings.preset_high=高 -c.settings.preset_low=低 -c.settings.preset_medium=中 -c.settings.server_data=服务器数据目录(留空以自动检测) -c.settings.server_path=服务器二进制文件(留空以搜索路径) -c.settings.server_path.placeholder=输入路径 -c.settings.shadows=启用阴影 -c.settings.smooth_camera=平滑的摄像头旋转 +c.settings.graphics.preset.high=高 +c.settings.graphics.preset.low=低 +c.settings.graphics.preset.medium=中 +c.settings.other.server_data=服务器数据目录(留空以自动检测) +c.settings.other.server_path=服务器二进制文件(留空以搜索路径) +c.settings.other.server_path.placeholder=输入路径 +c.settings.graphics.shadows=启用阴影 +c.settings.gameplay.smooth_camera=平滑的摄像头旋转 c.settings.ui=用户界面 c.settings.ui.scale_factor=用户界面比例系数 c.settings.ui.scale_mode=用户界面缩放模式 c.settings.ui.scale_mode.resize=调整大小 c.settings.ui.touch_controls=启用触摸屏控制 -c.settings.ui_blur=启用用户界面模糊 +c.settings.graphics.ui_blur=启用用户界面模糊 c.settings.username=用户名 c.setup.contract_title=雇佣合同 c.setup.par00=这是您(雇员)和 Musterfoods Ltd. (雇主)之间有约束力的厨师或服务员合同。 @@ -154,7 +154,7 @@ unknown551=不可用 unknown568=发型 %d unknown572=模型 unknown576=声音 -unknown59=初始设置完成。(取消选中并重启以重新进入) +c.settings.gameplay.setup_completed=初始设置完成。(取消选中并重启以重新进入) unknown622=您必须填写所有要求的字段。 unknown626=接受 unknown63=教程已开始 diff --git a/locale/zh_Hant.ini b/locale/zh_Hant.ini index 1d6a498b..61aaa15a 100644 --- a/locale/zh_Hant.ini +++ b/locale/zh_Hant.ini @@ -80,7 +80,7 @@ c.settings.input.keyboard= c.settings.input.mouse_button=選單按鈕 c.settings.input.other_event= c.settings.input.press_any_key= -c.settings.debug_info=顯示偵錯資訊(幀率等) +c.settings.graphics.debug_info=顯示偵錯資訊(幀率等) c.settings.graphics.fullscreen=全螢幕 c.settings.graphics.fullscreen.always=總是 c.settings.graphics.fullscreen.keep=保留 @@ -90,30 +90,30 @@ c.settings.gameplay.extend_boost=總是將加速延長至最長持續時間 c.settings.graphics.gi=全域照明 c.settings.graphics.gi.sdfgi=有符號距離場全域照明(SDFGI) c.settings.graphics.gi.voxelgi=Voxel 全域照明 -c.settings.glow=啟用發光 +c.settings.graphics.glow=啟用發光 c.settings.graphics=圖形 c.settings.graphics.aa=抗鋸齒 c.settings.graphics.ao=環境遮擋 c.settings.graphics.taa=時間抗鋸齒 -c.settings.grass_amount=每個草塊的 3D 草量 -c.settings.language=語言 -c.settings.language.system=系統預設 +c.settings.graphics.grass_amount=每個草塊的 3D 草量 +c.settings.ui.language=語言 +c.settings.ui.language.system=系統預設 c.settings.graphics.lq_trees=低多邊形樹 c.settings.other= -c.settings.preset_high=高 -c.settings.preset_low=低 -c.settings.preset_medium=中 -c.settings.server_data=伺服器資料目錄(留空以自動偵測) -c.settings.server_path=伺服器二進制檔案(留空以搜尋 PATH) -c.settings.server_path.placeholder=輸入路徑 -c.settings.shadows=啟用陰影 -c.settings.smooth_camera=平滑的相機旋轉 +c.settings.graphics.preset.high=高 +c.settings.graphics.preset.low=低 +c.settings.graphics.preset.medium=中 +c.settings.other.server_data=伺服器資料目錄(留空以自動偵測) +c.settings.other.server_path=伺服器二進制檔案(留空以搜尋 PATH) +c.settings.other.server_path.placeholder=輸入路徑 +c.settings.graphics.shadows=啟用陰影 +c.settings.gameplay.smooth_camera=平滑的相機旋轉 c.settings.ui=使用者名稱 c.settings.ui.scale_factor=介面比例系數 c.settings.ui.scale_mode=介面縮放模式 c.settings.ui.scale_mode.resize=調整大小 c.settings.ui.touch_controls=啟用觸控螢幕控制 -c.settings.ui_blur=啟用介面模糊 +c.settings.graphics.ui_blur=啟用介面模糊 c.settings.username=使用者名稱 c.setup.contract_title=僱傭合約 c.setup.par00=這是你(僱員)和 Musterfoods Ltd.(僱主)之間關於擔任廚師或服務生的具有約束力的合約。 @@ -154,7 +154,7 @@ unknown551=不可用 unknown568=髮型 %d unknown572=模型 unknown576=聲音 -unknown59=初始設定完成。(取消勾選並重新啟動以重新進入) +c.settings.gameplay.setup_completed=初始設定完成。(取消勾選並重新啟動以重新進入) unknown622=你必須填寫所有要求的欄位。 unknown626=接受 unknown63=教程已啟動 -- cgit v1.2.3-70-g09d2 From 239619be774855b372eea82213b4d8da2d906f52 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 03:31:25 +0200 Subject: hook changed for rows --- client/global.gd | 2 +- client/menu/settings.gd | 6 +++--- client/menu/settings/dropdown_setting.gd | 16 ++++++---------- client/menu/settings/game_setting.gd | 12 ++++-------- client/menu/settings/preset_row.gd | 2 +- client/menu/settings/range_setting.gd | 8 ++------ client/menu/settings/settings_category.gd | 13 +++++-------- client/menu/settings/settings_root.gd | 8 ++++---- client/menu/settings/text_setting.gd | 11 ++++------- client/menu/settings/toggle_setting.gd | 13 +++++-------- 10 files changed, 35 insertions(+), 56 deletions(-) (limited to 'client/menu/settings') diff --git a/client/global.gd b/client/global.gd index e5ae0ed6..e85bf697 100644 --- a/client/global.gd +++ b/client/global.gd @@ -153,7 +153,7 @@ func set_setting(key: String, value): push_error("Tried to set setting \"%s\", which does not yet exist (missing key)" % key) return else: set_setting_unchecked(key, value) - + func get_profile(key: String): if profile.has(key): return profile[key] diff --git a/client/menu/settings.gd b/client/menu/settings.gd index b47331c6..f035f712 100644 --- a/client/menu/settings.gd +++ b/client/menu/settings.gd @@ -20,9 +20,9 @@ extends Menu func _ready(): super() - Global.settings_tree._update_row() - container.add_child(Global.settings_tree.row) - container.move_child(Global.settings_tree.row, 1) + var row = Global.settings_tree.create_row() + container.add_child(row) + container.move_child(row, 1) func _on_back_pressed(): exit() diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 62162320..8dffce5a 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -22,14 +22,10 @@ func _init(new_id: String, new_default, new_options: Array): super(new_id, new_default) options = new_options -func _update_row(): - super() +func create_row(): + var row = super() row.value_node = OptionButton.new() - for i in options: - row.value_node.add_item(tr(nskey + "." + i)) - row.value_node.select(options.find(Global.get_setting(key))) - if not row.value_node.item_selected.is_connected(from_ui): - row.value_node.item_selected.connect(from_ui) - -func from_ui(index): - Global.set_setting(key, options[index]) + for i in options: row.value_node.add_item(tr(nskey + "." + i)) + Settings.hook_changed_init(func (value): row.value_node.select(options.find(Global.get_setting(value)))) + row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item])) + return row diff --git a/client/menu/settings/game_setting.gd b/client/menu/settings/game_setting.gd index 2846cbe3..a98d5abb 100644 --- a/client/menu/settings/game_setting.gd +++ b/client/menu/settings/game_setting.gd @@ -20,8 +20,6 @@ var default var key: String var nskey: String -var row: Node - func _init(new_id: String, new_default = null): default = new_default key = new_id @@ -30,13 +28,11 @@ func set_parent(parent: GameSetting): if parent != null: key = parent.key + "." + key nskey = "c.settings." + key -func _update_row(): - if row == null: row = preload("res://menu/settings/settings_row.tscn").instantiate() +func create_row(): + var row = preload("res://menu/settings/settings_row.tscn").instantiate() row.description = tr(nskey) - if not row.reset.is_connected(reset): row.reset.connect(reset) - -func reset(): - Global.set_setting(key, default) + row.reset.connect(func(): Global.set_setting(key, default)) + return row func check(): if default != null: diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd index 7eca0c3c..ab49f0d8 100644 --- a/client/menu/settings/preset_row.gd +++ b/client/menu/settings/preset_row.gd @@ -34,7 +34,7 @@ func apply(preset_name: String): for i in preset.keys(): Global.set_setting(prefix + "." + i, preset[i]) -func _update_row(): +func create_row(): super() if row.value_node == null: row.value_node = HBoxContainer.new() diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index 49db7c21..adc8a28c 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -36,9 +36,5 @@ func _update_row(): row.value_node.max_value = max_value row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) - row.value_node.value = Global.get_setting(key) - if not row.value_node.value_changed.is_connected(from_ui): - row.value_node.value_changed.connect(from_ui) - -func from_ui(value): - Global.set_setting(key, value) + Settings.hook_change_init(func(value): row.value_node.value = value) + row.value_node.value_changed.connect(func(value): Global.set_setting(key, value)) diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index a80c12c9..4f5fbbc4 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -30,20 +30,17 @@ func set_parent(parent: GameSetting): c.set_parent(self) func _update_row(): - if row == null: row = ScrollContainerCustom.new() - if options == null: options = VBoxContainer.new() + var row = ScrollContainerCustom.new() + var options = VBoxContainer.new() row.name = tr(nskey) row.size_flags_horizontal = Control.SIZE_EXPAND_FILL options.size_flags_horizontal = Control.SIZE_EXPAND_FILL - - if options.get_parent() != row: - row.add_child(options) + row.add_child(options) for r in settings: r._update_row() - print(r.row) - if r.row.get_parent() != options: - options.add_child(r.row) + options.add_child(r.row) + return row func check(): for c in settings: diff --git a/client/menu/settings/settings_root.gd b/client/menu/settings/settings_root.gd index 5acf7f11..d7dad1f7 100644 --- a/client/menu/settings/settings_root.gd +++ b/client/menu/settings/settings_root.gd @@ -23,13 +23,13 @@ func _init(new_children: Array): for c in children: c.set_parent(null) -func _update_row(): - if row == null: row = TabContainer.new() +func create_row(): + var row = TabContainer.new() row.size_flags_vertical = Control.SIZE_EXPAND_FILL for r in children: r._update_row() - if r.row.get_parent() != row: - row.add_child(r.row) + row.add_child(r.row) + return row func check(): for c in children: diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index 6fa6b1ef..4cdf746f 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -24,12 +24,9 @@ func _init(new_id: String, new_default: String, new_placeholder: String = ""): placeholder = new_placeholder func _update_row(): - super() + var row = super() row.value_node = LineEdit.new() - row.value_node.text = Global.get_setting(key) row.value_node.placeholder_text = placeholder - if not row.value_node.text_changed.is_connected(from_ui): - row.value_node.text_changed.connect(from_ui) - -func from_ui(text): - Global.set_setting(key, text) + row.value_node.text_changed.connect(func(text): Global.set_setting(key, text)) + Settings.hook_changed_init(key, func(text): row.value_node.text = text) + return row diff --git a/client/menu/settings/toggle_setting.gd b/client/menu/settings/toggle_setting.gd index 45f08d9f..c8c40469 100644 --- a/client/menu/settings/toggle_setting.gd +++ b/client/menu/settings/toggle_setting.gd @@ -20,12 +20,9 @@ extends GameSetting func _init(new_id: String, new_default: bool): super(new_id, new_default) -func _update_row(): - super() +func create_row(): + var row = super() row.value_node = CheckButton.new() - row.value_node.button_pressed = Global.get_setting(key) - if not row.value_node.pressed.is_connected(from_ui): - row.value_node.pressed.connect(from_ui) - -func from_ui(): - Global.set_setting(key, row.value_node.button_pressed) + row.value_node.pressed.connect(func(): Global.set_setting(key, row.value_node.button_pressed)) + Settings.hook_changed_init(key, func(value): row.value_node.button_pressed = value) + return row -- cgit v1.2.3-70-g09d2 From a97f429c6a0ead9eb084efbd276bd999bf9c9a7f Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 03:39:06 +0200 Subject: _update_row -> create_row --- client/menu/settings/dropdown_setting.gd | 2 +- client/menu/settings/input/input_setting.gd | 13 +++++-------- client/menu/settings/preset_row.gd | 16 ++++++++-------- client/menu/settings/range_setting.gd | 7 ++++--- client/menu/settings/settings_category.gd | 6 ++---- client/menu/settings/settings_root.gd | 4 +--- client/menu/settings/text_setting.gd | 2 +- 7 files changed, 22 insertions(+), 28 deletions(-) (limited to 'client/menu/settings') diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 8dffce5a..4a3ce8c6 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -26,6 +26,6 @@ func create_row(): var row = super() row.value_node = OptionButton.new() for i in options: row.value_node.add_item(tr(nskey + "." + i)) - Settings.hook_changed_init(func (value): row.value_node.select(options.find(Global.get_setting(value)))) + Settings.hook_changed_init(key, func (value): row.value_node.select(options.find(value))) row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item])) return row diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index e32e800c..7a017ed2 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -19,12 +19,9 @@ extends GameSetting const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_node.tscn") -func _update_row(): - super() +func create_row(): + var row = super() row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() - row.value_node.value = Global.get_setting(key) - if not row.value_node.changed.is_connected(from_ui): - row.value_node.changed.connect(from_ui) - -func from_ui(): - Global.set_setting(key, row.value_node.value) + Settings.hook_changed_init(key, func(value): row.value_node.value = value) + row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value)) + return row diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd index ab49f0d8..af6cfe0e 100644 --- a/client/menu/settings/preset_row.gd +++ b/client/menu/settings/preset_row.gd @@ -35,11 +35,11 @@ func apply(preset_name: String): Global.set_setting(prefix + "." + i, preset[i]) func create_row(): - super() - if row.value_node == null: - row.value_node = HBoxContainer.new() - for i in options.keys(): - var button := Button.new() - button.pressed.connect(apply.bind(i)) - button.text = tr(nskey + "." + i) - row.value_node.add_child(button) + var row = super() + row.value_node = HBoxContainer.new() + for i in options.keys(): + var button := Button.new() + button.pressed.connect(apply.bind(i)) + button.text = tr(nskey + "." + i) + row.value_node.add_child(button) + return row diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index adc8a28c..f1261b81 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -29,12 +29,13 @@ func _init(new_id: String, new_default: float, new_min_value: float, new_max_val tick_count = new_tick_count smooth = new_smooth -func _update_row(): - super() +func create_row(): + var row = super() row.value_node = HSlider.new() row.value_node.min_value = min_value row.value_node.max_value = max_value row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) - Settings.hook_change_init(func(value): row.value_node.value = value) + Settings.hook_changed_init(key, func(value): row.value_node.value = value) row.value_node.value_changed.connect(func(value): Global.set_setting(key, value)) + return row diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index 4f5fbbc4..b5d02d8f 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -29,7 +29,7 @@ func set_parent(parent: GameSetting): for c in settings: c.set_parent(self) -func _update_row(): +func create_row(): var row = ScrollContainerCustom.new() var options = VBoxContainer.new() row.name = tr(nskey) @@ -37,9 +37,7 @@ func _update_row(): options.size_flags_horizontal = Control.SIZE_EXPAND_FILL row.add_child(options) - for r in settings: - r._update_row() - options.add_child(r.row) + for r in settings: options.add_child(r.create_row()) return row func check(): diff --git a/client/menu/settings/settings_root.gd b/client/menu/settings/settings_root.gd index d7dad1f7..1beb0d9b 100644 --- a/client/menu/settings/settings_root.gd +++ b/client/menu/settings/settings_root.gd @@ -26,9 +26,7 @@ func _init(new_children: Array): func create_row(): var row = TabContainer.new() row.size_flags_vertical = Control.SIZE_EXPAND_FILL - for r in children: - r._update_row() - row.add_child(r.row) + for r in children: row.add_child(r.create_row()) return row func check(): diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index 4cdf746f..8bf2fa9f 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -23,7 +23,7 @@ func _init(new_id: String, new_default: String, new_placeholder: String = ""): super(new_id, new_default) placeholder = new_placeholder -func _update_row(): +func create_row(): var row = super() row.value_node = LineEdit.new() row.value_node.placeholder_text = placeholder -- cgit v1.2.3-70-g09d2 From 923b4d1aa63b6226365a53a7fe227a734760ed1e Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 13:56:56 +0200 Subject: fix hooks overriding each other --- client/map/auto_setup/environment_setup.gd | 6 +++--- client/map/auto_setup/light_setup.gd | 2 +- client/map/map.gd | 2 +- client/menu/blur_setup.gd | 2 +- client/menu/settings/dropdown_setting.gd | 2 +- client/menu/settings/input/input_setting.gd | 2 +- client/menu/settings/range_setting.gd | 2 +- client/menu/settings/text_setting.gd | 2 +- client/menu/settings/toggle_setting.gd | 2 +- client/player/player.gd | 2 +- client/settings.gd | 9 +++++---- 11 files changed, 17 insertions(+), 16 deletions(-) (limited to 'client/menu/settings') diff --git a/client/map/auto_setup/environment_setup.gd b/client/map/auto_setup/environment_setup.gd index 73c3ee32..c484ca1d 100644 --- a/client/map/auto_setup/environment_setup.gd +++ b/client/map/auto_setup/environment_setup.gd @@ -22,9 +22,9 @@ func set_sky(sky_name: String): environment.sky.sky_material = load("res://map/environment/presets/%s_sky.tres" % sky_name) func _ready(): - Settings.hook_changed_init("graphics.ssao", func (x): environment.ssao_enabled = x) - Settings.hook_changed_init("graphics.gi", func (x): environment.sdfgi_enabled = x == "sdfgi" and allow_sdfgi) - Settings.hook_changed_init("graphics.glow", func (x): environment.glow_enabled = x) + Settings.hook_changed_init("graphics.ssao", false, func (x): environment.ssao_enabled = x) + Settings.hook_changed_init("graphics.gi", false, func (x): environment.sdfgi_enabled = x == "sdfgi" and allow_sdfgi) + Settings.hook_changed_init("graphics.glow", false, func (x): environment.glow_enabled = x) if !Global.on_vulkan(): environment.environment.tonemap_exposure = 0.5 diff --git a/client/map/auto_setup/light_setup.gd b/client/map/auto_setup/light_setup.gd index 4da2886e..7d1b0b7a 100644 --- a/client/map/auto_setup/light_setup.gd +++ b/client/map/auto_setup/light_setup.gd @@ -19,7 +19,7 @@ class_name LightSetup @export var completely_disable_light_if_shadows_disabled := false func _ready(): - Settings.hook_changed_init("graphics.shadows", apply_settings) + Settings.hook_changed_init("graphics.shadows", false, apply_settings) func apply_settings(setting: bool): if completely_disable_light_if_shadows_disabled: diff --git a/client/map/map.gd b/client/map/map.gd index f6258cc6..ce3c6dfa 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -52,7 +52,7 @@ func clear_tile(pos: Vector2i): func _ready(): voxelgi_timer.connect("timeout", gi_bake) - Settings.hook_changed("graphics.gi", apply_gi_setting) + Settings.hook_changed("graphics.gi", false, apply_gi_setting) func apply_gi_setting(state): if state == "voxelgi" and not currently_baked: diff --git a/client/menu/blur_setup.gd b/client/menu/blur_setup.gd index b5f80540..331d1f47 100644 --- a/client/menu/blur_setup.gd +++ b/client/menu/blur_setup.gd @@ -17,7 +17,7 @@ extends Control func _ready(): update(Global.get_setting("graphics.ui_blur")) - Settings.hook_changed("graphics.ui_blur", update) + Settings.hook_changed("graphics.ui_blur", false, update) func update(state): material.set_shader_parameter("enable_blur", state) diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 4a3ce8c6..3d6b7c80 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -26,6 +26,6 @@ func create_row(): var row = super() row.value_node = OptionButton.new() for i in options: row.value_node.add_item(tr(nskey + "." + i)) - Settings.hook_changed_init(key, func (value): row.value_node.select(options.find(value))) + Settings.hook_changed_init(key, true, func (value): row.value_node.select(options.find(value))) row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item])) return row diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index 7a017ed2..7388af78 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -22,6 +22,6 @@ const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_no func create_row(): var row = super() row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() - Settings.hook_changed_init(key, func(value): row.value_node.value = value) + Settings.hook_changed_init(key, true, func(value): row.value_node.value = value) row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value)) return row diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index f1261b81..b119a205 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -36,6 +36,6 @@ func create_row(): row.value_node.max_value = max_value row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) - Settings.hook_changed_init(key, func(value): row.value_node.value = value) + Settings.hook_changed_init(key, true, func(value): row.value_node.value = value) row.value_node.value_changed.connect(func(value): Global.set_setting(key, value)) return row diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index 8bf2fa9f..dc9352ab 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -28,5 +28,5 @@ func create_row(): row.value_node = LineEdit.new() row.value_node.placeholder_text = placeholder row.value_node.text_changed.connect(func(text): Global.set_setting(key, text)) - Settings.hook_changed_init(key, func(text): row.value_node.text = text) + Settings.hook_changed_init(key, true, func(text): row.value_node.text = text) return row diff --git a/client/menu/settings/toggle_setting.gd b/client/menu/settings/toggle_setting.gd index c8c40469..8e0c030c 100644 --- a/client/menu/settings/toggle_setting.gd +++ b/client/menu/settings/toggle_setting.gd @@ -24,5 +24,5 @@ func create_row(): var row = super() row.value_node = CheckButton.new() row.value_node.pressed.connect(func(): Global.set_setting(key, row.value_node.button_pressed)) - Settings.hook_changed_init(key, func(value): row.value_node.button_pressed = value) + Settings.hook_changed_init(key, true, func(value): row.value_node.button_pressed = value) return row diff --git a/client/player/player.gd b/client/player/player.gd index f034f14d..f418337b 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -77,7 +77,7 @@ func _ready(): character.select_hairstyle(character_idx) clear_timer.timeout.connect(clear_message) - Settings.hook_changed_init("gameplay.usernames", update_username_tag) + Settings.hook_changed_init("gameplay.usernames", false, update_username_tag) func update_position(new_position: Vector2, new_rotation: float, new_boosting: bool): position_ = new_position diff --git a/client/settings.gd b/client/settings.gd index 828ecb62..5501f1ab 100644 --- a/client/settings.gd +++ b/client/settings.gd @@ -66,11 +66,12 @@ static func get_root(): ]) ]) -static func hook_changed(key: String, callable: Callable): - change_hooks_display[key] = callable +static func hook_changed(key: String, display: bool, callable: Callable): + if display: change_hooks_display[key] = callable + else: change_hooks_apply[key] = callable -static func hook_changed_init(key: String, callable: Callable): - hook_changed(key, callable) +static func hook_changed_init(key: String, display: bool, callable: Callable): + hook_changed(key, display, callable) callable.call(Global.get_setting(key)) static var change_hooks_display = {} -- cgit v1.2.3-70-g09d2 From 7ae48041d88ac32cd0892a78125103cbdccd7dab Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 7 Sep 2024 14:44:26 +0200 Subject: hook input changes --- client/menu/settings/input/input_manager.gd | 7 ------- client/settings.gd | 11 +++++++++-- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'client/menu/settings') diff --git a/client/menu/settings/input/input_manager.gd b/client/menu/settings/input/input_manager.gd index 784b4974..d216884b 100644 --- a/client/menu/settings/input/input_manager.gd +++ b/client/menu/settings/input/input_manager.gd @@ -38,13 +38,6 @@ func input_map_to_settings(map: Dictionary) -> Array: entries.append(InputSetting.new(k, events)) return entries -func settings_dictionary_to_input_map(settings: Dictionary) -> Dictionary: - var map := {} - for k in settings.keys(): - var setting: InputSetting = settings[k] - map[k] = setting.get_value() - return map - func change_input_map_action(action_name: String, events: Array, save: bool = true): if !InputMap.has_action(action_name): push_error("Action %s does not exist" % action_name, false) diff --git a/client/settings.gd b/client/settings.gd index 341db7cc..2c3ae9a5 100644 --- a/client/settings.gd +++ b/client/settings.gd @@ -79,6 +79,14 @@ static func hook_changed_init(key: String, display: bool, callable: Callable): hook_changed(key, display, callable) callable.call(Global.get_setting(key)) +static func get_category_dict(prefix: String): + var map = {} + for k in Global.settings.keys(): + var kn = k.trim_prefix(prefix+".") + if kn == k: continue + map[kn] = Global.get_setting(k) + return map + static var change_hooks_display = {} static var change_hooks_apply = { "input": h_input, @@ -149,8 +157,7 @@ static func h_fullscreen(mode: String): DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) static func h_input(_x): - pass - # InputManager.apply_input_map(InputManager.settings_dictionary_to_input_map()) + InputManager.apply_input_map(Settings.get_category_dict("input")) # TODO whatever this does # if not get_setting("tutorial_started"): -- cgit v1.2.3-70-g09d2