Add game tab to options menu, fix focus of GUI elements, add Delete option for save file

This commit is contained in:
2025-11-18 20:28:43 -08:00
parent 0afbf38bf9
commit f69e219643
14 changed files with 211 additions and 62 deletions
+122 -12
View File
@@ -1,8 +1,16 @@
[gd_scene load_steps=7 format=3 uid="uid://drkl3btdy6uxj"]
[gd_scene load_steps=11 format=3 uid="uid://drkl3btdy6uxj"]
[ext_resource type="Script" uid="uid://cjxmdvhixcj6e" path="res://src/options/OptionsMenu.cs" id="1_jli36"]
[ext_resource type="Shortcut" uid="uid://dumkrjur22k2a" path="res://src/ui/ButtonShortcut.tres" id="2_1egkf"]
[ext_resource type="LabelSettings" uid="uid://cuuo43x72xcsc" path="res://src/ui/label_settings/MainTextBold.tres" id="2_o7aaw"]
[ext_resource type="PackedScene" uid="uid://dk5esf6mm6kte" path="res://src/options/InputMapper.tscn" id="2_utd4g"]
[ext_resource type="FontFile" uid="uid://cm8j5vcdop5x0" path="res://src/ui/fonts/Mrs-Eaves-OT-Roman_31443.ttf" id="3_ohii5"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ohii5"]
bg_color = Color(0.215902, 0.215902, 0.215902, 1)
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o7aaw"]
bg_color = Color(0.215686, 0.215686, 0.215686, 1)
[sub_resource type="StyleBoxLine" id="StyleBoxLine_jli36"]
@@ -41,18 +49,123 @@ custom_minimum_size = Vector2(1280, 960)
layout_mode = 2
current_tab = 0
[node name="Audio" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"]
[node name="Game" type="PanelContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"]
layout_mode = 2
focus_next = NodePath("../Audio")
focus_previous = NodePath(".")
metadata/_tab_index = 0
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game"]
layout_mode = 2
theme_override_constants/margin_left = 100
theme_override_constants/margin_top = 100
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 0
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="SkipOpeningCSCheck" type="CheckBox" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(0, 35)
layout_mode = 2
text = "Skip opening cutscene"
[node name="HBoxContainer2" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="DeleteSaveButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/MarginContainer/VBoxContainer/HBoxContainer2"]
unique_name_in_owner = true
custom_minimum_size = Vector2(200, 35)
layout_mode = 2
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
text = "Delete Save Data"
[node name="CenterContainer" type="CenterContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game"]
layout_mode = 2
[node name="ConfirmDeletePopup" type="ColorRect" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer"]
unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(750, 250)
layout_mode = 2
color = Color(0.137255, 0.121569, 0.12549, 1)
[node name="PanelContainer" type="PanelContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/PanelContainer"]
layout_mode = 2
text = "Deleting save data will permanently reset progress.
Continue?"
label_settings = ExtResource("2_o7aaw")
horizontal_alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -330.0
offset_top = -50.0
grow_horizontal = 0
grow_vertical = 0
theme_override_constants/margin_left = 5
theme_override_constants/margin_top = 5
theme_override_constants/margin_right = 25
theme_override_constants/margin_bottom = 15
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_constants/separation = 20
[node name="NoDeleteButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(150, 35)
layout_mode = 2
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
theme_override_fonts/font = ExtResource("3_ohii5")
theme_override_styles/normal = SubResource("StyleBoxFlat_ohii5")
text = "Cancel"
[node name="YesDeleteButton" type="Button" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Game/CenterContainer/ConfirmDeletePopup/MarginContainer/HBoxContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(150, 35)
layout_mode = 2
theme_override_colors/font_focus_color = Color(0.976471, 0.827451, 0, 1)
theme_override_fonts/font = ExtResource("3_ohii5")
theme_override_styles/normal = SubResource("StyleBoxFlat_o7aaw")
text = "Confirm"
[node name="Audio" type="MarginContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer"]
visible = false
layout_mode = 2
focus_next = NodePath("../Controller")
focus_previous = NodePath("../Game")
theme_override_constants/margin_left = 100
theme_override_constants/margin_top = 100
theme_override_constants/margin_right = 100
theme_override_constants/margin_bottom = 100
metadata/_tab_index = 0
metadata/_tab_index = 1
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio"]
layout_mode = 2
size_flags_horizontal = 0
mouse_filter = 0
theme_override_constants/separation = 20
[node name="MasterVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
layout_mode = 2
@@ -72,7 +185,7 @@ theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.001
step = 0.1
value = 1.0
[node name="MusicVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
@@ -93,7 +206,7 @@ theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.001
step = 0.1
value = 1.0
[node name="SFXVolume" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
@@ -114,7 +227,7 @@ theme_override_styles/slider = SubResource("StyleBoxLine_jli36")
theme_override_styles/grabber_area = SubResource("StyleBoxFlat_utd4g")
theme_override_styles/grabber_area_highlight = SubResource("StyleBoxFlat_1egkf")
max_value = 1.0
step = 0.001
step = 0.1
value = 1.0
[node name="Resolution" type="HBoxContainer" parent="CanvasLayer/CenterContainer/VBoxContainer/TabContainer/Audio/VBoxContainer"]
@@ -141,9 +254,6 @@ size_flags_vertical = 10
unique_name_in_owner = true
visible = false
layout_mode = 2
metadata/_tab_index = 1
[node name="PressToGoBackLabel" type="Label" parent="CanvasLayer/CenterContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Press "
focus_next = NodePath(".")
focus_previous = NodePath("../Audio")
metadata/_tab_index = 2