Compare commits

..

5 Commits

Author SHA1 Message Date
69314f2235 Added bloops
Some checks failed
linting & formatting / build (push) Failing after 26s
itch.io publish action / build (linux64, x86_64) (push) Successful in 2m19s
itch.io publish action / build (osx, app) (push) Successful in 2m24s
itch.io publish action / build (win64, exe) (push) Successful in 2m30s
2025-08-16 15:29:34 -06:00
52f082b1a2 UI SFX defines confirm, accept, forward, back, and bonk sounds 2025-08-16 14:50:57 -06:00
5c0bb110fd Embiggened the cargo elevator 2025-08-16 12:12:25 -06:00
717fca7285 New UI SFX 2025-08-16 12:11:48 -06:00
29ef5ce00d Updated tool SFX 2025-08-15 17:48:40 -06:00
52 changed files with 1314 additions and 516 deletions

BIN
assets/sfx/tools/tool_bonk_v0.wav (Stored with Git LFS)

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bmj7v5freut2j"
path="res://.godot/imported/tool_bonk_v0.wav-662ee3c75b5255488cc0ca3fc9cbf29f.sample"
[deps]
source_file="res://assets/sfx/tools/tool_bonk_v0.wav"
dest_files=["res://.godot/imported/tool_bonk_v0.wav-662ee3c75b5255488cc0ca3fc9cbf29f.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/tools/tool_bonk_v1.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://rkg4iq2t8auh"
path="res://.godot/imported/tool_bonk_v1.wav-93573695836ff45ac1248db0ebaf1c4b.sample"
[deps]
source_file="res://assets/sfx/tools/tool_bonk_v1.wav"
dest_files=["res://.godot/imported/tool_bonk_v1.wav-93573695836ff45ac1248db0ebaf1c4b.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_accept_v1.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c6uryit3c4ue0"
path="res://.godot/imported/ui_accept_v1.wav-9f2b63a141d09890c9c29a1f849766df.sample"
[deps]
source_file="res://assets/sfx/ui/ui_accept_v1.wav"
dest_files=["res://.godot/imported/ui_accept_v1.wav-9f2b63a141d09890c9c29a1f849766df.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_accept_v2.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cfv0eiax5miyy"
path="res://.godot/imported/ui_accept_v2.wav-5ceb50218ced5d0417d4dab35500f6e5.sample"
[deps]
source_file="res://assets/sfx/ui/ui_accept_v2.wav"
dest_files=["res://.godot/imported/ui_accept_v2.wav-5ceb50218ced5d0417d4dab35500f6e5.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_accept_v3.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://h3fo48pslb04"
path="res://.godot/imported/ui_accept_v3.wav-0443a5c43d277f9b6116532ca735cdc1.sample"
[deps]
source_file="res://assets/sfx/ui/ui_accept_v3.wav"
dest_files=["res://.godot/imported/ui_accept_v3.wav-0443a5c43d277f9b6116532ca735cdc1.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_accept_v4.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cvdn1s11isp0q"
path="res://.godot/imported/ui_accept_v4.wav-545f853de36ba762616f18db6adbe93b.sample"
[deps]
source_file="res://assets/sfx/ui/ui_accept_v4.wav"
dest_files=["res://.godot/imported/ui_accept_v4.wav-545f853de36ba762616f18db6adbe93b.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_accept_v5.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://bxorrvuexipfs"
path="res://.godot/imported/ui_accept_v5.wav-9d68201f280dc9489643abceb296fa96.sample"
[deps]
source_file="res://assets/sfx/ui/ui_accept_v5.wav"
dest_files=["res://.godot/imported/ui_accept_v5.wav-9d68201f280dc9489643abceb296fa96.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_bloop_v1.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://duobdakanodbd"
path="res://.godot/imported/ui_bloop_v1.wav-02382f5069b97c9d0093fa2df8d67522.sample"
[deps]
source_file="res://assets/sfx/ui/ui_bloop_v1.wav"
dest_files=["res://.godot/imported/ui_bloop_v1.wav-02382f5069b97c9d0093fa2df8d67522.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_bonk_v1.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://ddggq8bnksrv6"
path="res://.godot/imported/ui_bonk_v1.wav-c174990ea35c06cef4465a1a5b903975.sample"
[deps]
source_file="res://assets/sfx/ui/ui_bonk_v1.wav"
dest_files=["res://.godot/imported/ui_bonk_v1.wav-c174990ea35c06cef4465a1a5b903975.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_cancel_v1.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://cp8hyfxchybdx"
path="res://.godot/imported/ui_cancel_v1.wav-5e438d0a60b3ae3dea0f94f53c6e6dd9.sample"
[deps]
source_file="res://assets/sfx/ui/ui_cancel_v1.wav"
dest_files=["res://.godot/imported/ui_cancel_v1.wav-5e438d0a60b3ae3dea0f94f53c6e6dd9.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_cancel_v2.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://llla6lqmwawd"
path="res://.godot/imported/ui_cancel_v2.wav-a57fe55362eeca93732a134a280d8d33.sample"
[deps]
source_file="res://assets/sfx/ui/ui_cancel_v2.wav"
dest_files=["res://.godot/imported/ui_cancel_v2.wav-a57fe55362eeca93732a134a280d8d33.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_cancel_v3.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c363igt5iqkiw"
path="res://.godot/imported/ui_cancel_v3.wav-19b43fcc6981c4bd398247fee7ad2d1a.sample"
[deps]
source_file="res://assets/sfx/ui/ui_cancel_v3.wav"
dest_files=["res://.godot/imported/ui_cancel_v3.wav-19b43fcc6981c4bd398247fee7ad2d1a.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_cancel_v4.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c27dwn4wx68cj"
path="res://.godot/imported/ui_cancel_v4.wav-9076576f7834c1b239e45cce08c3d639.sample"
[deps]
source_file="res://assets/sfx/ui/ui_cancel_v4.wav"
dest_files=["res://.godot/imported/ui_cancel_v4.wav-9076576f7834c1b239e45cce08c3d639.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

BIN
assets/sfx/ui/ui_extra_accept_v0.wav (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://i47j5mxtgwro"
path="res://.godot/imported/ui_extra_accept_v0.wav-55d31457ca167bc3acf643baf2591cdb.sample"
[deps]
source_file="res://assets/sfx/ui/ui_extra_accept_v0.wav"
dest_files=["res://.godot/imported/ui_extra_accept_v0.wav-55d31457ca167bc3acf643baf2591cdb.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=2

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
[ext_resource type="PackedScene" uid="uid://bbmi28batmn0p" path="res://levels/ghost_ship/level/cargo_bay/elevator/elevator_control.tscn" id="8_g20so"]
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_extwr"]
data = PackedVector3Array(0, 3, 0, 0, -0.0001, 0, 0, 3, -9.0002, 0, 3, -9.0002, 0, -0.0001, 0, 0, -0.0001, -9.0002, 0, -0.0001, -9.0002, 0, -0.0001, -11.0002, 0, 3, -9.0002, 0, -0.0001, 0, 0, -24.0003, -25, 0, -0.0001, -9.0002, 0, -0.0001, -9.0002, 0, -24.0003, -25, 0, -0.0001, -11.0002, 0, -24.0003, -16.0002, 0, -24.0003, -25, 0, -0.0001, 0, 0, -0.0001, -11.0002, 0, -24.0003, -25, 0, -15.0001, -21.0002, 0, -15.0001, -21.0002, 0, -24.0003, -25, 0, -21.0002, -25, 0, -15.0001, -25, 0, -15.0001, -21.0002, 0, -21.0002, -25, 0, -24.0003, -16.0002, 0, -0.0001, 0, -6, -24.0003, -16.0002, -6, -24.0003, -16.0002, 0, -0.0001, 0, -6, -15.0001, -10, -6, -15.0001, -10, 0, -0.0001, 0, -6, -0.0001, 0, 0, -24.0003, -16.0002, -6, -24.0003, -16.0002, 0, -25.2, -16.0002, 0, -25.2, -16.0002, -6, -24.0003, -16.0002, -6, -25.2, -16.0002, -6, -0.0001, 0, -6, -0.0001, -9.0002, -6, -15.0001, -10, -6, -15.0001, -10, -6, -0.0001, -9.0002, -6, -15.0001, -16.0002, -6, -15.0001, -16.0002, -6, -24.0003, -16.0002, -6, -15.0001, -10, -6, -15.0001, -16.0002, -6, -0.0001, -9.0002, -6, -15.0001, -21.0002, -6, -15.0001, -21.0002, -6, -0.0001, -9.0002, -6, -0.0001, -11.0002, -6, -0.0001, -9.0002, -6, 3, -9.0002, -6, -0.0001, -11.0002, 0, -25.2, -22.0001, 0, -25.2, -16.0002, -6, -25.2, -22.0001, -6, -25.2, -22.0001, 0, -25.2, -16.0002, -6, -25.2, -16.0002, -6, -24.0003, -25, 0, -24.0003, -25, -6, -25.2, -22.0001, -6, -25.2, -22.0001, 0, -24.0003, -25, 0, -25.2, -22.0001, -6, -24.0003, -16.0002, -6, -24.0003, -25, -6, -25.2, -16.0002, -6, -25.2, -16.0002, -6, -24.0003, -25, -6, -25.2, -22.0001, 0, -24.0003, -25, 0, -24.0003, -16.0002, 0, -25.2, -22.0001, 0, -25.2, -22.0001, 0, -24.0003, -16.0002, 0, -25.2, -16.0002, -6, -15.0001, -21.0002, -6, -0.0001, -11.0002, 0, -15.0001, -21.0002, 0, -15.0001, -21.0002, -6, -0.0001, -11.0002, 0, -0.0001, -11.0002, 0, -0.0001, -11.0002, -6, -0.0001, -11.0002, 0, 3, -9.0002, 0, 3, -9.0002, -6, -0.0001, -11.0002, -6, 3, -9.0002)
data = PackedVector3Array(0, 3, 0, 0, -0.0001, 0, 0, 3, -18, 0, 3, -18, 0, -0.0001, 0, 0, -0.0001, -18, 0, -0.0001, -18, 0, -0.0001, -20, 0, 3, -18, 0, -0.0001, 0, 0, -24.0003, -34, 0, -0.0001, -18, 0, -0.0001, -18, 0, -24.0003, -34, 0, -0.0001, -20, 0, -24.0003, -16, 0, -24.0003, -34, 0, -0.0001, 0, 0, -0.0001, -20, 0, -24.0003, -34, 0, -15.0001, -30, 0, -15.0001, -30, 0, -24.0003, -34, 0, -21.0002, -34, 0, -15.0001, -34, 0, -15.0001, -30, 0, -21.0002, -34, 0, -24.0003, -16, 0, -0.0001, 0, -12, -24.0003, -16, -12, -24.0003, -16, 0, -0.0001, 0, -12, -15.0001, -10, -12, -15.0001, -10, 0, -0.0001, 0, -12, -0.0001, 0, 0, -24.0003, -16, -12, -24.0003, -16, 0, -25.2, -16, 0, -25.2, -16, -12, -24.0003, -16, -12, -25.2, -16, -12, -0.0001, 0, -12, -0.0001, -18, -12, -15.0001, -10, -12, -15.0001, -10, -12, -0.0001, -18, -12, -15.0001, -16, -12, -15.0001, -16, -12, -24.0003, -16, -12, -15.0001, -10, -12, -15.0001, -16, -12, -0.0001, -18, -12, -15.0001, -30, -12, -15.0001, -30, -12, -0.0001, -18, -12, -0.0001, -20, -12, -0.0001, -18, -12, 3, -18, -12, -0.0001, -20, 0, -25.2, -31.0003, 0, -25.2, -16, -12, -25.2, -31.0003, -12, -25.2, -31.0003, 0, -25.2, -16, -12, -25.2, -16, -12, -24.0003, -34, 0, -24.0003, -34, -12, -25.2, -31.0003, -12, -25.2, -31.0003, 0, -24.0003, -34, 0, -25.2, -31.0003, -12, -24.0003, -16, -12, -24.0003, -34, -12, -25.2, -16, -12, -25.2, -16, -12, -24.0003, -34, -12, -25.2, -31.0003, 0, -24.0003, -34, 0, -24.0003, -16, 0, -25.2, -31.0003, 0, -25.2, -31.0003, 0, -24.0003, -16, 0, -25.2, -16, 0, -15.0001, -31.0003, 0, -15.0001, -30, 0, -15.0001, -34, -12, -15.0001, -30, -12, -0.0001, -20, 0, -15.0001, -30, 0, -15.0001, -30, -12, -0.0001, -20, 0, -0.0001, -20, 0, -0.0001, -20, -12, -0.0001, -20, 0, 3, -18, 0, 3, -18, -12, -0.0001, -20, -12, 3, -18, 0, -15.0001, -30, 0, -15.0001, -31.0003, -12, -15.0001, -30, -12, -15.0001, -30, 0, -15.0001, -31.0003, -12, -15.0001, -31.0003)
[sub_resource type="Curve3D" id="Curve3D_54or8"]
_data = {
@ -31,19 +31,19 @@ texture_filter = 2
[sub_resource type="BoxMesh" id="BoxMesh_qo5rw"]
material = SubResource("StandardMaterial3D_54or8")
size = Vector3(6, 1, 6)
size = Vector3(12, 1, 12)
[sub_resource type="BoxShape3D" id="BoxShape3D_wg450"]
size = Vector3(6, 1, 6)
size = Vector3(12, 1, 12)
[sub_resource type="BoxShape3D" id="BoxShape3D_egxej"]
size = Vector3(6, 0.2, 6)
size = Vector3(12, 0.2, 12)
[node name="CargoLift" type="Node3D" groups=["Persistent"]]
script = ExtResource("1_extwr")
[node name="Shaft" type="MeshInstance3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 4.5, 0, -3)
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 7.5, 0, -6)
mesh = ExtResource("2_1wrn3")
[node name="StaticBody3D" type="StaticBody3D" parent="Shaft"]
@ -92,17 +92,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0)
shape = SubResource("BoxShape3D_egxej")
[node name="Railing" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, 1.5)
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.5, 0.5, 4.5)
gi_mode = 0
skeleton = NodePath("../../../..")
[node name="Railing2" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.5, 0.5, -1.5)
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.5, 0.5, 1.5)
gi_mode = 0
skeleton = NodePath("../../../..")
[node name="Railing3" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.5, 0.5, -1.5)
gi_mode = 0
skeleton = NodePath("../../../..")
[node name="Railing4" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform" instance=ExtResource("7_esw7b")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -4.5, 0.5, -4.5)
gi_mode = 0
skeleton = NodePath("../../../..")
[node name="ControlConsole" type="Node3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0.5, -1.4)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7, 0.5, -0.5)
[node name="ConsoleBase" type="CSGCombiner3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole"]
gi_mode = 0
@ -111,10 +121,10 @@ collision_layer = 5
collision_mask = 0
[node name="BaseBox" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.55)
transform = Transform3D(0.999991, 1.10134e-12, -4.2826e-18, -1.10134e-12, 0.999991, 0, -4.87891e-19, 2.5411e-20, 1, 0, 0, -2.5)
gi_mode = 0
use_collision = true
size = Vector3(1, 1, 2.1)
size = Vector3(1, 1, 6)
[node name="ControlPanel" type="CSGBox3D" parent="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ConsoleBase"]
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.6, 0.6, 0)
@ -131,7 +141,10 @@ size = Vector3(0.4, 0.2, 0.02)
transform = Transform3D(0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0, 1, -0.225, 0.285, 0)
[node name="Railing" parent="." instance=ExtResource("7_esw7b")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.5, 3)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6, 0.5, 6)
[node name="Railing2" parent="." instance=ExtResource("7_esw7b")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0.5, 6)
[connection signal="at_limit" from="." to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/ControlConsole/ElevatorControl" method="on_set_mid"]
[connection signal="body_exited" from="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" to="ElevatorPath/ElevatorPathFollow/ElevatorPlatform/MeshInstance3D/RumbleZone" method="_on_body_exited"]

View File

@ -4,29 +4,29 @@ mtllib elevator_shaft.mtl
o Geometry
v 0.000000 0.000000 0.000000
v -0.000000 3.000000 0.000000
v 0.000000 0.000000 -9.000000
v -0.000000 3.000000 -9.000000
v -6.000000 0.000000 0.000000
v -6.000000 0.000000 -9.000000
v -6.000000 3.000000 -9.000000
v 0.000000 0.000000 -18.000000
v -0.000000 3.000000 -18.000000
v -12.000000 0.000000 0.000000
v -12.000000 0.000000 -18.000000
v -12.000000 3.000000 -18.000000
v 0.000000 -24.000000 -16.000000
v -0.000000 -21.000000 -25.000000
v -6.000000 -24.000000 -16.000000
v -6.000000 -15.000000 -16.000000
v 0.000000 -24.000000 -25.000000
v -6.000000 -15.000000 -21.000000
v -6.000000 -15.000000 -10.000000
v -0.000000 -15.000000 -21.000000
v -6.000000 -24.000000 -25.000000
v 0.000000 -25.200001 -22.000000
v -0.000000 -21.000000 -34.000000
v -12.000000 -24.000000 -16.000000
v -12.000000 -15.000000 -16.000000
v 0.000000 -24.000000 -34.000000
v -12.000000 -15.000000 -30.000000
v -12.000000 -15.000000 -10.000000
v -0.000000 -15.000000 -30.000000
v -12.000000 -24.000000 -34.000000
v 0.000000 -25.200001 -31.000000
v 0.000000 -25.200001 -16.000000
v -6.000000 -25.200001 -22.000000
v -6.000000 -25.200001 -16.000000
v -0.000000 -15.000000 -25.000000
v -0.000000 0.000000 -11.000000
v -6.000000 0.000000 -11.000000
v -6.000000 -15.000000 -22.000000
v -0.000000 -15.000000 -22.000000
v -12.000000 -25.200001 -31.000000
v -12.000000 -25.200001 -16.000000
v -0.000000 -15.000000 -34.000000
v -0.000000 0.000000 -20.000000
v -12.000000 0.000000 -20.000000
v -12.000000 -15.000000 -31.000000
v -0.000000 -15.000000 -31.000000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 0.5547 -0.8321
vn -0.0000 -0.0000 -1.0000
@ -35,49 +35,50 @@ vn -0.0000 1.0000 -0.0000
vn -0.0000 0.9285 0.3714
vn -0.0000 -0.5547 0.8321
vn -0.0000 -1.0000 -0.0000
vt 0.000193 0.065669
vt 0.043844 0.000193
vt 0.240271 0.131145
vt 0.196620 0.196620
vt 0.568422 0.756802
vt 0.568422 0.000193
vt 0.725806 0.000193
vt 0.725806 0.283921
vt 0.725806 0.756802
vt 0.240271 0.225721
vt 0.726192 0.813096
vt 0.726192 0.655712
vt 0.757669 0.655712
vt 0.757669 0.813096
vt 0.524385 0.625850
vt 0.327958 0.756802
vt 0.327958 0.283921
vt 0.458909 0.196620
vt 0.568036 0.123869
vt 0.568036 0.596750
vt 0.196620 0.953229
vt 0.000193 0.822278
vt 0.240271 0.698601
vt 0.240271 0.887753
vt 0.915053 0.655712
vt 0.915053 0.813096
vt 0.999807 0.655712
vt 0.999807 0.813096
vt 0.780616 0.900773
vt 0.768925 0.871547
vt 0.780616 0.568036
vt 0.768925 0.597261
vt 0.327958 0.000193
vt 0.283921 0.727701
vt 0.327572 0.756802
vt 0.568036 0.691326
vt 0.883576 0.094769
vt 0.883576 0.567650
vt 0.726192 0.567650
vt 0.726192 0.094769
vt 0.726192 0.000193
vt 0.883576 0.000193
vt 0.000000 0.000000
vt 0.000198 0.045970
vt 0.030712 0.000198
vt 0.305341 0.183284
vt 0.274827 0.229056
vt 0.672306 0.529113
vt 0.672306 0.000198
vt 0.892348 0.000198
vt 0.892348 0.198541
vt 0.892348 0.529113
vt 0.305341 0.249398
vt 0.723071 0.657177
vt 0.723071 0.877219
vt 0.701067 0.877219
vt 0.701067 0.657177
vt 0.641395 0.351113
vt 0.366766 0.534199
vt 0.366766 0.203627
vt 0.458309 0.142598
vt 0.671910 0.000198
vt 0.671910 0.330770
vt 0.274827 0.757971
vt 0.000198 0.574885
vt 0.305341 0.579970
vt 0.305341 0.712199
vt 0.426014 0.877219
vt 0.426014 0.657177
vt 0.366766 0.877219
vt 0.366766 0.657177
vt 0.673222 0.534595
vt 0.681394 0.555025
vt 0.673222 0.999802
vt 0.681394 0.979371
vt 0.366766 0.005284
vt 0.320599 0.590142
vt 0.366370 0.620656
vt 0.671910 0.396884
vt 0.723467 0.883504
vt 0.723467 0.552932
vt 0.943509 0.552932
vt 0.943509 0.883504
vt 0.943509 0.949618
vt 0.723467 0.949618
vt 0.943509 0.534595
vt 0.723467 0.534595
s 0
f 1/1/1 2/2/1 4/3/1 3/4/1
f 1/5/2 8/6/2 10/7/2 14/8/2 5/9/2
@ -93,4 +94,4 @@ f 10/33/4 11/18/4 14/17/4
f 15/23/1 25/34/1 21/35/1 9/24/1
f 7/36/4 6/15/4 23/20/4
f 23/37/7 13/38/7 15/39/7 22/40/7 4/41/7 7/42/7
f 25/34/8 15/23/8 13/38/8 24/43/8
f 25/43/8 15/39/8 13/38/8 24/44/8

View File

@ -99,7 +99,7 @@ normal_texture = ExtResource("16_jbppi")
uv1_scale = Vector3(3, 2, 1)
texture_filter = 4
[sub_resource type="ArrayMesh" id="ArrayMesh_f0xh4"]
[sub_resource type="ArrayMesh" id="ArrayMesh_nxaus"]
_surfaces = [{
"aabb": AABB(-4.5, 0, -3, 9, 1e-05, 6),
"format": 34896613377,
@ -128,7 +128,7 @@ _surfaces = [{
"vertex_data": PackedByteArray(255, 255, 0, 0, 255, 255, 255, 191, 0, 0, 0, 0, 255, 255, 255, 191, 255, 255, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 255, 191, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127, 255, 255, 255, 127)
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_f0xh4")
shadow_mesh = SubResource("ArrayMesh_nxaus")
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_u2hqf"]
data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 0, -1.5)

View File

@ -2,5 +2,8 @@ class_name GlobalSFXManagerType extends Node
## Global autoloaded singleton controller for global UI non-diegetic sounds
@onready var confirm: AudioStreamPlayer = %Confirm
@onready var cancel: AudioStreamPlayer = %Cancel
@onready var accept: AudioStreamPlayer = %Accept
@onready var forward: AudioStreamPlayer = %Forward
@onready var back: AudioStreamPlayer = %Back
@onready var bonk: AudioStreamPlayer = %Bonk
@onready var bloop: AudioStreamPlayer = %Bloop

View File

@ -1,28 +1,49 @@
[gd_scene load_steps=5 format=3 uid="uid://dt27sg6y8luhe"]
[gd_scene load_steps=7 format=3 uid="uid://dt27sg6y8luhe"]
[ext_resource type="AudioStream" uid="uid://cfj1o2mt8pc8e" path="res://assets/sfx/ui/ui_confirm_v0.wav" id="1_wh46b"]
[ext_resource type="Script" uid="uid://bpaid8cfddrtp" path="res://src/game/global_sfx_manager/global_sfx_manager.gd" id="1_xjjma"]
[ext_resource type="AudioStream" uid="uid://qua4yq6ceeax" path="res://assets/sfx/ui/ui_cancel_v0.wav" id="2_xjjma"]
[ext_resource type="AudioStream" uid="uid://b8l5atgau0qpb" path="res://assets/sfx/ui/ui_bonk_v0.wav" id="3_xl3ms"]
[ext_resource type="AudioStream" uid="uid://i47j5mxtgwro" path="res://assets/sfx/ui/ui_extra_accept_v0.wav" id="2_xjjma"]
[ext_resource type="AudioStream" uid="uid://c27dwn4wx68cj" path="res://assets/sfx/ui/ui_cancel_v4.wav" id="3_xjjma"]
[ext_resource type="AudioStream" uid="uid://bxorrvuexipfs" path="res://assets/sfx/ui/ui_accept_v5.wav" id="3_xl3ms"]
[ext_resource type="AudioStream" uid="uid://ddggq8bnksrv6" path="res://assets/sfx/ui/ui_bonk_v1.wav" id="4_ywyuo"]
[ext_resource type="AudioStream" uid="uid://duobdakanodbd" path="res://assets/sfx/ui/ui_bloop_v1.wav" id="6_ywyuo"]
[node name="GlobalSFXManager" type="Node"]
script = ExtResource("1_xjjma")
[node name="Confirm" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("1_wh46b")
volume_db = -16.0
stream = ExtResource("2_xjjma")
volume_db = -20.0
bus = &"SFX"
[node name="Cancel" type="AudioStreamPlayer" parent="."]
[node name="Accept" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("2_xjjma")
volume_db = -16.0
stream = ExtResource("3_xl3ms")
volume_db = -20.0
bus = &"SFX"
[node name="Forward" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -20.0
pitch_scale = 0.7
bus = &"SFX"
[node name="Back" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -20.0
bus = &"SFX"
[node name="Bonk" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xl3ms")
stream = ExtResource("4_ywyuo")
volume_db = -16.0
pitch_scale = 0.8
pitch_scale = 1.1
bus = &"SFX"
[node name="Bloop" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("6_ywyuo")
volume_db = -20.0
bus = &"SFX"

View File

@ -7,10 +7,10 @@
[ext_resource type="PackedScene" uid="uid://b47goj32i6sdh" path="res://src/ui/elements/input_prompt/input_prompt.tscn" id="4_iwjh7"]
[ext_resource type="Script" uid="uid://cjs2fen6jo0g0" path="res://src/ui/rumbler.gd" id="4_ud8na"]
[ext_resource type="Script" uid="uid://ctvu31jkk1un2" path="res://src/ui/hud/hold_hud.gd" id="5_65kmv"]
[ext_resource type="AudioStream" uid="uid://rkg4iq2t8auh" path="res://assets/sfx/tools/tool_bonk_v1.wav" id="7_bu2tv"]
[ext_resource type="FontFile" uid="uid://oq8ue2qrfijg" path="res://assets/fonts/Silkscreen/Silkscreen-Regular.ttf" id="7_iwjh7"]
[ext_resource type="PackedScene" uid="uid://bce8b2erx64vg" path="res://src/game/tutorial/tutorial.tscn" id="9_8np55"]
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="10_c1hvd"]
[ext_resource type="AudioStream" uid="uid://bmj7v5freut2j" path="res://assets/sfx/tools/tool_bonk_v0.wav" id="11_bu2tv"]
[sub_resource type="Animation" id="Animation_iwjh7"]
length = 0.001
@ -409,9 +409,8 @@ libraries = {
}
[node name="TankAlertBonkSFX" type="AudioStreamPlayer" parent="AlertHUD/TankAlert"]
stream = ExtResource("11_bu2tv")
stream = ExtResource("7_bu2tv")
volume_db = -8.0
pitch_scale = 0.88
bus = &"SFX"
[node name="GrunkAlert" type="Control" parent="AlertHUD"]
@ -460,10 +459,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -17.9273
offset_top = -20.3455
offset_right = -17.9273
offset_bottom = -20.3455
offset_left = -19.0295
offset_top = -20.3157
offset_right = -19.0295
offset_bottom = -20.3157
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("4_ud8na")

View File

@ -38,14 +38,18 @@ func _hide() -> void:
menu_list.hide()
func hover() -> void:
GlobalSFXManager.bloop.play()
func resume() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.back.play()
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
queue_free()
func settings() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.forward.play()
var instance: Control = settings_scene.instantiate()
settings_container.add_child(instance)
instance.tree_exited.connect(_unhide)
@ -53,27 +57,27 @@ func settings() -> void:
func quit() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.forward.play()
quit_confirm.show()
func cancel_quit() -> void:
GlobalSFXManager.cancel.play()
GlobalSFXManager.back.play()
quit_confirm.hide()
func confirm_quit() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.accept.play()
get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST)
func end_game() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.forward.play()
end_game_confirm.show()
func cancel_end_game() -> void:
GlobalSFXManager.cancel.play()
GlobalSFXManager.back.play()
end_game_confirm.hide()

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://byvjsvavbg5xe"]
[gd_scene load_steps=6 format=3 uid="uid://byvjsvavbg5xe"]
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="1_b4t8b"]
[ext_resource type="Script" uid="uid://cllx5glqld8wn" path="res://src/ui/menus/pause_menu/pause_menu.gd" id="1_rd0j2"]
[ext_resource type="PackedScene" uid="uid://d3eaqw2rdurct" path="res://src/ui/menus/settings_menu/settings_menu.tscn" id="3_dowgp"]
[ext_resource type="PackedScene" uid="uid://dofr2ebmvnwxf" path="res://src/ui/menus/debug_menu/debug_menu.tscn" id="4_1bm4j"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="5_ls6ft"]
[node name="PauseMenu" type="Control"]
process_mode = 3
@ -72,22 +73,73 @@ alignment = 1
[node name="ResumeButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
focus_neighbor_bottom = NodePath("../SettingsButton")
focus_next = NodePath("../SettingsButton")
text = "PAUSE_RESUME"
[node name="BloopComponent" type="Control" parent="MenuList/VBoxContainer/ResumeButton"]
anchors_preset = 0
offset_left = -878.0
offset_top = -551.0
offset_right = -838.0
offset_bottom = -511.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="SettingsButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
focus_neighbor_top = NodePath("../ResumeButton")
focus_neighbor_bottom = NodePath("../EndGameButton")
focus_next = NodePath("../EndGameButton")
focus_previous = NodePath("../ResumeButton")
text = "PAUSE_SETTINGS"
[node name="BloopComponent" type="Control" parent="MenuList/VBoxContainer/SettingsButton"]
layout_mode = 3
anchors_preset = 0
offset_left = -878.0
offset_top = -551.0
offset_right = -838.0
offset_bottom = -511.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="EndGameButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
focus_neighbor_top = NodePath("../SettingsButton")
focus_neighbor_bottom = NodePath("../QuitButton")
focus_next = NodePath("../QuitButton")
focus_previous = NodePath("../SettingsButton")
theme_type_variation = &"DangerButton"
text = "PAUSE_END"
[node name="BloopComponent" type="Control" parent="MenuList/VBoxContainer/EndGameButton"]
layout_mode = 3
anchors_preset = 0
offset_left = -878.0
offset_top = -551.0
offset_right = -838.0
offset_bottom = -511.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="QuitButton" type="Button" parent="MenuList/VBoxContainer"]
layout_mode = 2
focus_neighbor_top = NodePath("../EndGameButton")
focus_previous = NodePath("../EndGameButton")
theme_type_variation = &"DangerButton"
text = "PAUSE_QUIT"
[node name="BloopComponent" type="Control" parent="MenuList/VBoxContainer/QuitButton"]
layout_mode = 3
anchors_preset = 0
offset_left = -878.0
offset_top = -551.0
offset_right = -838.0
offset_bottom = -511.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="DebugButton" type="Button" parent="MenuList/VBoxContainer"]
unique_name_in_owner = true
visible = false
@ -95,6 +147,16 @@ layout_mode = 2
theme_override_colors/font_color = Color(0.14, 1, 0.355, 1)
text = "PAUSE_DEBUG"
[node name="BloopComponent" type="Control" parent="MenuList/VBoxContainer/DebugButton"]
layout_mode = 3
anchors_preset = 0
offset_left = -878.0
offset_top = -551.0
offset_right = -838.0
offset_bottom = -511.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="SettingsContainer" type="MarginContainer" parent="."]
unique_name_in_owner = true
custom_minimum_size = Vector2(1000, 600)
@ -168,12 +230,28 @@ layout_mode = 2
size_flags_horizontal = 3
text = "UI_CANCEL"
[node name="BloopComponent" type="Control" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/CancelButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="ConfirmQuitButton" type="Button" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"DangerButton"
text = "UI_QUIT"
[node name="BloopComponent" type="Control" parent="QuitConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/ConfirmQuitButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="EndGameConfirm" type="CenterContainer" parent="."]
unique_name_in_owner = true
visible = false
@ -213,12 +291,28 @@ layout_mode = 2
size_flags_horizontal = 3
text = "UI_CANCEL"
[node name="BloopComponent" type="Control" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/CancelButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="ConfirmEndGameButton" type="Button" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_type_variation = &"DangerButton"
text = "UI_QUIT"
[node name="BloopComponent" type="Control" parent="EndGameConfirm/PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/ConfirmEndGameButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("5_ls6ft")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[connection signal="pressed" from="MenuList/VBoxContainer/ResumeButton" to="." method="resume"]
[connection signal="pressed" from="MenuList/VBoxContainer/SettingsButton" to="." method="settings"]
[connection signal="pressed" from="MenuList/VBoxContainer/EndGameButton" to="." method="end_game"]

View File

@ -30,8 +30,7 @@ func _ready() -> void:
# Set action label text
var loc_action := tr(ACTION_KEY_FMT.format([key]))
# Fall back to just the key if no localization exists
@warning_ignore("incompatible_ternary")
action.text = loc_action if loc_action else key
@warning_ignore("incompatible_ternary") action.text = loc_action if loc_action else key
# Set the binding label
_set_label_from_binding()
@ -83,11 +82,13 @@ func _input(event: InputEvent) -> void:
func start_listening() -> void:
GlobalSFXManager.forward.play()
button.text = LISTENING_TEXT
listening = true
func cancel_rebinding() -> void:
GlobalSFXManager.back.play()
_set_label_from_binding()
listening = false
@ -100,6 +101,7 @@ func rebind(event: InputEvent) -> void:
# Update label
_set_label_from_binding()
GlobalSFXManager.accept.play()
listening = false

View File

@ -1,11 +1,12 @@
[gd_scene load_steps=3 format=3 uid="uid://dwvpddd7id1h"]
[gd_scene load_steps=4 format=3 uid="uid://dwvpddd7id1h"]
[ext_resource type="Script" uid="uid://y0kwpyt3w5bt" path="res://src/ui/menus/settings_menu/control_binding/control_binding.gd" id="1_7mwhu"]
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="1_82ajm"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="3_pt7f5"]
[node name="ControlBinding" type="PanelContainer" groups=["ControlBindings"]]
theme = ExtResource("1_82ajm")
theme_type_variation = &"CheckerContainerOdd"
theme_type_variation = &"CheckerContainerEven"
script = ExtResource("1_7mwhu")
[node name="MarginContainer" type="MarginContainer" parent="."]
@ -24,7 +25,7 @@ alignment = 2
unique_name_in_owner = true
layout_mode = 2
theme_type_variation = &"SettingsInputLabel"
text = "Action"
text = "ACTION_"
[node name="Button" type="Button" parent="MarginContainer/HBoxContainer"]
unique_name_in_owner = true
@ -33,4 +34,12 @@ layout_mode = 2
theme_type_variation = &"InputBindButton"
text = "UI_UNSET"
[node name="BloopComponent" type="Control" parent="MarginContainer/HBoxContainer/Button"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("3_pt7f5")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[connection signal="pressed" from="MarginContainer/HBoxContainer/Button" to="." method="start_listening"]

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://bpmpj4n6xp17l"]
[gd_scene load_steps=5 format=3 uid="uid://bpmpj4n6xp17l"]
[ext_resource type="PackedScene" uid="uid://dcah6r3ku60g6" path="res://src/ui/menus/settings_menu/settings/setting/setting.tscn" id="1_5t42f"]
[ext_resource type="Script" uid="uid://dv8n1d4g4awyc" path="res://src/ui/menus/settings_menu/settings/checkbox_setting/checkbox_setting.gd" id="2_mwq55"]
[ext_resource type="PackedScene" uid="uid://b7ce38k7rx466" path="res://src/ui/elements/text_checkbox/text_checkbox.tscn" id="3_fosy2"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="4_0iluu"]
[node name="CheckboxSetting" instance=ExtResource("1_5t42f")]
script = ExtResource("2_mwq55")
@ -10,3 +11,11 @@ script = ExtResource("2_mwq55")
[node name="TextCheckbox" parent="PanelContainer/MarginContainer" index="0" instance=ExtResource("3_fosy2")]
unique_name_in_owner = true
layout_mode = 2
[node name="BloopComponent" type="Control" parent="PanelContainer/MarginContainer/TextCheckbox" index="0"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("4_0iluu")
metadata/_custom_type_script = "uid://bxkawcupln4fp"

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=3 format=3 uid="uid://dpry41u0ctikn"]
[gd_scene load_steps=4 format=3 uid="uid://dpry41u0ctikn"]
[ext_resource type="PackedScene" uid="uid://dcah6r3ku60g6" path="res://src/ui/menus/settings_menu/settings/setting/setting.tscn" id="1_km84n"]
[ext_resource type="Script" path="res://src/ui/menus/settings_menu/settings/dropdown_setting/dropdown_setting.gd" id="2_ubo13"]
[ext_resource type="Script" uid="uid://cfsf8k44t38g7" path="res://src/ui/menus/settings_menu/settings/dropdown_setting/dropdown_setting.gd" id="2_ubo13"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="3_n5wkc"]
[node name="DropdownSetting" instance=ExtResource("1_km84n")]
script = ExtResource("2_ubo13")
@ -11,3 +12,12 @@ unique_name_in_owner = true
layout_mode = 2
selected = 0
item_count = 1
popup/item_0/id = 0
[node name="BloopComponent" type="Control" parent="PanelContainer/MarginContainer/Dropdown" index="1"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("3_n5wkc")
metadata/_custom_type_script = "uid://bxkawcupln4fp"

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://dut1lj8ju37sq"]
[gd_scene load_steps=5 format=3 uid="uid://dut1lj8ju37sq"]
[ext_resource type="PackedScene" uid="uid://dcah6r3ku60g6" path="res://src/ui/menus/settings_menu/settings/setting/setting.tscn" id="1_t2sut"]
[ext_resource type="Script" uid="uid://dpxpgs6iw7b7x" path="res://src/ui/menus/settings_menu/settings/numeric_setting/numeric_setting.gd" id="2_3nkup"]
[ext_resource type="PackedScene" uid="uid://dqqcyi26d3bpg" path="res://src/ui/elements/numeric_slider/numeric_slider.tscn" id="2_piwkl"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="4_gyy1p"]
[node name="NumericSetting" instance=ExtResource("1_t2sut")]
script = ExtResource("2_3nkup")
@ -10,3 +11,8 @@ script = ExtResource("2_3nkup")
[node name="NumericSlider" parent="PanelContainer/MarginContainer" index="0" instance=ExtResource("2_piwkl")]
unique_name_in_owner = true
layout_mode = 2
[node name="BloopComponent" type="Control" parent="PanelContainer/MarginContainer/NumericSlider" index="2"]
layout_mode = 2
script = ExtResource("4_gyy1p")
metadata/_custom_type_script = "uid://bxkawcupln4fp"

View File

@ -17,6 +17,14 @@ func _ready() -> void:
populate_control_bindings()
func _tab_change() -> void:
GlobalSFXManager.forward.play()
func _tab_hover() -> void:
GlobalSFXManager.bloop.play()
func _get_settings_elements() -> Array[Setting]:
var elements: Array[Setting] = []
elements.assign(get_tree().get_nodes_in_group(SETTINGS_GROUP))
@ -52,7 +60,7 @@ func populate_volume_mixers() -> void:
## Close menu without applying settings.
func cancel() -> void:
GlobalSFXManager.cancel.play()
GlobalSFXManager.back.play()
queue_free()
@ -73,7 +81,7 @@ func save_settings() -> void:
## Apply settings and close menu.
func accept() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.accept.play()
apply()
save_settings()
queue_free()

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=3 uid="uid://d3eaqw2rdurct"]
[gd_scene load_steps=11 format=3 uid="uid://d3eaqw2rdurct"]
[ext_resource type="Script" uid="uid://dyb8cwai3cyw2" path="res://src/ui/menus/settings_menu/settings_menu.gd" id="1_lbcn7"]
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="1_vuur6"]
@ -9,6 +9,7 @@
[ext_resource type="Script" uid="uid://wlo8hxahp1x7" path="res://src/ui/menus/settings_menu/settings/checkbox_setting/fullscreen_setting.gd" id="4_ug1id"]
[ext_resource type="Script" uid="uid://cchqp66wig3wa" path="res://src/ui/menus/settings_menu/reset_tutorial_button.gd" id="7_ftg2j"]
[ext_resource type="Script" uid="uid://c3a127y0x8qod" path="res://src/ui/menus/settings_menu/disable_tutorial_button.gd" id="8_stv84"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="10_nxapy"]
[node name="SettingsMenu" type="MarginContainer"]
anchors_preset = 15
@ -208,6 +209,14 @@ layout_mode = 2
text = "SETTINGS_TUTORIAL_RESET"
script = ExtResource("7_ftg2j")
[node name="BloopComponent" type="Control" parent="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/ResetTutorial/ResetTutorialButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_nxapy")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="DisableTutorial" type="HBoxContainer" parent="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList"]
layout_mode = 2
@ -220,6 +229,14 @@ layout_mode = 2
text = "SETTINGS_TUTORIAL_DISABLE"
script = ExtResource("8_stv84")
[node name="BloopComponent" type="Control" parent="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/DisableTutorial/DisableTutorialButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_nxapy")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="SETTINGS_GRAPHICS" type="MarginContainer" parent="TabContainer"]
visible = false
layout_mode = 2
@ -390,11 +407,28 @@ layout_mode = 2
theme_type_variation = &"CancelButton"
text = "UI_CANCEL"
[node name="BloopComponent" type="Control" parent="SouthEast/HBoxContainer/CancelButton"]
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_nxapy")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="AcceptButton" type="Button" parent="SouthEast/HBoxContainer"]
layout_mode = 2
theme_type_variation = &"AlertButton"
text = "UI_ACCEPT"
[node name="BloopComponent" type="Control" parent="SouthEast/HBoxContainer/AcceptButton"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_nxapy")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[connection signal="tab_changed" from="TabContainer" to="." method="_tab_change" unbinds=1]
[connection signal="tab_hovered" from="TabContainer" to="." method="_tab_hover" unbinds=1]
[connection signal="pressed" from="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/ResetTutorial/ResetTutorialButton" to="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/ResetTutorial/ResetTutorialButton" method="_on_pressed"]
[connection signal="pressed" from="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/DisableTutorial/DisableTutorialButton" to="TabContainer/SETTINGS_GAME/VBoxContainer/ScrollContainer/MarginContainer/SettingsList/DisableTutorial/DisableTutorialButton" method="_on_pressed"]
[connection signal="pressed" from="SouthEast/HBoxContainer/CancelButton" to="." method="cancel"]

View File

@ -2,7 +2,7 @@
[ext_resource type="Theme" uid="uid://doq7ay6f7dgfo" path="res://src/ui/menus/menu.theme" id="1_k7hk0"]
[ext_resource type="Script" uid="uid://bt3oajqvevj4k" path="res://src/ui/menus/settings_menu/volume_slider/volume_slider.gd" id="1_rfe0k"]
[ext_resource type="AudioStream" uid="uid://cfj1o2mt8pc8e" path="res://assets/sfx/ui/ui_confirm_v0.wav" id="3_y4yh3"]
[ext_resource type="AudioStream" uid="uid://bxorrvuexipfs" path="res://assets/sfx/ui/ui_accept_v5.wav" id="3_y4yh3"]
[node name="VolumeSlider" type="VBoxContainer" groups=["VolumeSliders"]]
custom_minimum_size = Vector2(300, 0)
@ -48,7 +48,7 @@ suffix = "%"
[node name="AudioDemo" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_y4yh3")
volume_db = -16.0
volume_db = -20.0
[connection signal="drag_ended" from="Slider" to="." method="_on_slider_drag_ended"]
[connection signal="value_changed" from="Slider" to="." method="_on_component_value_changed"]

View File

@ -46,13 +46,13 @@ func new_game() -> void:
func show_settings() -> void:
GlobalSFXManager.confirm.play()
GlobalSFXManager.forward.play()
var instance: Control = settings_scene.instantiate()
settings_container.add_child(instance)
func quit() -> void:
GlobalSFXManager.cancel.play()
GlobalSFXManager.back.play()
get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://bctwol681jdk0"]
[gd_scene load_steps=22 format=3 uid="uid://bctwol681jdk0"]
[ext_resource type="Theme" uid="uid://dj2ij1b2yjicr" path="res://src/ui/menus/title_screen/title_screen.theme" id="1_3lcvc"]
[ext_resource type="PackedScene" uid="uid://b6dx0ovy15g5o" path="res://src/effects/grunk_2d/grunk_2d.tscn" id="2_7vchy"]
@ -9,6 +9,7 @@
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="4_cgiy0"]
[ext_resource type="Texture2D" uid="uid://dixpjnlaj86x2" path="res://assets/ui/corpo_logo/corpo_logo_128.png" id="5_yrys0"]
[ext_resource type="FontFile" uid="uid://cj5luctpn3bfm" path="res://assets/fonts/Sixtyfour/Sixtyfour-Regular-VariableFont_BLED,SCAN.ttf" id="8_x67pi"]
[ext_resource type="Script" uid="uid://bxkawcupln4fp" path="res://src/util/bloop_component.gd" id="10_gdkv4"]
[ext_resource type="AudioStream" uid="uid://c838ofbu4bqrn" path="res://assets/sfx/computer_noise.wav" id="10_x67pi"]
[ext_resource type="AudioStream" uid="uid://dx4d8a3mgpws" path="res://assets/sfx/ambient/drone_loop.wav" id="11_gdkv4"]
@ -784,22 +785,54 @@ layout_mode = 2
disabled = true
text = "TITLE_CONTINUE"
[node name="BloopComponent" type="Control" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons/Continue"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_gdkv4")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="NewGame" type="Button" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons"]
visible = false
layout_mode = 2
text = "TITLE_NEW_GAME"
[node name="BloopComponent" type="Control" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons/NewGame"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_gdkv4")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="Settings" type="Button" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons"]
visible = false
layout_mode = 2
text = "PAUSE_SETTINGS"
[node name="BloopComponent" type="Control" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons/Settings"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_gdkv4")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="Quit" type="Button" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons"]
visible = false
layout_mode = 2
theme_type_variation = &"DangerButton"
text = "UI_QUIT"
[node name="BloopComponent" type="Control" parent="TitleScreenContent/VBoxContainer/MarginContainer/MenuButtons/Quit"]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("10_gdkv4")
metadata/_custom_type_script = "uid://bxkawcupln4fp"
[node name="AnimationPlayer" type="AnimationPlayer" parent="TitleScreenContent"]
libraries = {
&"": SubResource("AnimationLibrary_3qdtd")

View File

@ -0,0 +1,7 @@
class_name BloopComponent extends Control
## Makes the parent control bloop when focused
func _ready() -> void:
get_parent_control().mouse_entered.connect(GlobalSFXManager.bloop.play)
queue_free()

View File

@ -0,0 +1 @@
uid://bxkawcupln4fp

View File

@ -63,7 +63,7 @@ func pause() -> void:
AudioServer.add_bus_effect(MUSIC_BUS_IDX, pause_music_effect, 0)
get_tree().paused = true
GlobalSFXManager.cancel.play()
GlobalSFXManager.forward.play()
var pause_menu: Control = pause_scene.instantiate()
ui_root.add_child(pause_menu)