From 979341cba28d6d6dc3ca58faffb2417a1c08b484 Mon Sep 17 00:00:00 2001 From: ToasterPanic Date: Sun, 7 Dec 2025 14:29:07 -0500 Subject: [PATCH] Settings in the pause menu now work --- scenes/game.tscn | 4 ++++ scenes/ground.tscn | 8 +++++++- scenes/pause_menu.tscn | 23 +++++++++++++---------- scenes/settings.tscn | 14 ++++++++++++-- scripts/game.gd | 2 ++ scripts/game_ground.gd | 2 ++ scripts/pause_menu.gd | 24 +++++++++++++++++++++++- scripts/settings.gd | 6 +++--- 8 files changed, 66 insertions(+), 17 deletions(-) diff --git a/scenes/game.tscn b/scenes/game.tscn index f43d607..5771501 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -504,6 +504,10 @@ text = "back" [node name="PauseMenu" parent="UI/Control" instance=ExtResource("19_37s47")] layout_mode = 0 anchors_preset = 0 +anchor_right = 0.0 +anchor_bottom = 0.0 +grow_horizontal = 1 +grow_vertical = 1 [node name="ControlsBox" type="VBoxContainer" parent="UI/Control"] modulate = Color(1, 1, 1, 0.53333336) diff --git a/scenes/ground.tscn b/scenes/ground.tscn index 10e7943..2a5c7b7 100644 --- a/scenes/ground.tscn +++ b/scenes/ground.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=33 format=3 uid="uid://by43ihcec8e8q"] +[gd_scene load_steps=34 format=3 uid="uid://by43ihcec8e8q"] [ext_resource type="Script" uid="uid://b2sw6ymaf4t0s" path="res://scripts/game_ground.gd" id="1_6ra5r"] [ext_resource type="Script" uid="uid://dowu512otgyyf" path="res://scripts/player_ground.gd" id="3_8gbjj"] +[ext_resource type="AudioStream" uid="uid://cwidt34ehvre4" path="res://sounds/ui_select.mp3" id="3_26mqe"] [ext_resource type="AudioStream" uid="uid://cdl70q0x28717" path="res://sounds/dialogue.mp3" id="3_rncil"] [ext_resource type="Texture2D" uid="uid://c0cyhybh30ogt" path="res://textures/player-ground-sheet.png" id="4_2c1ag"] [ext_resource type="Texture2D" uid="uid://csrlh1sbdroud" path="res://textures/pistol.png" id="5_8gbjj"] @@ -158,8 +159,13 @@ y_sort_enabled = true script = ExtResource("1_6ra5r") [node name="Dialogue" type="AudioStreamPlayer" parent="."] +process_mode = 3 stream = ExtResource("3_rncil") +[node name="UiSelect" type="AudioStreamPlayer" parent="."] +process_mode = 3 +stream = ExtResource("3_26mqe") + [node name="PlayerGround" type="CharacterBody2D" parent="."] position = Vector2(349, -58) script = ExtResource("3_8gbjj") diff --git a/scenes/pause_menu.tscn b/scenes/pause_menu.tscn index 5bb7847..e8352aa 100644 --- a/scenes/pause_menu.tscn +++ b/scenes/pause_menu.tscn @@ -1,7 +1,9 @@ -[gd_scene load_steps=7 format=3 uid="uid://b6bq2viqao61m"] +[gd_scene load_steps=9 format=3 uid="uid://b6bq2viqao61m"] [ext_resource type="Script" uid="uid://dqiaioigmj5wb" path="res://scripts/pause_menu.gd" id="1_5d2l8"] [ext_resource type="Theme" uid="uid://dtc7h6gpwpend" path="res://scenes/ui.tres" id="2_7l7mv"] +[ext_resource type="AudioStream" uid="uid://cwidt34ehvre4" path="res://sounds/ui_select.mp3" id="2_v4r4p"] +[ext_resource type="AudioStream" uid="uid://bff3l15ivkcyi" path="res://sounds/ui_back.mp3" id="3_1s2dm"] [ext_resource type="Script" uid="uid://b2maxk5g6yb0i" path="res://addons/super_awesome_input_icons/classes/input_icon_texture_rect.gd" id="3_v4r4p"] [ext_resource type="PackedScene" uid="uid://cy4nbqbm222os" path="res://scenes/settings.tscn" id="4_1s2dm"] @@ -26,6 +28,12 @@ grow_vertical = 2 theme_override_styles/panel = SubResource("StyleBoxFlat_264po") script = ExtResource("1_5d2l8") +[node name="UiSelect" type="AudioStreamPlayer" parent="."] +stream = ExtResource("2_v4r4p") + +[node name="UiBack" type="AudioStreamPlayer" parent="."] +stream = ExtResource("3_1s2dm") + [node name="Panel" type="PanelContainer" parent="."] layout_mode = 1 anchors_preset = 8 @@ -109,14 +117,9 @@ vertical_alignment = 1 [node name="Settings" parent="." instance=ExtResource("4_1s2dm")] visible = false -layout_mode = 0 -anchors_preset = 0 -anchor_left = 0.0 -anchor_right = 0.0 -anchor_bottom = 0.0 -offset_left = 0.0 -offset_right = 640.0 -grow_horizontal = 1 -grow_vertical = 1 +layout_mode = 1 +offset_left = -322.0 +offset_right = 322.0 [connection signal="pressed" from="Panel/Flow/Resume" to="." method="_on_resume_pressed"] +[connection signal="pressed" from="Panel/Flow/Settings" to="." method="_on_settings_pressed"] diff --git a/scenes/settings.tscn b/scenes/settings.tscn index 3211f52..c53e9da 100644 --- a/scenes/settings.tscn +++ b/scenes/settings.tscn @@ -1,9 +1,11 @@ -[gd_scene load_steps=8 format=3 uid="uid://cy4nbqbm222os"] +[gd_scene load_steps=10 format=3 uid="uid://cy4nbqbm222os"] [ext_resource type="Theme" uid="uid://dtc7h6gpwpend" path="res://scenes/ui.tres" id="1_r6d6q"] [ext_resource type="Script" uid="uid://b2maxk5g6yb0i" path="res://addons/super_awesome_input_icons/classes/input_icon_texture_rect.gd" id="2_6wm04"] [ext_resource type="Script" uid="uid://jacd1qlw1q5p" path="res://scripts/settings.gd" id="2_f4mfi"] [ext_resource type="FontFile" uid="uid://donsvh2l775rb" path="res://fonts/Doto.ttf" id="3_f4mfi"] +[ext_resource type="AudioStream" uid="uid://cwidt34ehvre4" path="res://sounds/ui_select.mp3" id="3_gis3k"] +[ext_resource type="AudioStream" uid="uid://bff3l15ivkcyi" path="res://sounds/ui_back.mp3" id="4_83j8s"] [sub_resource type="LabelSettings" id="LabelSettings_1kice"] font_size = 48 @@ -28,6 +30,14 @@ grow_vertical = 2 theme = ExtResource("1_r6d6q") script = ExtResource("2_f4mfi") +[node name="UiSelect" type="AudioStreamPlayer" parent="."] +stream = ExtResource("3_gis3k") +bus = &"Sound Effects" + +[node name="UiBack" type="AudioStreamPlayer" parent="."] +stream = ExtResource("4_83j8s") +bus = &"Sound Effects" + [node name="Scroll" type="ScrollContainer" parent="."] custom_minimum_size = Vector2(640, 0) layout_mode = 2 @@ -211,7 +221,7 @@ text = "Southpaw" layout_mode = 2 text = "NO" -[connection signal="pressed" from="Scroll/Flow/Back" to="." method="_on_back_pressed"] +[connection signal="button_up" from="Scroll/Flow/Back" to="." method="_on_back_pressed"] [connection signal="value_changed" from="Scroll/Flow/Flow2/MasterVolume" to="." method="_on_master_volume_value_changed"] [connection signal="value_changed" from="Scroll/Flow/Flow3/MusicVolume" to="." method="_on_music_volume_value_changed"] [connection signal="value_changed" from="Scroll/Flow/Flow4/SFXVolume" to="." method="_on_sfx_volume_value_changed"] diff --git a/scripts/game.gd b/scripts/game.gd index 0dc79e7..fbe8fff 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -287,6 +287,8 @@ func _set_navpanel_menu(menu: String) -> void: func _input(event: InputEvent) -> void: if event.is_action_pressed("pause"): + $UiSelect.play() + $UI/Control/PauseMenu.visible = true $UI/Control/PauseMenu/Panel/Flow/Resume.grab_focus() diff --git a/scripts/game_ground.gd b/scripts/game_ground.gd index 56933b7..e1fd966 100644 --- a/scripts/game_ground.gd +++ b/scripts/game_ground.gd @@ -168,6 +168,8 @@ func _input(event: InputEvent) -> void: if event.is_action_released("dialogue_continue"): dialogue_continue.emit() if event.is_action_pressed("pause"): + $UiSelect.play() + $UI/Control/PauseMenu.visible = true $UI/Control/PauseMenu/Panel/Flow/Resume.grab_focus() diff --git a/scripts/pause_menu.gd b/scripts/pause_menu.gd index fbf349c..183533f 100644 --- a/scripts/pause_menu.gd +++ b/scripts/pause_menu.gd @@ -3,6 +3,8 @@ extends Panel @onready var game = get_parent().get_parent().get_parent() func _resume() -> void: + $UiBack.play() + while Input.is_action_pressed("pause"): await get_tree().create_timer(0).timeout @@ -14,5 +16,25 @@ func _on_resume_pressed() -> void: _resume() func _input(event: InputEvent) -> void: + if event.is_action_pressed("pause"): + if $Settings.visible: + # This is probably no good! + $Settings._on_back_pressed() + + $Settings.visible = false + $Panel/Flow/Resume.grab_focus() + elif visible: + _resume() + + +func _on_settings_pressed() -> void: if visible: - if event.is_action_pressed("pause"): _resume() + $UiSelect.play() + $Settings.visible = true + $Settings/Scroll/Flow/Back.grab_focus() + +func _on_settings_back_pressed() -> void: + if visible: + $UiBack.play() + $Settings.visible = false + $Panel/Flow/Resume.grab_focus() diff --git a/scripts/settings.gd b/scripts/settings.gd index 7a0632a..46dd01d 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -9,19 +9,19 @@ func _on_master_volume_value_changed(value: float) -> void: global.settings.master_volume = value $Scroll/Flow/Flow2/MasterVolume/Label.text = str(floori(value * 100)) + "%" AudioServer.set_bus_volume_linear(0, value) - + $UiSelect.play() func _on_music_volume_value_changed(value: float) -> void: global.settings.music_volume = value $Scroll/Flow/Flow3/MusicVolume/Label.text = str(floori(value * 100)) + "%" AudioServer.set_bus_volume_linear(1, value) - + $UiSelect.play() func _on_sfx_volume_value_changed(value: float) -> void: global.settings.sfx_volume = value $Scroll/Flow/Flow4/SFXVolume/Label.text = str(floori(value * 100)) + "%" AudioServer.set_bus_volume_linear(2, value) - + $UiSelect.play() func _on_back_pressed() -> void: global.save_settings()