From b7757a554847fcb37d84084d975ad645e7a41458 Mon Sep 17 00:00:00 2001 From: Steven Wroblewski Date: Sun, 10 May 2026 21:53:51 +0200 Subject: [PATCH] fix(sfx): duplicate OGG stream before setting loop to avoid shared resource mutation --- scripts/objects/ultrasound_machine.gd | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/objects/ultrasound_machine.gd b/scripts/objects/ultrasound_machine.gd index 8ab9a0c..177fd35 100644 --- a/scripts/objects/ultrasound_machine.gd +++ b/scripts/objects/ultrasound_machine.gd @@ -33,11 +33,15 @@ func _setup_audio() -> void: return if not ResourceLoader.exists(_HEARTBEAT_PATH): return - var stream: AudioStreamOggVorbis = load(_HEARTBEAT_PATH) as AudioStreamOggVorbis - if stream == null: + var base: AudioStream = load(_HEARTBEAT_PATH) as AudioStream + if base == null: return - stream.loop = true - _audio.stream = stream + var ogg: AudioStreamOggVorbis = base as AudioStreamOggVorbis + if ogg == null: + return + ogg = ogg.duplicate() as AudioStreamOggVorbis + ogg.loop = true + _audio.stream = ogg func _on_room_changed(floor_index: int, room_index: int) -> void: