diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 02f9f13e..f98e1429 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -3076,6 +3076,10 @@ nw4r/snd/snd_SoundStartable.cpp: nw4r/snd/snd_SoundSystem.cpp: .text start:0x8047C3B0 end:0x8047C708 align:16 .ctors start:0x804DB968 end:0x804DB96C + .data start:0x8056E210 end:0x8056E258 + .sdata start:0x80574EA0 end:0x80574EA8 + .sbss start:0x805766B8 end:0x805766C0 + .bss start:0x80659D40 end:0x8066F660 nw4r/snd/snd_SoundThread.cpp: .text start:0x8047C710 end:0x8047CD10 align:16 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 9c6dfa3f..4e7dae7f 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -38618,7 +38618,7 @@ lbl_8056E1B0 = .data:0x8056E1B0; // type:object size:0x30 WSDCallback = .data:0x8056E1E0; // type:object size:0x10 SeqCallback = .data:0x8056E1F0; // type:object size:0x10 __vt__Q34nw4r3snd9SoundHeap = .data:0x8056E200; // type:object size:0x10 -lbl_8056E210 = .data:0x8056E210; // type:object size:0x48 +@2785 = .data:0x8056E210; // type:object size:0x46 scope:local data:string __vt__Q44nw4r3snd6detail10StrmPlayer = .data:0x8056E258; // type:object size:0x48 __vt__Q54nw4r3snd6detail10StrmPlayer16StrmDataLoadTask = .data:0x8056E2A0; // type:object size:0x18 __vt__Q54nw4r3snd6detail10StrmPlayer18StrmHeaderLoadTask = .data:0x8056E2B8; // type:object size:0x18 @@ -41147,7 +41147,7 @@ NW4R_G3D_Version___22@unnamed@g3d_init_cpp@ = .sdata:0x80574E88; // type:object @3183 = .sdata:0x80574E90; // type:object size:0x2 scope:local data:string @3184 = .sdata:0x80574E94; // type:object size:0x2 scope:local data:string @3185 = .sdata:0x80574E98; // type:object size:0x1 scope:local -lbl_80574EA0 = .sdata:0x80574EA0; // type:object size:0x8 data:4byte +NW4R_SND_Version_ = .sdata:0x80574EA0; // type:object size:0x4 data:4byte @LOCAL@CalcRandom__Q44nw4r3snd6detail4UtilFv@u = .sdata:0x80574EA8; // type:object size:0x4 scope:weak data:4byte NW4R_LYT_Version___22@unnamed@lyt_init_cpp@ = .sdata:0x80574EB0; // type:object size:0x4 scope:local data:4byte @6623 = .sdata:0x80574EB8; // type:object size:0x4 scope:local data:string @@ -42432,8 +42432,8 @@ lbl_8057669C = .sbss:0x8057669C; // type:object size:0x1 data:byte @GUARD@GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv@instance = .sbss:0x805766A0; // type:object size:0x1 scope:weak data:byte lbl_805766A8 = .sbss:0x805766A8; // type:object size:0x8 data:4byte lbl_805766B0 = .sbss:0x805766B0; // type:object size:0x8 data:byte -isSoundSystemInit = .sbss:0x805766B8; // type:object size:0x1 data:byte -lbl_805766BC = .sbss:0x805766BC; // type:object size:0x4 data:4byte +sInitialized__Q34nw4r3snd29@unnamed@snd_SoundSystem_cpp@ = .sbss:0x805766B8; // type:object size:0x1 scope:local data:byte +sMaxVoices__Q34nw4r3snd11SoundSystem = .sbss:0x805766BC; // type:object size:0x4 data:4byte @GUARD@GetInstance__Q44nw4r3snd6detail11SoundThreadFv@instance = .sbss:0x805766C0; // type:object size:0x1 scope:weak data:byte sStaticInitFlag__Q44nw4r3snd6detail10StrmPlayer = .sbss:0x805766C8; // type:object size:0x1 data:byte lbl_805766D0 = .sbss:0x805766D0; // type:object size:0x8 data:4byte @@ -51943,9 +51943,9 @@ lbl_806596E8 = .bss:0x806596E8; // type:object size:0x20 data:2byte lbl_80659708 = .bss:0x80659708; // type:object size:0x18 lbl_80659720 = .bss:0x80659720; // type:object size:0x10 lbl_80659730 = .bss:0x80659730; // type:object size:0x610 data:4byte -lbl_80659D40 = .bss:0x80659D40; // type:object size:0x10 -lbl_80659D50 = .bss:0x80659D50; // type:object size:0x330 -lbl_8065A080 = .bss:0x8065A080; // type:object size:0x155E0 +@2786 = .bss:0x80659D40; // type:object size:0xC scope:local +sTaskThread__Q34nw4r3snd11SoundSystem = .bss:0x80659D50; // type:object size:0x320 +@LOCAL@InitSoundSystem__Q34nw4r3snd11SoundSystemFll@defaultSoundSystemWork@0 = .bss:0x8065A080; // type:object size:0x155E0 scope:weak @1941 = .bss:0x8066F660; // type:object size:0xC scope:local @LOCAL@GetInstance__Q44nw4r3snd6detail11SoundThreadFv@instance = .bss:0x8066F670; // type:object size:0x398 scope:weak sLoadBuffer__Q44nw4r3snd6detail10StrmPlayer = .bss:0x8066FA20; // type:object size:0x4000 align:32 diff --git a/configure.py b/configure.py index 28172939..28aa9f98 100644 --- a/configure.py +++ b/configure.py @@ -1066,7 +1066,7 @@ config.libs = [ Object(Matching, "nw4r/snd/snd_SoundHeap.cpp"), Object(NonMatching, "nw4r/snd/snd_SoundPlayer.cpp"), Object(NonMatching, "nw4r/snd/snd_SoundStartable.cpp"), - Object(NonMatching, "nw4r/snd/snd_SoundSystem.cpp"), + Object(Matching, "nw4r/snd/snd_SoundSystem.cpp"), Object(Matching, "nw4r/snd/snd_SoundThread.cpp"), Object(Matching, "nw4r/snd/snd_StrmChannel.cpp"), Object(Matching, "nw4r/snd/snd_StrmFile.cpp"), diff --git a/src/nw4r/snd/snd_SoundSystem.cpp b/src/nw4r/snd/snd_SoundSystem.cpp index ef27f5a5..9a13738c 100644 --- a/src/nw4r/snd/snd_SoundSystem.cpp +++ b/src/nw4r/snd/snd_SoundSystem.cpp @@ -15,6 +15,7 @@ #include "nw4r/snd/snd_AxVoiceManager.h" #include "nw4r/snd/snd_AxManager.h" #include "nw4r/snd/snd_Channel.h" // ChannelManager +#include "nw4r/snd/snd_RemoteSpeakerManager.h" #include "nw4r/snd/snd_global.h" #include "nw4r/snd/snd_SeqPlayer.h" #include "nw4r/snd/snd_SoundThread.h" @@ -37,9 +38,9 @@ #define BUILDSTAMP_LIB_NAME "SND" // You probably want to change these -#define BUILDSTAMP_BUILD_TYPE "release" -#define BUILDSTAMP_DATE __DATE__ -#define BUILDSTAMP_TIME __TIME__ +#define BUILDSTAMP_BUILD_TYPE "final " +#define BUILDSTAMP_DATE "Sep 25 2011" +#define BUILDSTAMP_TIME "05:32:58" #define BUILDSTAMP_CW_MAJOR_REV STR(__CWCC__) #define BUILDSTAMP_CW_MINOR_REV STR(__CWBUILD__) @@ -159,6 +160,8 @@ void SoundSystem::InitSoundSystem(SoundSystemParam const ¶m, void *workMem, break; } + detail::RemoteSpeakerManager::GetInstance().Setup(); + byte_t *ptr = static_cast(workMem); void *dvdThreadStack = ptr; @@ -245,7 +248,9 @@ void SoundSystem::WaitForResetReady() { } } } +#if 0 // SoundSystem::WaitForResetReady ([R89JEL]:/bin/RVL/Debug/mainD.MAP:14493) DECOMP_FORCE("SoundSystem::WaitForResetReady is TIME OUT.\n"); +#endif }} // namespace nw4r::snd