diff --git a/default_bus_layout.tres b/default_bus_layout.tres deleted file mode 100644 index 14246c5..0000000 --- a/default_bus_layout.tres +++ /dev/null @@ -1,15 +0,0 @@ -[gd_resource type="AudioBusLayout" format=3 uid="uid://c5151ugetnkpy"] - -[resource] -bus/1/name = &"Music" -bus/1/solo = false -bus/1/mute = false -bus/1/bypass_fx = false -bus/1/volume_db = 0.0 -bus/1/send = &"Master" -bus/2/name = &"Sfx" -bus/2/solo = false -bus/2/mute = false -bus/2/bypass_fx = false -bus/2/volume_db = 0.0 -bus/2/send = &"Master" diff --git a/project.godot b/project.godot index 316c5fc..f30f100 100644 --- a/project.godot +++ b/project.godot @@ -61,8 +61,3 @@ reverse={ , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) ] } -pause={ -"deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null) -] -} diff --git a/src/gui/hud/hud.tscn b/src/game/hud.tscn similarity index 90% rename from src/gui/hud/hud.tscn rename to src/game/hud.tscn index 9b248db..a4cd584 100644 --- a/src/gui/hud/hud.tscn +++ b/src/game/hud.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=4 format=3 uid="uid://cdlbh3smpgg42"] -[ext_resource type="Script" path="res://src/gui/hud/hud_controller.gd" id="1_3pkgo"] +[ext_resource type="Script" path="res://src/game/hud_controller.gd" id="1_ckegs"] [sub_resource type="LabelSettings" id="LabelSettings_pv71o"] font_size = 40 @@ -15,7 +15,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -script = ExtResource("1_3pkgo") +script = ExtResource("1_ckegs") speed = NodePath("Speedometer") distance = NodePath("Distancemeter") diff --git a/src/gui/hud/hud_controller.gd b/src/game/hud_controller.gd similarity index 100% rename from src/gui/hud/hud_controller.gd rename to src/game/hud_controller.gd diff --git a/src/game/levels/level.gd b/src/game/level.gd similarity index 93% rename from src/game/levels/level.gd rename to src/game/level.gd index ad7e092..fc8bdad 100644 --- a/src/game/levels/level.gd +++ b/src/game/level.gd @@ -21,8 +21,6 @@ extends Node2D ## reference to the line node used to draw the finish line @export var finish: Line2D -@export var menu: Control - signal distance_changed(new_distance) #variables @@ -33,7 +31,6 @@ var lap_distance = 0. var start var finish_right var finish_left -var paused = false # Called when the node enters the scene tree for the first time. func _ready(): @@ -56,10 +53,6 @@ func _ready(): # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): - - if Input.is_action_just_pressed("pause") && running: - pause() - if (running): # shrinking the track width -= shrink_factor * delta @@ -93,16 +86,6 @@ func _process(delta): distance_changed.emit(get_total_distance()) # print_debug("player distance driven: ", get_total_distance(), " distance since last check: ", off_diff) -func pause(): - if !paused: - Engine.time_scale = 0 - menu.show() - paused = true - else: - Engine.time_scale = 1 - menu.hide() - paused = false - func update_line(): line.set_width(width) diff --git a/src/game/level1.tscn b/src/game/level1.tscn new file mode 100644 index 0000000..238bd9a --- /dev/null +++ b/src/game/level1.tscn @@ -0,0 +1,94 @@ +[gd_scene load_steps=11 format=3 uid="uid://c77xk0mywwt5f"] + +[ext_resource type="Script" path="res://src/game/level.gd" id="1_hv75i"] +[ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="2_5nf51"] +[ext_resource type="Texture2D" uid="uid://cqb3eu4om1fj5" path="res://assets/bg_100_bk.png" id="2_o6466"] +[ext_resource type="PackedScene" uid="uid://cdlbh3smpgg42" path="res://src/game/hud.tscn" id="2_w64nx"] +[ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track_90_bk.png" id="3_fhrup"] +[ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_rxurh"] +[ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_g24mp"] +[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="8_ppkte"] +[ext_resource type="Texture2D" uid="uid://f1rqgalvu8yn" path="res://assets/trail (2).png" id="9_g4oyh"] + +[sub_resource type="Curve2D" id="Curve2D_ll8bj"] +_data = { +"points": PackedVector2Array(-96.196, 0.475433, 96.196, -0.475433, 59, -56, -752, -468, 752, 468, 2353, -2, 962.225, -826.544, -962.225, 826.544, 2317, 1760, 370.586, 534.912, -370.586, -534.912, -2118, 1739, -352, 856, 352, -856, -2086, 159, -428, -220, 428, 220, -810, -253, -102.358, -2.55713, 102.358, 2.55713, 59, -56) +} +point_count = 7 + +[node name="level1" type="Node2D" node_paths=PackedStringArray("path", "line", "player", "finish")] +script = ExtResource("1_hv75i") +starting_width = 400.0 +shrink_factor = 5.0 +path = NodePath("TrackPath") +line = NodePath("TrackLine") +player = NodePath("player") +finish = NodePath("FinishLine") + +[node name="TextureRect" type="TextureRect" parent="."] +self_modulate = Color(0.827451, 0.521569, 0.313726, 1) +offset_left = -6505.0 +offset_top = -3355.0 +offset_right = 19845.0 +offset_bottom = 12825.0 +scale = Vector2(0.5, 0.5) +texture = ExtResource("2_o6466") +stretch_mode = 1 + +[node name="TrackPath" type="Path2D" parent="."] +curve = SubResource("Curve2D_ll8bj") + +[node name="TrackLine" type="Line2D" parent="."] +self_modulate = Color(0.364706, 0.643137, 0.901961, 1) +texture_repeat = 2 +texture = ExtResource("3_fhrup") +texture_mode = 2 +begin_cap_mode = 2 + +[node name="FinishLine" type="Line2D" parent="."] +texture_repeat = 2 +width = 40.0 +texture = ExtResource("4_rxurh") +texture_mode = 1 +begin_cap_mode = 2 +end_cap_mode = 2 +round_precision = 32 +antialiased = true + +[node name="player" parent="." instance=ExtResource("2_5nf51")] +position = Vector2(27, -55) +brake_strength = 800.0 + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="hud" parent="CanvasLayer" instance=ExtResource("2_w64nx")] +size_flags_horizontal = 3 + +[node name="curveSign" type="PointLight2D" parent="."] +position = Vector2(-1914, -560) +scale = Vector2(0.1, 0.1) +color = Color(1, 0.0627451, 0.694118, 1) +energy = 20.0 +texture = ExtResource("7_g24mp") + +[node name="curveSign2" type="PointLight2D" parent="."] +position = Vector2(-1997, -491) +scale = Vector2(0.1, 0.1) +color = Color(1, 0.0627451, 0.694118, 1) +energy = 20.0 +texture = ExtResource("7_g24mp") + +[node name="level_music" type="AudioStreamPlayer" parent="."] +stream = ExtResource("8_ppkte") +volume_db = -10.0 +autoplay = true + +[node name="EditorLight" type="PointLight2D" parent="."] +position = Vector2(29.9961, 54.4995) +scale = Vector2(7.6892, 4.79473) +editor_only = true +texture = ExtResource("9_g4oyh") +texture_scale = 50.0 + +[connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"] +[connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"] diff --git a/src/game/levels/level_1.tscn b/src/game/levels/level_1.tscn deleted file mode 100644 index ae3c76a..0000000 --- a/src/game/levels/level_1.tscn +++ /dev/null @@ -1,141 +0,0 @@ -[gd_scene load_steps=11 format=3 uid="uid://c77xk0mywwt5f"] - -[ext_resource type="Script" path="res://src/game/levels/level.gd" id="1_s3rsn"] -[ext_resource type="Texture2D" uid="uid://dio3rrptd6w7c" path="res://assets/bg2.png" id="2_57sr6"] -[ext_resource type="Texture2D" uid="uid://ds0un04pocx6i" path="res://assets/track90.png" id="3_en5wc"] -[ext_resource type="Texture2D" uid="uid://dmcrms0qu0mtt" path="res://assets/finish2.png" id="4_qeube"] -[ext_resource type="PackedScene" uid="uid://ckau5s2tsb3oc" path="res://src/game/player.tscn" id="5_2n8nj"] -[ext_resource type="PackedScene" uid="uid://dyo5dblkfivwn" path="res://src/gui/menu/level.tscn" id="6_hs25h"] -[ext_resource type="PackedScene" uid="uid://cdlbh3smpgg42" path="res://src/gui/hud/hud.tscn" id="6_r1i0q"] -[ext_resource type="Texture2D" uid="uid://bq151lkkfdlf4" path="res://assets/sign.png" id="7_xmahe"] -[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="8_qlkhp"] - -[sub_resource type="Curve2D" id="Curve2D_ll8bj"] -_data = { -"points": PackedVector2Array(-96.196, 0.475433, 96.196, -0.475433, 59, -56, -752, -468, 752, 468, 2353, -2, 962.225, -826.544, -962.225, 826.544, 2317, 1760, 370.586, 534.912, -370.586, -534.912, -2118, 1739, -352, 856, 352, -856, -2086, 159, -428, -220, 428, 220, -810, -253, -102.358, -2.55713, 102.358, 2.55713, 59, -56) -} -point_count = 7 - -[node name="level1" type="Node2D" node_paths=PackedStringArray("path", "line", "player", "finish", "menu")] -script = ExtResource("1_s3rsn") -starting_width = 400.0 -shrink_factor = 5.0 -path = NodePath("TrackPath") -line = NodePath("TrackLine") -player = NodePath("player") -finish = NodePath("FinishLine") -menu = NodePath("CanvasLayer/menu_box/level") - -[node name="TextureRect" type="TextureRect" parent="."] -self_modulate = Color(0.827451, 0.521569, 0.313726, 1) -offset_left = -6505.0 -offset_top = -3355.0 -offset_right = 19845.0 -offset_bottom = 12825.0 -scale = Vector2(0.5, 0.5) -texture = ExtResource("2_57sr6") -stretch_mode = 1 - -[node name="TrackPath" type="Path2D" parent="."] -curve = SubResource("Curve2D_ll8bj") - -[node name="TrackLine" type="Line2D" parent="."] -self_modulate = Color(0.164706, 0.658824, 0.858824, 1) -texture_repeat = 2 -texture = ExtResource("3_en5wc") -texture_mode = 2 -begin_cap_mode = 2 - -[node name="FinishLine" type="Line2D" parent="."] -texture_repeat = 2 -width = 40.0 -texture = ExtResource("4_qeube") -texture_mode = 1 -begin_cap_mode = 2 -end_cap_mode = 2 -round_precision = 32 -antialiased = true - -[node name="player" parent="." instance=ExtResource("5_2n8nj")] -position = Vector2(27, -55) -brake_strength = 800.0 - -[node name="CanvasLayer" type="CanvasLayer" parent="."] - -[node name="hud" parent="CanvasLayer" instance=ExtResource("6_r1i0q")] -size_flags_horizontal = 3 - -[node name="menu_box" type="Control" parent="CanvasLayer"] -layout_mode = 3 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -20.0 -offset_top = -20.0 -offset_right = 20.0 -offset_bottom = 20.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="level" parent="CanvasLayer/menu_box" instance=ExtResource("6_hs25h")] -visible = false -layout_mode = 1 - -[node name="Node2D" type="Node2D" parent="."] - -[node name="curveSign3" type="PointLight2D" parent="Node2D"] -position = Vector2(-1720, 2263) -rotation = -1.182 -scale = Vector2(0.3, 0.3) -color = Color(0.690196, 0.545098, 0.0509804, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="curveSign" type="PointLight2D" parent="Node2D"] -position = Vector2(-2040, 2122) -rotation = -1.27745 -scale = Vector2(0.3, 0.3) -color = Color(0.690196, 0.545098, 0.0509804, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="curveSign2" type="PointLight2D" parent="Node2D"] -position = Vector2(-2337, -124) -scale = Vector2(0.3, 0.3) -color = Color(0.933333, 0, 0.0235294, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="curveSign4" type="PointLight2D" parent="Node2D"] -position = Vector2(-2447, 113) -scale = Vector2(0.3, 0.3) -color = Color(0.933333, 0, 0.0235294, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="curveSign5" type="PointLight2D" parent="Node2D"] -position = Vector2(2664, -97.0001) -rotation = 1.74374 -scale = Vector2(0.3, 0.3) -color = Color(0.690196, 0.545098, 0.0509804, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="curveSign6" type="PointLight2D" parent="Node2D"] -position = Vector2(2899, 56) -rotation = 2.04177 -scale = Vector2(0.3, 0.3) -color = Color(0.690196, 0.545098, 0.0509804, 1) -energy = 20.0 -texture = ExtResource("7_xmahe") - -[node name="level_music" type="AudioStreamPlayer" parent="."] -stream = ExtResource("8_qlkhp") -volume_db = -29.953 -autoplay = true -bus = &"Music" - -[connection signal="distance_changed" from="." to="CanvasLayer/hud" method="_on_level_distance_changed"] -[connection signal="speed_changed" from="player" to="CanvasLayer/hud" method="_on_player_speed_changed"] diff --git a/src/game/player.tscn b/src/game/player.tscn index 6b67608..babaa3a 100644 --- a/src/game/player.tscn +++ b/src/game/player.tscn @@ -64,19 +64,16 @@ rotation_smoothing_speed = 10.0 [node name="engine_sounds" type="AudioStreamPlayer" parent="."] stream = ExtResource("4_4ajo8") -volume_db = -30.204 +volume_db = -40.467 autoplay = true -bus = &"Sfx" [node name="damage_sounds" type="AudioStreamPlayer" parent="."] stream = ExtResource("5_rvolc") volume_db = -25.297 -bus = &"Sfx" [node name="death_sound" type="AudioStreamPlayer" parent="."] stream = ExtResource("6_i0vg5") volume_db = -25.297 -bus = &"Sfx" [node name="Trail2D" parent="." instance=ExtResource("8_shyhm")] light_mask = 7 diff --git a/src/game/player_controller.gd b/src/game/player_controller.gd index b6d5545..7f90c80 100644 --- a/src/game/player_controller.gd +++ b/src/game/player_controller.gd @@ -45,7 +45,7 @@ func _process(delta): if !dead: var acc_d = acc * delta -# var rev_d = rev * delta + var rev_d = rev * delta var turn_d = turn_speed * delta var brake_d = brake_strength * delta var turn_factor = 1 diff --git a/src/gui/menu/level.gd b/src/gui/menu/level.gd deleted file mode 100644 index ca3f655..0000000 --- a/src/gui/menu/level.gd +++ /dev/null @@ -1,13 +0,0 @@ -extends Control - -func _on_continue_button_pressed(): - get_tree().current_scene.pause() - -func _on_menu_button_pressed(): - get_tree().current_scene.pause() - get_tree().change_scene_to_file("res://src/gui/menu/main.tscn") - -func _on_options_button_pressed(): - var options = load("res://src/gui/menu/options.tscn").instantiate() - get_parent().add_child((options)) - hide() diff --git a/src/gui/menu/level.tscn b/src/gui/menu/level.tscn deleted file mode 100644 index b51e6c8..0000000 --- a/src/gui/menu/level.tscn +++ /dev/null @@ -1,83 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://dyo5dblkfivwn"] - -[ext_resource type="Theme" uid="uid://dpktnl3r5wul1" path="res://src/gui/menu_theme.tres" id="1_62uke"] -[ext_resource type="Script" path="res://src/gui/menu/level.gd" id="2_6ldjx"] - -[node name="level" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme = ExtResource("1_62uke") -script = ExtResource("2_6ldjx") - -[node name="Pause" type="Panel" parent="."] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -131.0 -offset_top = -231.0 -offset_right = 132.0 -offset_bottom = 169.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="Label" type="Label" parent="Pause"] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -52.0 -offset_top = 24.0 -offset_right = 52.0 -offset_bottom = 50.0 -grow_horizontal = 2 -text = "PAUSED" -horizontal_alignment = 1 - -[node name="VBoxContainer" type="VBoxContainer" parent="Pause"] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -59.5 -offset_top = 3.0 -offset_right = 60.5 -offset_bottom = 131.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="ContinueButton" type="Button" parent="Pause/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 8 -focus_neighbor_bottom = NodePath("../StartButton") -text = "CONTINUE" - -[node name="OptionsButton" type="Button" parent="Pause/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 8 -focus_neighbor_bottom = NodePath("../StartButton") -text = "OPTIONS" - -[node name="MenuButton" type="Button" parent="Pause/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 8 -focus_neighbor_bottom = NodePath("../StartButton") -text = "TO MENU" - -[connection signal="pressed" from="Pause/VBoxContainer/ContinueButton" to="." method="_on_continue_button_pressed"] -[connection signal="pressed" from="Pause/VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"] -[connection signal="pressed" from="Pause/VBoxContainer/MenuButton" to="." method="_on_menu_button_pressed"] diff --git a/src/gui/menu/main.gd b/src/gui/menu/main.gd index f5bdd96..8672252 100644 --- a/src/gui/menu/main.gd +++ b/src/gui/menu/main.gd @@ -1,12 +1,9 @@ extends Control -@export var main_menu: Control -@export var level_select: Control - # Called when the node enters the scene tree for the first time. func _ready(): - $Main/VBoxContainer/StartButton.grab_focus() + $VBoxContainer/StartButton.grab_focus() # Called every frame. 'delta' is the elapsed time since the previous frame. @@ -15,25 +12,12 @@ func _process(delta): func _on_start_button_pressed(): -# get_tree().change_scene("res://game/main.tscn") - main_menu.hide() - level_select.show() + get_tree().change_scene("res://game/main.tscn") func _on_options_button_pressed(): - var options = load("res://src/gui/menu/options.tscn").instantiate() - get_parent().add_child((options)) - hide() + var options = load("res://menu/options.tscn").instance() + get_tree().current_scene.add_child((options)) func _on_quit_button_pressed(): get_tree().quit() - -func _on_back_button_pressed(): - level_select.hide() - main_menu.show() - -func _on_level_button_pressed(level:int): - load_level("res://src/game/levels/level_%s.tscn" % level) - -func load_level(path: String): - get_tree().change_scene_to_file(path) diff --git a/src/gui/menu/main.tscn b/src/gui/menu/main.tscn index 6745e4a..d918948 100644 --- a/src/gui/menu/main.tscn +++ b/src/gui/menu/main.tscn @@ -1,7 +1,6 @@ -[gd_scene load_steps=8 format=3 uid="uid://bgtkxeh3lciik"] +[gd_scene load_steps=6 format=3 uid="uid://bgtkxeh3lciik"] [ext_resource type="Script" path="res://src/gui/menu/main.gd" id="1_p5r7q"] -[ext_resource type="AudioStream" uid="uid://dh5jxxwim7ra8" path="res://assets/sounds/music/death_by_waveshaper.wav" id="2_yc480"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2u7je"] bg_color = Color(1, 1, 1, 1) @@ -36,251 +35,57 @@ corner_radius_top_right = 5 corner_radius_bottom_right = 5 corner_radius_bottom_left = 5 -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5it3g"] -bg_color = Color(0, 0, 0, 1) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - [sub_resource type="Theme" id="Theme_67fiq"] Button/colors/font_color = Color(0, 0, 0, 1) Button/colors/font_focus_color = Color(0, 0, 0, 1) Button/colors/font_hover_color = Color(0, 0, 0, 1) -Button/colors/font_hover_pressed_color = Color(1, 1, 1, 1) +Button/colors/font_hover_pressed_color = Color(0, 0, 0, 1) Button/colors/font_pressed_color = Color(1, 1, 1, 1) Button/styles/hover = SubResource("StyleBoxFlat_2u7je") Button/styles/normal = SubResource("StyleBoxFlat_uo2yv") Button/styles/pressed = SubResource("StyleBoxFlat_sjhib") -Panel/styles/panel = SubResource("StyleBoxFlat_5it3g") -[node name="Menu" type="Control" node_paths=PackedStringArray("main_menu", "level_select")] +[node name="Menu" type="Control"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_top = 1.0 -offset_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 theme = SubResource("Theme_67fiq") script = ExtResource("1_p5r7q") -main_menu = NodePath("Main") -level_select = NodePath("LevelSelect") -[node name="Main" type="Panel" parent="."] +[node name="VBoxContainer" type="VBoxContainer" parent="."] layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -131.0 -offset_top = -231.0 -offset_right = 132.0 -offset_bottom = 169.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="VBoxContainer" type="VBoxContainer" parent="Main"] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -59.5 -offset_top = 3.0 -offset_right = 60.5 -offset_bottom = 131.0 +offset_left = -200.0 +offset_top = -44.0 +offset_right = 200.0 +offset_bottom = 156.0 grow_horizontal = 2 grow_vertical = 2 alignment = 1 -[node name="StartButton" type="Button" parent="Main/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) +[node name="StartButton" type="Button" parent="VBoxContainer"] layout_mode = 2 -size_flags_horizontal = 4 focus_neighbor_top = NodePath("../QuitButton") -text = "PLAY" +text = "Start! +" -[node name="OptionsButton" type="Button" parent="Main/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) +[node name="OptionsButton" type="Button" parent="VBoxContainer"] layout_mode = 2 -size_flags_horizontal = 4 -text = "OPTIONS" +text = "Options +" -[node name="QuitButton" type="Button" parent="Main/VBoxContainer"] -custom_minimum_size = Vector2(120, 40) +[node name="QuitButton" type="Button" parent="VBoxContainer"] layout_mode = 2 -size_flags_horizontal = 4 focus_neighbor_bottom = NodePath("../StartButton") -text = "QUIT" +text = "Quit" -[node name="LevelSelect" type="Panel" parent="."] -visible = false -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -131.0 -offset_top = -231.0 -offset_right = 132.0 -offset_bottom = 169.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="VBoxContainer" type="VBoxContainer" parent="LevelSelect"] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -86.5 -offset_top = -65.0 -offset_right = 85.5 -offset_bottom = 127.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="VBoxContainer2" type="VBoxContainer" parent="LevelSelect/VBoxContainer"] -layout_mode = 2 - -[node name="Row1" type="BoxContainer" parent="LevelSelect/VBoxContainer/VBoxContainer2"] -layout_mode = 2 - -[node name="1" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row1"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "1" - -[node name="2" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row1"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "2" - -[node name="3" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row1"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "3" - -[node name="4" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row1"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "4" - -[node name="Row2" type="BoxContainer" parent="LevelSelect/VBoxContainer/VBoxContainer2"] -layout_mode = 2 - -[node name="5" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row2"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "5" - -[node name="6" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row2"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "6" - -[node name="7" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row2"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "7" - -[node name="8" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row2"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "8" - -[node name="Row3" type="BoxContainer" parent="LevelSelect/VBoxContainer/VBoxContainer2"] -layout_mode = 2 - -[node name="9" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row3"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "9" - -[node name="10" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row3"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "10" - -[node name="11" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row3"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "11" - -[node name="12" type="Button" parent="LevelSelect/VBoxContainer/VBoxContainer2/Row3"] -custom_minimum_size = Vector2(40, 40) -layout_mode = 2 -size_flags_horizontal = 4 -text = "12" - -[node name="Label" type="Label" parent="LevelSelect"] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -52.0 -offset_top = 24.0 -offset_right = 52.0 -offset_bottom = 50.0 -grow_horizontal = 2 -text = "LEVEL SELECT" -horizontal_alignment = 1 - -[node name="BackButton" type="Button" parent="LevelSelect"] -custom_minimum_size = Vector2(120, 40) -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = -60.0 -offset_top = -109.0 -offset_right = 60.0 -offset_bottom = -69.0 -grow_horizontal = 2 -grow_vertical = 0 -size_flags_horizontal = 4 -size_flags_vertical = 8 -focus_neighbor_bottom = NodePath("../StartButton") -text = "BACK" - -[node name="MenuMusic" type="AudioStreamPlayer" parent="."] -stream = ExtResource("2_yc480") -volume_db = -29.953 -autoplay = true -bus = &"Music" - -[connection signal="pressed" from="Main/VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] -[connection signal="pressed" from="Main/VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"] -[connection signal="pressed" from="Main/VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row1/1" to="." method="_on_level_button_pressed" binds= [1]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row1/2" to="." method="_on_level_button_pressed" binds= [2]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row1/3" to="." method="_on_level_button_pressed" binds= [3]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row1/4" to="." method="_on_level_button_pressed" binds= [4]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row2/5" to="." method="_on_level_button_pressed" binds= [5]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row2/6" to="." method="_on_level_button_pressed" binds= [6]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row2/7" to="." method="_on_level_button_pressed" binds= [7]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row2/8" to="." method="_on_level_button_pressed" binds= [8]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row3/9" to="." method="_on_level_button_pressed" binds= [9]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row3/10" to="." method="_on_level_button_pressed" binds= [10]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row3/11" to="." method="_on_level_button_pressed" binds= [11]] -[connection signal="pressed" from="LevelSelect/VBoxContainer/VBoxContainer2/Row3/12" to="." method="_on_level_button_pressed" binds= [12]] -[connection signal="pressed" from="LevelSelect/BackButton" to="." method="_on_back_button_pressed"] +[connection signal="pressed" from="VBoxContainer/StartButton" to="." method="_on_start_button_pressed"] +[connection signal="pressed" from="VBoxContainer/OptionsButton" to="." method="_on_options_button_pressed"] +[connection signal="pressed" from="VBoxContainer/QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/src/gui/menu/options.gd b/src/gui/menu/options.gd index 4aa028d..a1bbfe7 100644 --- a/src/gui/menu/options.gd +++ b/src/gui/menu/options.gd @@ -1,5 +1,11 @@ extends Control -func _on_back_button_pressed(): - get_parent().get_child(0).show() - queue_free() + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/src/gui/menu/options.tscn b/src/gui/menu/options.tscn index 7e16c34..d5ca166 100644 --- a/src/gui/menu/options.tscn +++ b/src/gui/menu/options.tscn @@ -1,8 +1,6 @@ -[gd_scene load_steps=4 format=3 uid="uid://fqg6y7xp34u0"] +[gd_scene load_steps=2 format=3 uid="uid://fqg6y7xp34u0"] [ext_resource type="Script" path="res://src/gui/menu/options.gd" id="1_0813x"] -[ext_resource type="Theme" uid="uid://dpktnl3r5wul1" path="res://src/gui/menu_theme.tres" id="1_stpo1"] -[ext_resource type="Script" path="res://src/gui/menu/volume_slider.gd" id="3_2vqm2"] [node name="options" type="Control"] layout_mode = 3 @@ -11,132 +9,4 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -theme = ExtResource("1_stpo1") script = ExtResource("1_0813x") - -[node name="Background" type="Panel" parent="."] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -131.0 -offset_top = -231.0 -offset_right = 132.0 -offset_bottom = 169.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="Label" type="Label" parent="Background"] -layout_mode = 1 -anchors_preset = 5 -anchor_left = 0.5 -anchor_right = 0.5 -offset_left = -52.0 -offset_top = 24.0 -offset_right = 52.0 -offset_bottom = 50.0 -grow_horizontal = 2 -text = "OPTIONS" -horizontal_alignment = 1 - -[node name="VBoxContainer" type="VBoxContainer" parent="Background"] -layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -102.0 -offset_top = -84.0 -offset_right = 102.0 -offset_bottom = 120.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="Label" type="Label" parent="Background/VBoxContainer"] -layout_mode = 2 -text = "AUDIO" -horizontal_alignment = 1 - -[node name="HBoxContainer" type="HBoxContainer" parent="Background/VBoxContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/VBoxContainer/HBoxContainer"] -custom_minimum_size = Vector2(65, 0) -layout_mode = 2 -text = "MASTER" - -[node name="MarginContainer" type="MarginContainer" parent="Background/VBoxContainer/HBoxContainer"] -layout_mode = 2 -theme_override_constants/margin_top = 3 - -[node name="HSlider" type="HSlider" parent="Background/VBoxContainer/HBoxContainer/MarginContainer"] -custom_minimum_size = Vector2(125, 0) -layout_mode = 2 -max_value = 1.0 -step = 0.001 -script = ExtResource("3_2vqm2") -bus_name = "Master" - -[node name="HBoxContainer2" type="HBoxContainer" parent="Background/VBoxContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/VBoxContainer/HBoxContainer2"] -custom_minimum_size = Vector2(65, 0) -layout_mode = 2 -text = "MUSIC" - -[node name="MarginContainer" type="MarginContainer" parent="Background/VBoxContainer/HBoxContainer2"] -layout_mode = 2 -theme_override_constants/margin_top = 3 - -[node name="HSlider" type="HSlider" parent="Background/VBoxContainer/HBoxContainer2/MarginContainer"] -custom_minimum_size = Vector2(125, 0) -layout_mode = 2 -max_value = 1.0 -step = 0.001 -script = ExtResource("3_2vqm2") -bus_name = "Music" - -[node name="HBoxContainer3" type="HBoxContainer" parent="Background/VBoxContainer"] -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/VBoxContainer/HBoxContainer3"] -custom_minimum_size = Vector2(65, 0) -layout_mode = 2 -text = "SFX" - -[node name="MarginContainer" type="MarginContainer" parent="Background/VBoxContainer/HBoxContainer3"] -layout_mode = 2 -theme_override_constants/margin_top = 3 - -[node name="HSlider" type="HSlider" parent="Background/VBoxContainer/HBoxContainer3/MarginContainer"] -custom_minimum_size = Vector2(125, 0) -layout_mode = 2 -max_value = 1.0 -step = 0.001 -script = ExtResource("3_2vqm2") -bus_name = "Sfx" - -[node name="BackButton" type="Button" parent="Background"] -custom_minimum_size = Vector2(120, 40) -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = -60.0 -offset_top = -109.0 -offset_right = 60.0 -offset_bottom = -69.0 -grow_horizontal = 2 -grow_vertical = 0 -size_flags_horizontal = 4 -size_flags_vertical = 8 -focus_neighbor_bottom = NodePath("../StartButton") -text = "Back" - -[connection signal="pressed" from="Background/BackButton" to="." method="_on_back_button_pressed"] diff --git a/src/gui/menu/volume_slider.gd b/src/gui/menu/volume_slider.gd deleted file mode 100644 index ddf117c..0000000 --- a/src/gui/menu/volume_slider.gd +++ /dev/null @@ -1,14 +0,0 @@ -extends HSlider - -@export -var bus_name: String - -var bus_index: int - -func _ready() -> void: - bus_index = AudioServer.get_bus_index(bus_name) - value_changed.connect(_on_value_changed) - value = db_to_linear(AudioServer.get_bus_volume_db(bus_index)) - -func _on_value_changed(value: float) -> void: - AudioServer.set_bus_volume_db(bus_index, linear_to_db(value)) diff --git a/src/gui/menu_theme.tres b/src/gui/menu_theme.tres deleted file mode 100644 index e1cb7fe..0000000 --- a/src/gui/menu_theme.tres +++ /dev/null @@ -1,52 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dpktnl3r5wul1"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2u7je"] -bg_color = Color(1, 1, 1, 1) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 -border_color = Color(0, 0, 0, 1) -border_blend = true -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_uo2yv"] -bg_color = Color(1, 1, 1, 1) -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_sjhib"] -bg_color = Color(0, 0, 0, 1) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 -border_color = Color(1, 1, 1, 1) -border_blend = true -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5it3g"] -bg_color = Color(0, 0, 0, 1) -corner_radius_top_left = 10 -corner_radius_top_right = 10 -corner_radius_bottom_right = 10 -corner_radius_bottom_left = 10 - -[resource] -Button/colors/font_color = Color(0, 0, 0, 1) -Button/colors/font_focus_color = Color(0, 0, 0, 1) -Button/colors/font_hover_color = Color(0, 0, 0, 1) -Button/colors/font_hover_pressed_color = Color(1, 1, 1, 1) -Button/colors/font_pressed_color = Color(1, 1, 1, 1) -Button/styles/hover = SubResource("StyleBoxFlat_2u7je") -Button/styles/normal = SubResource("StyleBoxFlat_uo2yv") -Button/styles/pressed = SubResource("StyleBoxFlat_sjhib") -Panel/styles/panel = SubResource("StyleBoxFlat_5it3g")