feat(sound): add SESound::s_InternalList

This commit is contained in:
fallenoak 2025-11-25 16:47:51 -06:00
parent 950d36c677
commit 2a3b9587b0
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
4 changed files with 5 additions and 1 deletions

View File

@ -12,6 +12,7 @@
SCritSect SESound::s_CritSect3;
int32_t SESound::s_Initialized;
SCritSect SESound::s_InternalCritSect;
STORM_LIST(SESoundInternal) SESound::s_InternalList;
TSHashTable<SOUND_INTERNAL_LOOKUP, HASHKEY_NONE> SESound::s_InternalLookupTable;
HASHKEY_NONE SESound::s_InternalLookupKey;
SCritSect SESound::s_LoadingCritSect;

View File

@ -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<SOUND_INTERNAL_LOOKUP, HASHKEY_NONE> s_InternalLookupTable;
static HASHKEY_NONE s_InternalLookupKey;
static SCritSect s_LoadingCritSect;

View File

@ -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;

View File

@ -18,7 +18,7 @@ struct SoundCacheNode : TSLinkedNode<SoundCacheNode> {
// TODO dword98
};
class SESoundInternal {
class SESoundInternal : public TSLinkedNode<SESoundInternal> {
public:
// Member variables
// TODO