From b81cff4638c5000bc1e3af461686bffdfeb01200 Mon Sep 17 00:00:00 2001 From: Sri Sham Haran Date: Sat, 11 Mar 2023 13:07:25 +0800 Subject: [PATCH] Fixed creation of audio handler with invalid path in endscene and main menu. remove set volume for homeowner detect sound. audio system now stops all instances before they are release when scene changes --- .../Gameplay/AIBehaviour/Implemented/Homeowner1.cs | 2 +- Assets/Scripts/UI/SC_EndScene.cs | 12 ++++++------ Assets/Scripts/UI/SC_MainMenu.cs | 4 ++-- SHADE_Engine/src/AudioSystem/SHAudioSystem.cpp | 1 + 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Assets/Scripts/Gameplay/AIBehaviour/Implemented/Homeowner1.cs b/Assets/Scripts/Gameplay/AIBehaviour/Implemented/Homeowner1.cs index 552a6aad..1a7d4a81 100644 --- a/Assets/Scripts/Gameplay/AIBehaviour/Implemented/Homeowner1.cs +++ b/Assets/Scripts/Gameplay/AIBehaviour/Implemented/Homeowner1.cs @@ -121,7 +121,7 @@ public partial class Homeowner1 : BehaviourTree AudioHandler.audioClipHandlers["SFXDetectSting"] = Audio.CreateAudioClip("event:/Music/stingers/player_detected"); AudioHandler.audioClipHandlers["SFXHumming"] = Audio.CreateAudioClip("event:/Homeowner/homeowner_humming"); Audio.AttachAudioClipToObject(AudioHandler.audioClipHandlers["SFXHumming"], GameObject.EntityId); - AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f); + //AudioHandler.audioClipHandlers["SFXHumming"].SetVolume(0.15f); AudioHandler.audioClipHandlers["SFXHumming"].Play(); if (aiInstance != null && aiInstance != this) diff --git a/Assets/Scripts/UI/SC_EndScene.cs b/Assets/Scripts/UI/SC_EndScene.cs index 3812db2a..5fbca3b6 100644 --- a/Assets/Scripts/UI/SC_EndScene.cs +++ b/Assets/Scripts/UI/SC_EndScene.cs @@ -10,8 +10,8 @@ public class EndScene : Script protected override void awake() { - AudioHandler.audioClipHandlers["SFXMouseDownElement"] = Audio.CreateAudioClip("event:/UI/mouse_down_element"); - AudioHandler.audioClipHandlers["SFXUISuccess"] = Audio.CreateAudioClip("event:/UI/success"); + //AudioHandler.audioClipHandlers["SFXMouseDownElement"] = Audio.CreateAudioClip("event:/UI/mouse_down_element"); + //AudioHandler.audioClipHandlers["SFXUISuccess"] = Audio.CreateAudioClip("event:/UI/success"); } protected override void start() @@ -27,28 +27,28 @@ public class EndScene : Script if (Input.GetKeyDown(Input.KeyCode.R)) { //Audio.PlaySFXOnce2D("event:/UI/mouse_down_element"); - AudioHandler.audioClipHandlers["SFXMouseDownElement"].Play(); + //AudioHandler.audioClipHandlers["SFXMouseDownElement"].Play(); } if (Input.GetKeyUp(Input.KeyCode.R)) { //Audio.PlaySFXOnce2D("event:/UI/success"); //Audio.StopAllSounds(); AudioHandler.StopAllSounds(false); - AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); + //AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); SceneManager.ChangeScene(mainGameScene); } if (Input.GetKeyDown(Input.KeyCode.M)) { //Audio.PlaySFXOnce2D("event:/UI/mouse_down_element"); - AudioHandler.audioClipHandlers["SFXMouseDownElement"].Play(); + //AudioHandler.audioClipHandlers["SFXMouseDownElement"].Play(); } if (Input.GetKeyUp(Input.KeyCode.M)) { //Audio.PlaySFXOnce2D("event:/UI/success"); //Audio.StopAllSounds(); AudioHandler.StopAllSounds(false); - AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); + //AudioHandler.audioClipHandlers["SFXUISuccess"].Play(); SceneManager.ChangeScene(mainMainScene); } diff --git a/Assets/Scripts/UI/SC_MainMenu.cs b/Assets/Scripts/UI/SC_MainMenu.cs index 8252344d..33958118 100644 --- a/Assets/Scripts/UI/SC_MainMenu.cs +++ b/Assets/Scripts/UI/SC_MainMenu.cs @@ -13,8 +13,8 @@ public class MainMenu : Script protected override void awake() { AudioHandler.audioClipHandlers["BGMMainMenu"] = Audio.CreateAudioClip("event:/Music/main_menu"); - AudioHandler.audioClipHandlers["SFXMouseDownElement"] = Audio.CreateAudioClip("event:/UI/mouse_down_element"); - AudioHandler.audioClipHandlers["SFXUISuccess"] = Audio.CreateAudioClip("event:/UI/success"); + //AudioHandler.audioClipHandlers["SFXMouseDownElement"] = Audio.CreateAudioClip("event:/UI/mouse_down_element"); + //AudioHandler.audioClipHandlers["SFXUISuccess"] = Audio.CreateAudioClip("event:/UI/success"); //Audio.PlayBGMOnce2D("event:/Music/main_menu"); AudioHandler.audioClipHandlers["BGMMainMenu"].Play(); diff --git a/SHADE_Engine/src/AudioSystem/SHAudioSystem.cpp b/SHADE_Engine/src/AudioSystem/SHAudioSystem.cpp index 1bfa97ce..591b3e8c 100644 --- a/SHADE_Engine/src/AudioSystem/SHAudioSystem.cpp +++ b/SHADE_Engine/src/AudioSystem/SHAudioSystem.cpp @@ -840,6 +840,7 @@ namespace SHADE auto [begin, end] = audioClipLibrary.GetDenseAccess(); for (auto& it = begin; it != end; ++it) { + it->instance->stop(FMOD_STUDIO_STOP_ALLOWFADEOUT); it->instance->release(); }