aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/audio/play_random.gd32
-rw-r--r--client/audio/play_random.tscn6
-rw-r--r--client/map/items/item.gd3
-rw-r--r--client/map/items/plate.gd5
-rw-r--r--client/map/sounds/plate_up.oggbin0 -> 11020 bytes
-rw-r--r--client/map/sounds/plate_up.ogg.import19
-rw-r--r--client/player/character/character.tscn2
-rw-r--r--client/player/effect.tscn1
8 files changed, 57 insertions, 11 deletions
diff --git a/client/audio/play_random.gd b/client/audio/play_random.gd
index afdf046f..d702756d 100644
--- a/client/audio/play_random.gd
+++ b/client/audio/play_random.gd
@@ -17,19 +17,35 @@ extends Node
class_name PlayRandom
@export var volume_db := 0.0
-@export var enable_attenuations := true
+@export var enable_attenuations := false
var autoplay := false
-
-@onready var sounds = get_children()
+var manual_setup_called := false
+var sounds = []
func _ready():
+ if manual_setup_called:
+ return
+ sounds = get_children()
for s: AudioStreamPlayer3D in sounds:
- s.connect("finished", sound_finished)
- s.volume_db = volume_db
-
- if not enable_attenuations:
- s.attenuation_filter_cutoff_hz = 20500
+ configure_player(s)
+
+func setup(new_sounds: Array):
+ # new_sounds should be an array of AudioStream
+ manual_setup_called = true
+ for s in new_sounds:
+ var player = AudioStreamPlayer3D.new()
+ player.stream = s
+ configure_player(player)
+ add_child(player)
+ sounds.append(player)
+
+func configure_player(player):
+ player.connect("finished", sound_finished)
+ player.volume_db = volume_db
+
+ if not enable_attenuations:
+ player.attenuation_filter_cutoff_hz = 20500
func play_random():
var s = sounds[randi_range(0, sounds.size() - 1)]
diff --git a/client/audio/play_random.tscn b/client/audio/play_random.tscn
new file mode 100644
index 00000000..f9b20842
--- /dev/null
+++ b/client/audio/play_random.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://bncx0wul2ikrg"]
+
+[ext_resource type="Script" path="res://audio/play_random.gd" id="1_c8pxf"]
+
+[node name="PlayRandom" type="Node3D"]
+script = ExtResource("1_c8pxf")
diff --git a/client/map/items/item.gd b/client/map/items/item.gd
index 688308fe..d3acf200 100644
--- a/client/map/items/item.gd
+++ b/client/map/items/item.gd
@@ -20,11 +20,14 @@ var owned_by: Node3D
var base: Node3D = Node3D.new()
var progress_instance: ProgressBar3D = preload("res://map/progress.tscn").instantiate()
+var sound_instance: PlayRandom = preload("res://audio/play_random.tscn").instantiate()
func _init(owned_by_: Node3D):
progress_instance.position.y = 1
progress_instance.visible = false
add_child(progress_instance)
+ add_child(sound_instance)
+ sound_instance.volume_db = -16
base.position = base_position()
add_child(base)
owned_by = owned_by_
diff --git a/client/map/items/plate.gd b/client/map/items/plate.gd
index ac6a6c00..88403b55 100644
--- a/client/map/items/plate.gd
+++ b/client/map/items/plate.gd
@@ -19,6 +19,11 @@ extends Item
func _init(owned_by_: Node3D):
super(owned_by_)
add_child(load("res://map/items/plate.tscn").instantiate())
+ sound_instance.setup([preload("res://map/sounds/plate_up.ogg")])
+
+func take():
+ sound_instance.play_random()
+ super()
static func base_position() -> Vector3:
return Vector3(0., 0.05, 0.)
diff --git a/client/map/sounds/plate_up.ogg b/client/map/sounds/plate_up.ogg
new file mode 100644
index 00000000..08ce5bb6
--- /dev/null
+++ b/client/map/sounds/plate_up.ogg
Binary files differ
diff --git a/client/map/sounds/plate_up.ogg.import b/client/map/sounds/plate_up.ogg.import
new file mode 100644
index 00000000..5f2128e4
--- /dev/null
+++ b/client/map/sounds/plate_up.ogg.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="oggvorbisstr"
+type="AudioStreamOggVorbis"
+uid="uid://dyt45wi23lmmh"
+path="res://.godot/imported/plate_up.ogg-321cdd38fc6e820b2112fd77d567bcc9.oggvorbisstr"
+
+[deps]
+
+source_file="res://map/sounds/plate_up.ogg"
+dest_files=["res://.godot/imported/plate_up.ogg-321cdd38fc6e820b2112fd77d567bcc9.oggvorbisstr"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/client/player/character/character.tscn b/client/player/character/character.tscn
index 33846758..19eb3ce2 100644
--- a/client/player/character/character.tscn
+++ b/client/player/character/character.tscn
@@ -664,7 +664,6 @@ scale_amount_curve = SubResource("Curve_7ml8g")
[node name="Steps" type="Node3D" parent="."]
script = ExtResource("14_3rb6x")
volume_db = -30.0
-enable_attenuations = false
[node name="Step1" type="AudioStreamPlayer3D" parent="Steps"]
stream = ExtResource("10_qpd6x")
@@ -678,7 +677,6 @@ stream = ExtResource("12_bj5ue")
[node name="Boosts" type="Node3D" parent="."]
script = ExtResource("14_3rb6x")
volume_db = -12.0
-enable_attenuations = false
[node name="Woosh1" type="AudioStreamPlayer3D" parent="Boosts"]
stream = ExtResource("14_ikcec")
diff --git a/client/player/effect.tscn b/client/player/effect.tscn
index 748aa20e..a360d1a8 100644
--- a/client/player/effect.tscn
+++ b/client/player/effect.tscn
@@ -28,7 +28,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="AngryGrunt" type="Node3D" parent="."]
script = ExtResource("5_t2upj")
volume_db = -8.0
-enable_attenuations = false
[node name="Angry1" type="AudioStreamPlayer3D" parent="AngryGrunt"]
stream = ExtResource("6_ou7uy")