Add fishing and shoreline sound effects
This commit is contained in:
parent
de1df5ea21
commit
930acdb1a6
21 changed files with 497 additions and 1 deletions
54
tests/fishing_audio_validation.gd
Normal file
54
tests/fishing_audio_validation.gd
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
extends SceneTree
|
||||
|
||||
const FishingSpotScene := preload("res://fishing/fishing_spot.tscn")
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
call_deferred("_run")
|
||||
|
||||
|
||||
func _run() -> void:
|
||||
var fishing_spot := FishingSpotScene.instantiate() as FishingSpot
|
||||
root.add_child(fishing_spot)
|
||||
await process_frame
|
||||
|
||||
var fight_audio := fishing_spot.get_node("%FightAudio") as AudioStreamPlayer
|
||||
var bobber_audio := fishing_spot.get_node(
|
||||
"%BobberAudio"
|
||||
) as AudioStreamPlayer
|
||||
assert(bobber_audio != null)
|
||||
assert(bobber_audio.stream != null)
|
||||
assert(bobber_audio.bus == &"SFX")
|
||||
assert(is_equal_approx(bobber_audio.volume_db, -14.0))
|
||||
var bobber_stream := bobber_audio.stream as AudioStreamWAV
|
||||
assert(bobber_stream != null)
|
||||
assert(bobber_stream.loop_mode == AudioStreamWAV.LOOP_DISABLED)
|
||||
assert(fight_audio != null)
|
||||
assert(fight_audio.stream != null)
|
||||
assert(fight_audio.bus == &"SFX")
|
||||
assert(is_equal_approx(fight_audio.volume_db, -10.0))
|
||||
var fight_stream := fight_audio.stream as AudioStreamWAV
|
||||
assert(fight_stream != null)
|
||||
assert(fight_stream.loop_mode == AudioStreamWAV.LOOP_FORWARD)
|
||||
assert(fight_stream.loop_end > fight_stream.loop_begin)
|
||||
var reeling_audio := fishing_spot.get_node(
|
||||
"%ReelingAudio"
|
||||
) as AudioStreamPlayer
|
||||
assert(reeling_audio != null)
|
||||
assert(reeling_audio.stream != null)
|
||||
assert(reeling_audio.bus == &"SFX")
|
||||
assert(is_equal_approx(reeling_audio.volume_db, -10.0))
|
||||
var reeling_stream := reeling_audio.stream as AudioStreamWAV
|
||||
assert(reeling_stream != null)
|
||||
assert(reeling_stream.loop_mode == AudioStreamWAV.LOOP_FORWARD)
|
||||
assert(reeling_stream.loop_end > reeling_stream.loop_begin)
|
||||
|
||||
assert(fishing_spot.has_method("_start_fight_audio"))
|
||||
assert(fishing_spot.has_method("_play_bobber_audio"))
|
||||
assert(fishing_spot.has_method("_stop_fight_audio"))
|
||||
assert(fishing_spot.has_method("_start_reeling_audio"))
|
||||
assert(fishing_spot.has_method("_stop_reeling_audio"))
|
||||
fishing_spot.free()
|
||||
await process_frame
|
||||
print("Fishing audio validation: PASS")
|
||||
quit()
|
||||
1
tests/fishing_audio_validation.gd.uid
Normal file
1
tests/fishing_audio_validation.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bby8mv7bsjd3w
|
||||
48
tests/shoreline_ambience_validation.gd
Normal file
48
tests/shoreline_ambience_validation.gd
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
extends SceneTree
|
||||
|
||||
const ShorelineAmbienceType := preload("res://world/shoreline_ambience.gd")
|
||||
const WavesStream := preload("res://audio/ambience/waves.wav")
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
call_deferred("_run")
|
||||
|
||||
|
||||
func _run() -> void:
|
||||
var waves := WavesStream as AudioStreamWAV
|
||||
assert(waves != null)
|
||||
|
||||
var segments: Array[PackedVector2Array] = [
|
||||
PackedVector2Array([Vector2.ZERO, Vector2(10.0, 0.0)]),
|
||||
]
|
||||
assert(is_equal_approx(
|
||||
ShorelineAmbienceType.distance_to_segments(Vector2(5.0, 3.0), segments),
|
||||
3.0,
|
||||
))
|
||||
assert(is_equal_approx(
|
||||
ShorelineAmbienceType.distance_to_segments(Vector2(-4.0, 0.0), segments),
|
||||
4.0,
|
||||
))
|
||||
|
||||
var controller := ShorelineAmbienceType.new() as ShorelineAmbience
|
||||
var runtime_audio := AudioStreamPlayer.new()
|
||||
runtime_audio.name = "WavesAudio"
|
||||
runtime_audio.unique_name_in_owner = true
|
||||
runtime_audio.stream = WavesStream
|
||||
runtime_audio.bus = &"SFX"
|
||||
controller.add_child(runtime_audio)
|
||||
runtime_audio.owner = controller
|
||||
root.add_child(controller)
|
||||
await process_frame
|
||||
assert(runtime_audio.bus == &"SFX")
|
||||
assert(controller.near_distance < controller.far_distance)
|
||||
assert(controller.near_volume_db > controller.far_volume_db)
|
||||
var runtime_waves := runtime_audio.stream as AudioStreamWAV
|
||||
assert(runtime_waves.loop_mode == AudioStreamWAV.LOOP_FORWARD)
|
||||
assert(runtime_waves.loop_begin == 0)
|
||||
assert(runtime_waves.loop_end == 1044956)
|
||||
controller.free()
|
||||
await process_frame
|
||||
|
||||
print("Shoreline ambience validation: PASS")
|
||||
quit()
|
||||
1
tests/shoreline_ambience_validation.gd.uid
Normal file
1
tests/shoreline_ambience_validation.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bwvhgpbkb00l1
|
||||
Loading…
Add table
Add a link
Reference in a new issue