Files
cthangover 9bd0483af9 Settings menu: display settings, language codes, style guide window
Display tab: window mode (windowed/maximized/borderless/exclusive), monitor, window
size per monitor (centred, disabled in fullscreen), V-Sync, frame rate cap, reset;
applied and saved at once through the core DisplaySettingsService. Language is read
through LanguageCode (en-en/en_US = English). The window follows the style guide
shell: title and tabs in the header, close on the right, footer hint and per-tab reset.
The main menu hides every session panel of UiHost (pause menu stayed above it).
New suite display_settings (+ --shots); collection_edit leaves the game through the
pause menu and checks it is closed.
2026-10-21 19:18:34 +02:00

404 lines
13 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Script" path="src/SettingsMenu.cs" id="SettingsMenuScript"]
[node name="SettingsMenu" type="Control" unique_id=1272946981]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("SettingsMenuScript")
[node name="Backdrop" type="ColorRect" parent="." unique_id=926490946]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.9)
[node name="Window" type="PanelContainer" parent="." unique_id=1346264907]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -420.0
offset_top = -310.0
offset_right = 420.0
offset_bottom = 310.0
grow_horizontal = 2
grow_vertical = 2
[node name="Column" type="VBoxContainer" parent="Window" unique_id=1929192805]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Header" type="MarginContainer" parent="Window/Column" unique_id=123233874]
layout_mode = 2
theme_override_constants/margin_left = 24
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="Row" type="HBoxContainer" parent="Window/Column/Header" unique_id=918557862]
layout_mode = 2
theme_override_constants/separation = 24
[node name="Title" type="Label" parent="Window/Column/Header/Row" unique_id=968405469]
layout_mode = 2
text = "Settings"
uppercase = true
[node name="Tabs" type="HBoxContainer" parent="Window/Column/Header/Row" unique_id=774582017]
layout_mode = 2
theme_override_constants/separation = 4
[node name="GeneralTab" type="Button" parent="Window/Column/Header/Row/Tabs" unique_id=1470465706]
layout_mode = 2
focus_mode = 0
toggle_mode = true
[node name="AudioTab" type="Button" parent="Window/Column/Header/Row/Tabs" unique_id=1481059729]
layout_mode = 2
focus_mode = 0
toggle_mode = true
[node name="DisplayTab" type="Button" parent="Window/Column/Header/Row/Tabs" unique_id=600818871]
layout_mode = 2
focus_mode = 0
toggle_mode = true
[node name="ModsTab" type="Button" parent="Window/Column/Header/Row/Tabs" unique_id=1134775141]
layout_mode = 2
focus_mode = 0
toggle_mode = true
[node name="Spacer" type="Control" parent="Window/Column/Header/Row" unique_id=956914814]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="CloseButton" type="Button" parent="Window/Column/Header/Row" unique_id=971181459]
layout_mode = 2
custom_minimum_size = Vector2(38, 38)
focus_mode = 0
text = "✕"
[node name="RuleHeader" type="ColorRect" parent="Window/Column" unique_id=100276952]
custom_minimum_size = Vector2(0, 1)
layout_mode = 2
[node name="Body" type="MarginContainer" parent="Window/Column" unique_id=571795343]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 32
theme_override_constants/margin_top = 24
theme_override_constants/margin_right = 32
theme_override_constants/margin_bottom = 24
[node name="Pages" type="Control" parent="Window/Column/Body" unique_id=138945425]
layout_mode = 2
mouse_filter = 2
[node name="General" type="VBoxContainer" parent="Window/Column/Body/Pages" unique_id=215740431]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 14
[node name="LangSection" type="Label" parent="Window/Column/Body/Pages/General" unique_id=1563036971]
layout_mode = 2
text = "Language"
uppercase = true
[node name="LangRow" type="HBoxContainer" parent="Window/Column/Body/Pages/General" unique_id=1441486578]
layout_mode = 2
theme_override_constants/separation = 24
[node name="LangLabel" type="Label" parent="Window/Column/Body/Pages/General/LangRow" unique_id=1359724527]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Language"
[node name="LangSelect" type="OptionButton" parent="Window/Column/Body/Pages/General/LangRow" unique_id=1451274578]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="Audio" type="VBoxContainer" parent="Window/Column/Body/Pages" unique_id=232944441]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 14
[node name="VolumeSection" type="Label" parent="Window/Column/Body/Pages/Audio" unique_id=358076534]
layout_mode = 2
text = "Volume"
uppercase = true
[node name="SoundsRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Audio" unique_id=1091551106]
layout_mode = 2
theme_override_constants/separation = 24
[node name="SoundsLabel" type="Label" parent="Window/Column/Body/Pages/Audio/SoundsRow" unique_id=977377427]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Sounds"
[node name="SoundsToggle" type="CheckButton" parent="Window/Column/Body/Pages/Audio/SoundsRow" unique_id=294349187]
layout_mode = 2
size_flags_vertical = 4
focus_mode = 0
[node name="SoundsVolume" type="HSlider" parent="Window/Column/Body/Pages/Audio/SoundsRow" unique_id=334275673]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 4
max_value = 100.0
step = 1.0
[node name="SoundsValue" type="Label" parent="Window/Column/Body/Pages/Audio/SoundsRow" unique_id=761672957]
custom_minimum_size = Vector2(56, 0)
layout_mode = 2
horizontal_alignment = 2
[node name="MusicRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Audio" unique_id=1716861232]
layout_mode = 2
theme_override_constants/separation = 24
[node name="MusicLabel" type="Label" parent="Window/Column/Body/Pages/Audio/MusicRow" unique_id=1921053802]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Music"
[node name="MusicToggle" type="CheckButton" parent="Window/Column/Body/Pages/Audio/MusicRow" unique_id=1546243765]
layout_mode = 2
size_flags_vertical = 4
focus_mode = 0
[node name="MusicVolume" type="HSlider" parent="Window/Column/Body/Pages/Audio/MusicRow" unique_id=656456481]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 4
max_value = 100.0
step = 1.0
[node name="MusicValue" type="Label" parent="Window/Column/Body/Pages/Audio/MusicRow" unique_id=1811565676]
custom_minimum_size = Vector2(56, 0)
layout_mode = 2
horizontal_alignment = 2
[node name="AmbientRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Audio" unique_id=483864917]
layout_mode = 2
theme_override_constants/separation = 24
[node name="AmbientLabel" type="Label" parent="Window/Column/Body/Pages/Audio/AmbientRow" unique_id=402291449]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Ambient"
[node name="AmbientToggle" type="CheckButton" parent="Window/Column/Body/Pages/Audio/AmbientRow" unique_id=427650030]
layout_mode = 2
size_flags_vertical = 4
focus_mode = 0
[node name="AmbientVolume" type="HSlider" parent="Window/Column/Body/Pages/Audio/AmbientRow" unique_id=354392891]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_vertical = 4
max_value = 100.0
step = 1.0
[node name="AmbientValue" type="Label" parent="Window/Column/Body/Pages/Audio/AmbientRow" unique_id=1500302873]
custom_minimum_size = Vector2(56, 0)
layout_mode = 2
horizontal_alignment = 2
[node name="Display" type="VBoxContainer" parent="Window/Column/Body/Pages" unique_id=218390439]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 14
[node name="WindowSection" type="Label" parent="Window/Column/Body/Pages/Display" unique_id=345383153]
layout_mode = 2
text = "Window"
uppercase = true
[node name="ModeRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Display" unique_id=1616575243]
layout_mode = 2
theme_override_constants/separation = 24
[node name="ModeLabel" type="Label" parent="Window/Column/Body/Pages/Display/ModeRow" unique_id=207553790]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Window mode"
[node name="ModeSelect" type="OptionButton" parent="Window/Column/Body/Pages/Display/ModeRow" unique_id=1678024463]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="MonitorRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Display" unique_id=643742076]
layout_mode = 2
theme_override_constants/separation = 24
[node name="MonitorLabel" type="Label" parent="Window/Column/Body/Pages/Display/MonitorRow" unique_id=465414492]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Monitor"
[node name="MonitorSelect" type="OptionButton" parent="Window/Column/Body/Pages/Display/MonitorRow" unique_id=868484966]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="ResRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Display" unique_id=1701841140]
layout_mode = 2
theme_override_constants/separation = 24
[node name="ResLabel" type="Label" parent="Window/Column/Body/Pages/Display/ResRow" unique_id=1649779675]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Window size"
[node name="ResSelect" type="OptionButton" parent="Window/Column/Body/Pages/Display/ResRow" unique_id=127437834]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="ResHint" type="Label" parent="Window/Column/Body/Pages/Display" unique_id=1953536508]
layout_mode = 2
text = "Fullscreen modes use the monitor resolution"
[node name="Gap" type="Control" parent="Window/Column/Body/Pages/Display" unique_id=1362538809]
custom_minimum_size = Vector2(0, 10)
layout_mode = 2
mouse_filter = 2
[node name="RenderSection" type="Label" parent="Window/Column/Body/Pages/Display" unique_id=1299172762]
layout_mode = 2
text = "Performance"
uppercase = true
[node name="VSyncRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Display" unique_id=886210113]
layout_mode = 2
theme_override_constants/separation = 24
[node name="VSyncLabel" type="Label" parent="Window/Column/Body/Pages/Display/VSyncRow" unique_id=700706593]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "V-Sync"
[node name="VSyncToggle" type="CheckButton" parent="Window/Column/Body/Pages/Display/VSyncRow" unique_id=1235277494]
layout_mode = 2
size_flags_vertical = 4
focus_mode = 0
[node name="FpsRow" type="HBoxContainer" parent="Window/Column/Body/Pages/Display" unique_id=327395126]
layout_mode = 2
theme_override_constants/separation = 24
[node name="FpsLabel" type="Label" parent="Window/Column/Body/Pages/Display/FpsRow" unique_id=427174428]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
text = "Frame rate limit"
[node name="FpsSelect" type="OptionButton" parent="Window/Column/Body/Pages/Display/FpsRow" unique_id=321930729]
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="Mods" type="HBoxContainer" parent="Window/Column/Body/Pages" unique_id=750857449]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 24
[node name="ModListPanel" type="PanelContainer" parent="Window/Column/Body/Pages/Mods" unique_id=1830546854]
custom_minimum_size = Vector2(240, 0)
layout_mode = 2
[node name="Column" type="VBoxContainer" parent="Window/Column/Body/Pages/Mods/ModListPanel" unique_id=1090016444]
layout_mode = 2
theme_override_constants/separation = 8
[node name="ModsTitle" type="Label" parent="Window/Column/Body/Pages/Mods/ModListPanel/Column" unique_id=284516881]
layout_mode = 2
text = "Mods"
uppercase = true
[node name="ModScroll" type="ScrollContainer" parent="Window/Column/Body/Pages/Mods/ModListPanel/Column" unique_id=1938378648]
layout_mode = 2
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="ModList" type="VBoxContainer" parent="Window/Column/Body/Pages/Mods/ModListPanel/Column/ModScroll" unique_id=316495967]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 4
[node name="Detail" type="VBoxContainer" parent="Window/Column/Body/Pages/Mods" unique_id=1311174486]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 12
[node name="SelectedModName" type="Label" parent="Window/Column/Body/Pages/Mods/Detail" unique_id=562690072]
layout_mode = 2
[node name="SettingsScroll" type="ScrollContainer" parent="Window/Column/Body/Pages/Mods/Detail" unique_id=1319182580]
layout_mode = 2
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="SettingsContainer" type="VBoxContainer" parent="Window/Column/Body/Pages/Mods/Detail/SettingsScroll" unique_id=951372036]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 8
[node name="Placeholder" type="Label" parent="Window/Column/Body/Pages/Mods/Detail/SettingsScroll/SettingsContainer" unique_id=1476346408]
layout_mode = 2
text = "No mod settings available"
[node name="RuleFooter" type="ColorRect" parent="Window/Column" unique_id=304272990]
custom_minimum_size = Vector2(0, 1)
layout_mode = 2
[node name="Footer" type="MarginContainer" parent="Window/Column" unique_id=1834247695]
layout_mode = 2
theme_override_constants/margin_left = 24
theme_override_constants/margin_top = 12
theme_override_constants/margin_right = 24
theme_override_constants/margin_bottom = 12
[node name="Row" type="HBoxContainer" parent="Window/Column/Footer" unique_id=922090408]
custom_minimum_size = Vector2(0, 38)
layout_mode = 2
theme_override_constants/separation = 12
[node name="Hint" type="Label" parent="Window/Column/Footer/Row" unique_id=1010204388]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="ResetButton" type="Button" parent="Window/Column/Footer/Row" unique_id=1841068864]
layout_mode = 2
focus_mode = 0