aboutsummaryrefslogtreecommitdiff
path: root/game/src/OptionMenu
diff options
context:
space:
mode:
Diffstat (limited to 'game/src/OptionMenu')
-rw-r--r--game/src/OptionMenu/GuiScaleSelector.gd27
-rw-r--r--game/src/OptionMenu/VideoTab.tscn4
2 files changed, 16 insertions, 15 deletions
diff --git a/game/src/OptionMenu/GuiScaleSelector.gd b/game/src/OptionMenu/GuiScaleSelector.gd
index ec94269..6593a07 100644
--- a/game/src/OptionMenu/GuiScaleSelector.gd
+++ b/game/src/OptionMenu/GuiScaleSelector.gd
@@ -1,5 +1,9 @@
extends SettingOptionButton
+# REQUIREMENTS
+# * UIFUN-24
+# * UIFUN-31
+
@export
var default_value : float = GuiScale.error_guiscale
@@ -9,7 +13,7 @@ func _find_guiscale_index_by_value(value : float) -> int:
return item_index
return -1
-func _sync_guiscales(to_select:float=GuiScale.get_current_guiscale()) -> void:
+func _sync_guiscales(to_select : float = GuiScale.get_current_guiscale()) -> void:
clear()
default_selected = -1
selected = -1
@@ -30,12 +34,9 @@ func _sync_guiscales(to_select:float=GuiScale.get_current_guiscale()) -> void:
selected = default_selected
func _setup_button():
- print("Setup Gui scales Button")
if default_value <= 0:
- #TODO: verify this project setting is what we actually want
- #print("get default from project settings, default was %f",default_value)
default_value = ProjectSettings.get_setting("display/window/stretch/scale")
- GuiScale.add_guiscale(default_value,&"default")
+ GuiScale.add_guiscale(default_value, &"default")
_sync_guiscales()
func _get_value_for_file(select_value : int):
@@ -45,20 +46,18 @@ func _get_value_for_file(select_value : int):
return null
func _set_value_from_file(load_value):
- #no need to match types like resolution does since we don't
- #intend on supporting strings
- var target_guiscale = load_value
- selected = _find_guiscale_index_by_value(target_guiscale)
- if selected != -1:return
- if GuiScale.add_guiscale(target_guiscale):
- _sync_guiscales(target_guiscale)
- return
+ if typeof(load_value) == TYPE_FLOAT:
+ var target_guiscale : float = load_value
+ selected = _find_guiscale_index_by_value(target_guiscale)
+ if selected != -1: return
+ if GuiScale.add_guiscale(target_guiscale):
+ _sync_guiscales(target_guiscale)
+ return
push_error("Setting value '%s' invalid for setting [%s] %s" % [load_value, section_name, setting_name])
selected = default_selected
func _on_item_selected(index:int):
if _valid_index(index):
- print("Change GUI scale on selector index: %d" % index)
GuiScale.set_guiscale(get_item_metadata(index))
else:
push_error("Invalid GuiScaleSelector index: %d" % index)
diff --git a/game/src/OptionMenu/VideoTab.tscn b/game/src/OptionMenu/VideoTab.tscn
index 8fc8747..7c9e2ad 100644
--- a/game/src/OptionMenu/VideoTab.tscn
+++ b/game/src/OptionMenu/VideoTab.tscn
@@ -48,7 +48,7 @@ layout_mode = 2
text = "OPTIONS_VIDEO_GUI_SCALE"
[node name="GuiScaleSelector" type="OptionButton" parent="VBoxContainer/GridContainer"]
-editor_description = "UI-19"
+editor_description = "UI-23"
layout_mode = 2
focus_neighbor_bottom = NodePath("../ScreenModeSelector")
item_count = 1
@@ -56,6 +56,8 @@ selected = 0
popup/item_0/text = "MISSING"
popup/item_0/id = 0
script = ExtResource("3_pgc5d")
+section_name = "video"
+setting_name = "gui_scale"
[node name="ScreenModeLabel" type="Label" parent="VBoxContainer/GridContainer"]
editor_description = "UI-44"