From 83f3bc5b6ba14b06233907c6e667441c97030a3f Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 25 May 2025 23:32:45 +0200 Subject: [PATCH] snd_TaskManager OK --- config/SOUE01/splits.txt | 2 ++ config/SOUE01/symbols.txt | 12 ++++++------ configure.py | 2 +- src/nw4r/snd/snd_TaskManager.cpp | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index 8824e7c1..ad33feff 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -3085,6 +3085,8 @@ nw4r/snd/snd_Task.cpp: nw4r/snd/snd_TaskManager.cpp: .text start:0x80480F10 end:0x804815D0 align:16 + .sbss start:0x805766D8 end:0x805766E0 + .bss start:0x80673A38 end:0x80673A80 nw4r/snd/snd_TaskThread.cpp: .text start:0x804815D0 end:0x80481798 align:16 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 55c1006b..e851c897 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -25717,9 +25717,9 @@ __ct__Q34nw4r3snd15StrmSoundHandleFPQ34nw4r3snd11SoundHandle = .text:0x80480D90; DetachSound__Q34nw4r3snd15StrmSoundHandleFv = .text:0x80480E90; // type:function size:0x38 __dt__Q44nw4r3snd6detail4TaskFv = .text:0x80480ED0; // type:function size:0x40 GetInstance__Q44nw4r3snd6detail11TaskManagerFv = .text:0x80480F10; // type:function size:0x9C -__dt__Q44nw4r3snd6detail11TaskManagerFv = .text:0x80480FB0; // type:function size:0x64 -__dt__Q34nw4r2ut35LinkListFv = .text:0x80481020; // type:function size:0x58 -__ct__Q34nw4r2ut35LinkListFv = .text:0x80481080; // type:function size:0x18 +__dt__Q44nw4r3snd6detail11TaskManagerFv = .text:0x80480FB0; // type:function size:0x64 scope:weak +__dt__Q34nw4r2ut35LinkListFv = .text:0x80481020; // type:function size:0x58 scope:weak +__ct__Q34nw4r2ut35LinkListFv = .text:0x80481080; // type:function size:0x18 scope:weak AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority = .text:0x804810A0; // type:function size:0x7C PopTask__Q44nw4r3snd6detail11TaskManagerFv = .text:0x80481120; // type:function size:0x15C GetNextTask__Q44nw4r3snd6detail11TaskManagerFv = .text:0x80481280; // type:function size:0x10C @@ -42438,7 +42438,7 @@ lbl_805766BC = .sbss:0x805766BC; // type:object size:0x4 data:4byte lbl_805766C0 = .sbss:0x805766C0; // type:object size:0x8 data:byte lbl_805766C8 = .sbss:0x805766C8; // type:object size:0x8 data:byte lbl_805766D0 = .sbss:0x805766D0; // type:object size:0x8 data:4byte -lbl_805766D8 = .sbss:0x805766D8; // type:object size:0x8 data:byte +@GUARD@GetInstance__Q44nw4r3snd6detail11TaskManagerFv@instance = .sbss:0x805766D8; // type:object size:0x1 scope:weak data:byte lbl_805766E0 = .sbss:0x805766E0; // type:object size:0x8 data:byte lbl_805766E8 = .sbss:0x805766E8; // type:object size:0x8 data:4byte typeInfo__Q34nw4r3lyt4Pane = .sbss:0x805766F0; // type:object size:0x4 data:4byte @@ -51951,8 +51951,8 @@ lbl_8066F660 = .bss:0x8066F660; // type:object size:0x10 lbl_8066F670 = .bss:0x8066F670; // type:object size:0x3B0 lbl_8066FA20 = .bss:0x8066FA20; // type:object size:0x4000 lbl_80673A20 = .bss:0x80673A20; // type:object size:0x18 -lbl_80673A38 = .bss:0x80673A38; // type:object size:0xC -lbl_80673A44 = .bss:0x80673A44; // type:object size:0x3C +@886 = .bss:0x80673A38; // type:object size:0xC scope:local +@LOCAL@GetInstance__Q44nw4r3snd6detail11TaskManagerFv@instance = .bss:0x80673A44; // type:object size:0x3C scope:weak lbl_80673A80 = .bss:0x80673A80; // type:object size:0xC lbl_80673A8C = .bss:0x80673A8C; // type:object size:0x1C data:byte @LOCAL@SetSize__Q44nw4r3lyt6detail11TexCoordAryFUc@texCoords = .bss:0x80673AA8; // type:object size:0x20 scope:weak align:4 data:float diff --git a/configure.py b/configure.py index 8b097dc1..f9306c4d 100644 --- a/configure.py +++ b/configure.py @@ -1074,7 +1074,7 @@ config.libs = [ Object(NonMatching, "nw4r/snd/snd_StrmSound.cpp"), Object(NonMatching, "nw4r/snd/snd_StrmSoundHandle.cpp"), Object(Matching, "nw4r/snd/snd_Task.cpp"), - Object(NonMatching, "nw4r/snd/snd_TaskManager.cpp"), + Object(Matching, "nw4r/snd/snd_TaskManager.cpp"), Object(NonMatching, "nw4r/snd/snd_TaskThread.cpp"), Object(NonMatching, "nw4r/snd/snd_Voice.cpp"), Object(NonMatching, "nw4r/snd/snd_VoiceManager.cpp"), diff --git a/src/nw4r/snd/snd_TaskManager.cpp b/src/nw4r/snd/snd_TaskManager.cpp index cebd4dfb..6edd03c3 100644 --- a/src/nw4r/snd/snd_TaskManager.cpp +++ b/src/nw4r/snd/snd_TaskManager.cpp @@ -57,7 +57,7 @@ void TaskManager::AppendTask(Task *task, TaskPriority priority) } // TaskManager::FindTask, probably -DECOMP_FORCE_CLASS_METHOD(Task::LinkList::Iterator, operator *()); +// DECOMP_FORCE_CLASS_METHOD(Task::LinkList::Iterator, operator *()); Task *TaskManager::GetNextTask(TaskPriority priority, bool doRemove) {