From 2a3b9587b075f6daae0ea0be438e9a75bb87e783 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Tue, 25 Nov 2025 16:47:51 -0600 Subject: [PATCH] feat(sound): add SESound::s_InternalList --- src/sound/SESound.cpp | 1 + src/sound/SESound.hpp | 1 + src/sound/SESoundInternal.cpp | 2 ++ src/sound/SESoundInternal.hpp | 2 +- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sound/SESound.cpp b/src/sound/SESound.cpp index 2bb7894..985cfb9 100644 --- a/src/sound/SESound.cpp +++ b/src/sound/SESound.cpp @@ -12,6 +12,7 @@ SCritSect SESound::s_CritSect3; int32_t SESound::s_Initialized; SCritSect SESound::s_InternalCritSect; +STORM_LIST(SESoundInternal) SESound::s_InternalList; TSHashTable SESound::s_InternalLookupTable; HASHKEY_NONE SESound::s_InternalLookupKey; SCritSect SESound::s_LoadingCritSect; diff --git a/src/sound/SESound.hpp b/src/sound/SESound.hpp index feb6438..7fa9fd2 100644 --- a/src/sound/SESound.hpp +++ b/src/sound/SESound.hpp @@ -17,6 +17,7 @@ class SESound { static SCritSect s_CritSect3; static int32_t s_Initialized; static SCritSect s_InternalCritSect; + static STORM_LIST(SESoundInternal) s_InternalList; static TSHashTable s_InternalLookupTable; static HASHKEY_NONE s_InternalLookupKey; static SCritSect s_LoadingCritSect; diff --git a/src/sound/SESoundInternal.cpp b/src/sound/SESoundInternal.cpp index e0d1f4c..81fd3c7 100644 --- a/src/sound/SESoundInternal.cpp +++ b/src/sound/SESoundInternal.cpp @@ -26,6 +26,8 @@ void SESoundInternal::Play() { SEDiskSound::SEDiskSound() : SESoundInternal() { SESound::s_InternalCritSect.Enter(); + SESound::s_InternalList.LinkToTail(this); + auto lookup = SESound::s_InternalLookupTable.New(this->m_uniqueID, SESound::s_InternalLookupKey, 0, 0x0); lookup->m_internal = this; diff --git a/src/sound/SESoundInternal.hpp b/src/sound/SESoundInternal.hpp index 5056ef0..073df6d 100644 --- a/src/sound/SESoundInternal.hpp +++ b/src/sound/SESoundInternal.hpp @@ -18,7 +18,7 @@ struct SoundCacheNode : TSLinkedNode { // TODO dword98 }; -class SESoundInternal { +class SESoundInternal : public TSLinkedNode { public: // Member variables // TODO