fix: GlobalAudio with weakrefs, sound changes
This commit is contained in:
parent
03de721811
commit
30bbc8c561
@ -4406,5 +4406,5 @@ one_shot = true
|
||||
[connection signal="got_grounded" from="BlobbyStateMachine" to="." method="_on_Blobby_got_grounded"]
|
||||
[connection signal="timeout" from="BlobbyStateMachine/JumpBufferTimer" to="BlobbyStateMachine" method="_on_JumpBufferTimer_timeout"]
|
||||
[connection signal="timeout" from="InvincibilityTimer" to="." method="_on_InvincibilityTimer_timeout"]
|
||||
[connection signal="timeout" from="PitfallTimer" to="." method="die_for_real"]
|
||||
[connection signal="timeout" from="PitfallTimer" to="." method="_on_PitfallTimer_timeout"]
|
||||
[connection signal="timeout" from="PitfallTimer" to="." method="die_for_real"]
|
||||
|
||||
@ -1,25 +1,29 @@
|
||||
extends Node
|
||||
onready var players: Dictionary = {}
|
||||
var disposable_player: AudioStreamPlayer
|
||||
|
||||
|
||||
func play_scene_independent(sound_name: String, bus: String = "Master", attenuation: float = 0.0, singleton = false) -> void:
|
||||
func play_scene_independent(sound_name: String, bus: String = "Master", attenuation: float = 0.0,
|
||||
singleton = false, start_time = 0.0, random_pitch = false) -> void:
|
||||
if singleton && players.has(sound_name):
|
||||
return
|
||||
disposable_player = AudioStreamPlayer.new()
|
||||
var disposable_player = AudioStreamPlayer.new()
|
||||
add_child(disposable_player)
|
||||
disposable_player.stream = GlobalState.sound_library[sound_name]
|
||||
var stream = GlobalState.sound_library[sound_name]
|
||||
if random_pitch:
|
||||
stream = AudioStreamRandomPitch.new()
|
||||
stream.audio_stream = GlobalState.sound_library[sound_name]
|
||||
disposable_player.stream = stream
|
||||
disposable_player.volume_db = attenuation
|
||||
disposable_player.bus = bus
|
||||
disposable_player.play()
|
||||
disposable_player.connect("finished", self, "dispose_player")
|
||||
players[sound_name] = disposable_player
|
||||
disposable_player.play(start_time)
|
||||
disposable_player.connect("finished", self, "dispose_player", [weakref(disposable_player)])
|
||||
players[sound_name] = weakref(disposable_player)
|
||||
|
||||
func dispose_player(player: AudioStreamPlayer = disposable_player) -> void:
|
||||
if player == null: return
|
||||
player.queue_free()
|
||||
func dispose_player(player: WeakRef) -> void:
|
||||
if !player.get_ref(): return
|
||||
player.get_ref().queue_free()
|
||||
|
||||
func stop_scene_independent(sound_name: String):
|
||||
if players.has(sound_name):
|
||||
if players.has(sound_name) && players[sound_name].get_ref():
|
||||
dispose_player(players[sound_name])
|
||||
players.erase(sound_name)
|
||||
|
||||
@ -5,3 +5,5 @@
|
||||
[node name="GlobalAudio" type="Node"]
|
||||
pause_mode = 2
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
|
||||
@ -208,14 +208,11 @@ unique_name_in_owner = true
|
||||
process_mode = 1
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 12
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 11
|
||||
frame = 1
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 7 )]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2( -70, -1.90735e-06 )
|
||||
position = Vector2( -70, 1 )
|
||||
scale = Vector2( 0.878906, 0.936025 )
|
||||
|
||||
[node name="BlobbymationTree" parent="Blobby/BlobbySprite" index="0"]
|
||||
|
||||
@ -1034,11 +1034,8 @@ unique_name_in_owner = true
|
||||
drag_margin_top = 0.1
|
||||
drag_margin_bottom = 0.1
|
||||
|
||||
[node name="AnimatedSprite" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="4"]
|
||||
frame = 8
|
||||
|
||||
[node name="AnimatedSprite2" parent="BlobbyCam/ParallaxBackground/ParallaxLayer5" index="5"]
|
||||
frame = 2
|
||||
frame = 3
|
||||
|
||||
[node name="Blobby" parent="." instance=ExtResource( 8 )]
|
||||
unique_name_in_owner = true
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
[gd_resource type="AudioBusLayout" load_steps=9 format=2]
|
||||
[gd_resource type="AudioBusLayout" load_steps=11 format=2]
|
||||
|
||||
[sub_resource type="AudioEffectPitchShift" id=1]
|
||||
resource_name = "PitchShift"
|
||||
@ -40,6 +40,15 @@ resource_name = "HighPassFilter"
|
||||
resource_name = "LowPassFilter"
|
||||
cutoff_hz = 3000.0
|
||||
|
||||
[sub_resource type="AudioEffectDistortion" id=9]
|
||||
resource_name = "Distortion"
|
||||
mode = 4
|
||||
keep_hf_hz = 1000.0
|
||||
post_gain = -5.0
|
||||
|
||||
[sub_resource type="AudioEffectLowPassFilter" id=10]
|
||||
resource_name = "LowPassFilter"
|
||||
|
||||
[resource]
|
||||
bus/0/volume_db = -6.0206
|
||||
bus/1/name = "Music"
|
||||
@ -76,3 +85,13 @@ bus/3/effect/1/effect = SubResource( 7 )
|
||||
bus/3/effect/1/enabled = false
|
||||
bus/3/effect/2/effect = SubResource( 8 )
|
||||
bus/3/effect/2/enabled = true
|
||||
bus/4/name = "Blobby"
|
||||
bus/4/solo = false
|
||||
bus/4/mute = false
|
||||
bus/4/bypass_fx = false
|
||||
bus/4/volume_db = 0.0
|
||||
bus/4/send = "Master"
|
||||
bus/4/effect/0/effect = SubResource( 9 )
|
||||
bus/4/effect/0/enabled = true
|
||||
bus/4/effect/1/effect = SubResource( 10 )
|
||||
bus/4/effect/1/enabled = true
|
||||
|
||||
@ -210,6 +210,8 @@ func _enter_state(new_state, old_state):
|
||||
|
||||
if !["run", "walk", "idle", "duck"].has(old_state) && parent.is_on_floor():
|
||||
emit_signal("got_grounded")
|
||||
GlobalAudio.play_scene_independent("res://assets/sounds/landingMedHard.ogg", "Effects",
|
||||
-15.0, false, 0.10, true)
|
||||
|
||||
|
||||
match new_state:
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
[ext_resource path="res://assets/environment/decor/screen/Screen3.png" type="Texture" id=4]
|
||||
[ext_resource path="res://assets/ui/fonts/kenny_thick.tres" type="DynamicFont" id=5]
|
||||
[ext_resource path="res://addons/controller_icons/assets/ps4/cross.png" type="Texture" id=6]
|
||||
[ext_resource path="res://assets/sounds/huuray.wav" type="AudioStream" id=7]
|
||||
[ext_resource path="res://assets/sounds/vibing.wav" type="AudioStream" id=7]
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=8]
|
||||
|
||||
[sub_resource type="Shader" id=13]
|
||||
@ -267,7 +267,7 @@ shape = SubResource( 6 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 7 )
|
||||
volume_db = -10.0
|
||||
volume_db = -14.439
|
||||
bus = "UI"
|
||||
|
||||
[connection signal="area_entered" from="Area" to="." method="_on_Area_area_entered"]
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
[gd_scene load_steps=18 format=2]
|
||||
|
||||
[ext_resource path="res://assets/sounds/vibing.wav" type="AudioStream" id=1]
|
||||
[ext_resource path="res://src/UserInterface/TutorialThingy.gd" type="Script" id=2]
|
||||
[ext_resource path="res://addons/controller_icons/objects/Button.gd" type="Script" id=3]
|
||||
[ext_resource path="res://assets/environment/decor/screen/Screen3.png" type="Texture" id=4]
|
||||
[ext_resource path="res://assets/ui/fonts/kenny_thick.tres" type="DynamicFont" id=5]
|
||||
[ext_resource path="res://addons/controller_icons/assets/ps4/cross.png" type="Texture" id=6]
|
||||
[ext_resource path="res://assets/sounds/huuray.wav" type="AudioStream" id=7]
|
||||
[ext_resource path="res://assets/effects/noise.png" type="Texture" id=8]
|
||||
|
||||
[sub_resource type="Shader" id=13]
|
||||
@ -221,7 +221,7 @@ monitorable = false
|
||||
shape = SubResource( 6 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 7 )
|
||||
stream = ExtResource( 1 )
|
||||
volume_db = -14.776
|
||||
bus = "UI"
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user