diff options
-rw-r--r-- | client/audio/play_random.gd | 32 | ||||
-rw-r--r-- | client/audio/play_random.tscn | 6 | ||||
-rw-r--r-- | client/map/items/item.gd | 3 | ||||
-rw-r--r-- | client/map/items/plate.gd | 5 | ||||
-rw-r--r-- | client/map/sounds/plate_up.ogg | bin | 0 -> 11020 bytes | |||
-rw-r--r-- | client/map/sounds/plate_up.ogg.import | 19 | ||||
-rw-r--r-- | client/player/character/character.tscn | 2 | ||||
-rw-r--r-- | client/player/effect.tscn | 1 |
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 Binary files differnew file mode 100644 index 00000000..08ce5bb6 --- /dev/null +++ b/client/map/sounds/plate_up.ogg 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") |