Files
cthangover f04a2a3661 Game picker and save browser: menu window shell, background warm-up
The main menu warms every ready game's mods up into the assembly cache in the
background (last played first), so picking a game only loads cached assemblies.
Game picker and save browser are scenes on the shared MenuWindowShell (also used by
the settings): caps title, close on the right, footer hint; the picker footer shows
the warm-up state, cards get framed covers with a letter placeholder and Continue as
the main action; the save browser shows 3x2 large cards with the game selector in
the header. new_game waits for the warm-up; menu_flow takes --shots.
2026-10-21 20:15:32 +02:00

132 lines
4.0 KiB
Plaintext

[gd_scene format=3]
[ext_resource type="Script" path="src/SaveLoadMenu.cs" id="SaveLoadMenuScript"]
[ext_resource type="Script" path="src/SaveSlotList.cs" id="SaveSlotListScript"]
[node name="SaveLoadMenu" type="Control" unique_id=1300922993]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("SaveLoadMenuScript")
[node name="Backdrop" type="ColorRect" parent="." unique_id=1957446002]
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=1214442353]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -500.0
offset_top = -350.0
offset_right = 500.0
offset_bottom = 350.0
grow_horizontal = 2
grow_vertical = 2
[node name="Column" type="VBoxContainer" parent="Window" unique_id=154632647]
layout_mode = 2
theme_override_constants/separation = 0
[node name="Header" type="MarginContainer" parent="Window/Column" unique_id=255743212]
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=1566510433]
layout_mode = 2
theme_override_constants/separation = 24
[node name="Title" type="Label" parent="Window/Column/Header/Row" unique_id=1345868865]
layout_mode = 2
size_flags_vertical = 4
text = "Load"
uppercase = true
[node name="GameSelect" type="OptionButton" parent="Window/Column/Header/Row" unique_id=1531297566]
custom_minimum_size = Vector2(280, 0)
layout_mode = 2
size_flags_vertical = 4
[node name="Spacer" type="Control" parent="Window/Column/Header/Row" unique_id=739525391]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="CloseButton" type="Button" parent="Window/Column/Header/Row" unique_id=1063180782]
layout_mode = 2
custom_minimum_size = Vector2(38, 38)
size_flags_vertical = 4
focus_mode = 0
text = "✕"
[node name="RuleHeader" type="ColorRect" parent="Window/Column" unique_id=1844886327]
custom_minimum_size = Vector2(0, 1)
layout_mode = 2
[node name="Body" type="MarginContainer" parent="Window/Column" unique_id=280231313]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 24
theme_override_constants/margin_top = 20
theme_override_constants/margin_right = 24
theme_override_constants/margin_bottom = 20
[node name="Content" type="VBoxContainer" parent="Window/Column/Body" unique_id=1998936353]
layout_mode = 2
theme_override_constants/separation = 12
[node name="Scroll" type="ScrollContainer" parent="Window/Column/Body/Content" unique_id=131125275]
layout_mode = 2
size_flags_vertical = 3
horizontal_scroll_mode = 0
[node name="SlotGrid" type="Control" parent="Window/Column/Body/Content/Scroll" unique_id=702369365]
layout_mode = 2
size_flags_horizontal = 3
script = ExtResource("SaveSlotListScript")
ColumnCount = 3
RowCount = 2
SlotPadding = 14.0
[node name="EmptyLabel" type="Label" parent="Window/Column/Body/Content" unique_id=1909778806]
layout_mode = 2
size_flags_vertical = 3
horizontal_alignment = 1
vertical_alignment = 1
visible = false
[node name="RuleFooter" type="ColorRect" parent="Window/Column" unique_id=225368463]
custom_minimum_size = Vector2(0, 1)
layout_mode = 2
[node name="Footer" type="MarginContainer" parent="Window/Column" unique_id=775810662]
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=1592632905]
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=1935428591]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4