From 1e50c256717b47c020abe7b98aa7dfcfaf65ee72 Mon Sep 17 00:00:00 2001 From: Max Roncace Date: Tue, 9 Sep 2025 18:52:19 -0400 Subject: [PATCH] Link more JSystem/Z2Audio TUs for JP (#2644) --- config/GZ2J01/splits.txt | 3 ++- config/GZ2J01/symbols.txt | 56 +++++++++++++++++++-------------------- configure.py | 18 ++++++------- 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/config/GZ2J01/splits.txt b/config/GZ2J01/splits.txt index 0dbbc2a1b06..63bd7a9dfca 100644 --- a/config/GZ2J01/splits.txt +++ b/config/GZ2J01/splits.txt @@ -2148,7 +2148,7 @@ Z2AudioLib/Z2Calc.cpp: Z2AudioLib/Z2Param.cpp: .sdata start:0x8044A918 end:0x8044A9B0 - .sbss start:0x8044B478 end:0x8044B490 + .sbss start:0x8044B478 end:0x8044B488 Z2AudioLib/Z2AudioArcLoader.cpp: .text start:0x802ABE74 end:0x802AC008 @@ -2168,6 +2168,7 @@ Z2AudioLib/Z2SoundStarter.cpp: Z2AudioLib/Z2SoundHandles.cpp: .text start:0x802AD4BC end:0x802ADA8C .bss start:0x8042E2F8 end:0x8042E318 + .sbss start:0x8044B488 end:0x8044B490 Z2AudioLib/Z2SeMgr.cpp: .text start:0x802ADA8C end:0x802B12E0 diff --git a/config/GZ2J01/symbols.txt b/config/GZ2J01/symbols.txt index 0f0f6db3a66..9115427dfb2 100644 --- a/config/GZ2J01/symbols.txt +++ b/config/GZ2J01/symbols.txt @@ -20107,7 +20107,7 @@ table_list$151 = .data:0x803C19E8; // type:object size:0x10 scope:local align:4 history$267 = .data:0x803C19F8; // type:object size:0x28 scope:local align:4 data:4byte __vt__14JASAudioThread = .data:0x803C1A20; // type:object size:0x10 scope:global align:4 SEND_TABLE__6JASDsp = .data:0x803C1A30; // type:object size:0x18 scope:global align:4 -jdsp = .data:0x803C1A60; // type:object size:0x1F00 scope:global align:4 noreloc +jdsp = .data:0x803C1A60; // type:object size:0x1F00 scope:global align:32 noreloc __vt__10JAIAudible = .data:0x803C3960; // type:object size:0x14 scope:global align:4 __vt__11JAIAudience = .data:0x803C3978; // type:object size:0x20 scope:global align:4 __vt__5JAISe = .data:0x803C3998; // type:object size:0x58 scope:global align:4 @@ -21167,11 +21167,11 @@ sDefaultBankTable__8JASTrack = .bss:0x8042B7F4; // type:object size:0x40C scope: sTrackList__8JASTrack = .bss:0x8042BC0C; // type:object size:0x10 scope:global align:4 data:4byte @470 = .bss:0x8042BC1C; // type:object size:0xC scope:local align:4 @476 = .bss:0x8042BC28; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___58JASPoolAllocObject_MultiThreadedFv = .bss:0x8042BC34; // type:object size:0x10 scope:local align:4 -memPool_$localstatic3$getMemPool___43JASPoolAllocObject_MultiThreaded<8JASTrack>Fv = .bss:0x8042BC44; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool__58JASPoolAllocObject_MultiThreadedFv = .bss:0x8042BC34; // type:object size:0x10 scope:weak align:4 +memPool_$localstatic3$getMemPool__43JASPoolAllocObject_MultiThreaded<8JASTrack>Fv = .bss:0x8042BC44; // type:object size:0x10 scope:weak align:4 @433 = .bss:0x8042BC58; // type:object size:0xC scope:local align:4 @792 = .bss:0x8042BC68; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___46JASPoolAllocObject_MultiThreaded<10JASChannel>Fv = .bss:0x8042BC74; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool__46JASPoolAllocObject_MultiThreaded<10JASChannel>Fv = .bss:0x8042BC74; // type:object size:0x10 scope:weak align:4 @156 = .bss:0x8042BC88; // type:object size:0xC scope:local align:4 osc$213 = .bss:0x8042BC98; // type:object size:0x18 scope:local align:4 data:float @1065 = .bss:0x8042BCB0; // type:object size:0xC scope:local align:4 @@ -21192,15 +21192,15 @@ AUDIO_YIELD_BUFFER = .bss:0x8042C120; // type:object size:0x2000 scope:global al taskwork = .bss:0x8042E120; // type:object size:0x80 scope:global align:4 sync_stack = .bss:0x8042E1A0; // type:object size:0x14 scope:global align:4 data:4byte @744 = .bss:0x8042E1B8; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___26JASPoolAllocObject<5JAISe>Fv = .bss:0x8042E1C4; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___26JASPoolAllocObject<5JAISe>Fv = .bss:0x8042E1C4; // type:object size:0x10 scope:weak align:4 @716 = .bss:0x8042E1D8; // type:object size:0xC scope:local align:4 @896 = .bss:0x8042E1E4; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___35JASPoolAllocObject<13JAISoundChild>Fv = .bss:0x8042E1F0; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___35JASPoolAllocObject<13JAISoundChild>Fv = .bss:0x8042E1F0; // type:object size:0x10 scope:weak align:4 @715 = .bss:0x8042E200; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___27JASPoolAllocObject<6JAISeq>Fv = .bss:0x8042E20C; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___27JASPoolAllocObject<6JAISeq>Fv = .bss:0x8042E20C; // type:object size:0x10 scope:weak align:4 @881 = .bss:0x8042E220; // type:object size:0xC scope:local align:4 @745 = .bss:0x8042E230; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9JAIStream>Fv = .bss:0x8042E23C; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9JAIStream>Fv = .bss:0x8042E23C; // type:object size:0x10 scope:weak align:4 ...bss.0 = .bss:0x8042E250; // type:label scope:local align:4 @757 = .bss:0x8042E250; // type:object size:0xC scope:local align:4 @763 = .bss:0x8042E25C; // type:object size:0xC scope:local align:4 @@ -21209,9 +21209,9 @@ memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9JAIStream>Fv = .bss:0x8 @863 = .bss:0x8042E280; // type:object size:0xC scope:local align:4 @867 = .bss:0x8042E28C; // type:object size:0xC scope:local align:4 @632 = .bss:0x8042E2F8; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .bss:0x8042E304; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .bss:0x8042E304; // type:object size:0x10 scope:weak align:4 @1539 = .bss:0x8042E318; // type:object size:0xC scope:local align:4 -memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .bss:0x8042E324; // type:object size:0x10 scope:local align:4 +memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .bss:0x8042E324; // type:object size:0x10 scope:weak align:4 ...bss.0 = .bss:0x8042E338; // type:label scope:local align:4 sCorrectPhrase = .bss:0x8042E338; // type:object size:0x24 scope:global align:4 data:4byte sWindStoneSound = .bss:0x8042E35C; // type:object size:0x24 scope:global align:4 data:4byte @@ -21499,19 +21499,19 @@ VOL_SE_CHAR_VOICE_PAUSING__7Z2Param = .sdata:0x8044A990; // type:object size:0x4 VOL_SE_CHAR_MOVE_PAUSING__7Z2Param = .sdata:0x8044A994; // type:object size:0x4 scope:global align:4 data:float VOL_SE_OBJECT_PAUSING__7Z2Param = .sdata:0x8044A998; // type:object size:0x4 scope:global align:4 data:float VOL_SE_ATMOSPHERE_PAUSING__7Z2Param = .sdata:0x8044A99C; // type:object size:0x4 scope:global align:4 data:float -lbl_8044A9A0 = .sdata:0x8044A9A0; // type:object size:0x1 data:byte -lbl_8044A9A1 = .sdata:0x8044A9A1; // type:object size:0x1 data:byte -lbl_8044A9A2 = .sdata:0x8044A9A2; // type:object size:0x1 data:byte -lbl_8044A9A3 = .sdata:0x8044A9A3; // type:object size:0x1 data:byte -lbl_8044A9A4 = .sdata:0x8044A9A4; // type:object size:0x1 data:byte -lbl_8044A9A5 = .sdata:0x8044A9A5; // type:object size:0x1 data:byte -lbl_8044A9A6 = .sdata:0x8044A9A6; // type:object size:0x1 data:byte -lbl_8044A9A7 = .sdata:0x8044A9A7; // type:object size:0x1 data:byte -lbl_8044A9A8 = .sdata:0x8044A9A8; // type:object size:0x1 data:byte -lbl_8044A9A9 = .sdata:0x8044A9A9; // type:object size:0x1 data:byte -lbl_8044A9AA = .sdata:0x8044A9AA; // type:object size:0x1 data:byte -lbl_8044A9AB = .sdata:0x8044A9AB; // type:object size:0x1 data:byte -lbl_8044A9AC = .sdata:0x8044A9AC; // type:object size:0x1 data:byte +lbl_8044A9A0 = .sdata:0x8044A9A0; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A1 = .sdata:0x8044A9A1; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A2 = .sdata:0x8044A9A2; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A3 = .sdata:0x8044A9A3; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A4 = .sdata:0x8044A9A4; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A5 = .sdata:0x8044A9A5; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A6 = .sdata:0x8044A9A6; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A7 = .sdata:0x8044A9A7; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A8 = .sdata:0x8044A9A8; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9A9 = .sdata:0x8044A9A9; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9AA = .sdata:0x8044A9AA; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9AB = .sdata:0x8044A9AB; // type:object size:0x1 scope:global align:1 data:byte +lbl_8044A9AC = .sdata:0x8044A9AC; // type:object size:0x1 scope:global align:1 data:byte sDeathMtBottom = .sdata:0x8044A9B0; // type:object size:0x4 scope:global align:4 data:float sDeathMtTop = .sdata:0x8044A9B4; // type:object size:0x4 scope:global align:4 data:float sUnderWaterDepthMax = .sdata:0x8044A9B8; // type:object size:0x4 scope:global align:4 data:float @@ -22059,8 +22059,8 @@ sBuffer = .sbss:0x8044B360; // type:object size:0x4 scope:global align:4 data:4b sLineMax = .sbss:0x8044B364; // type:object size:0x4 scope:global align:4 data:4byte sLineCount = .sbss:0x8044B368; // type:object size:0x4 scope:global align:4 data:4byte sTop = .sbss:0x8044B36C; // type:object size:0x4 scope:global align:4 data:4byte -lbl_8044B370 = .sbss:0x8044B370; // type:object size:0x1 data:byte -lbl_8044B371 = .sbss:0x8044B371; // type:object size:0x1 data:byte +init$localstatic4$getMemPool__58JASPoolAllocObject_MultiThreadedFv = .sbss:0x8044B370; // type:object size:0x1 data:byte +init$localstatic4$getMemPool__43JASPoolAllocObject_MultiThreaded<8JASTrack>Fv = .sbss:0x8044B371; // type:object size:0x1 data:byte sDefaultParser__10JASSeqCtrl = .sbss:0x8044B378; // type:object size:0x4 scope:global align:4 data:4byte sCallBackFunc__12JASSeqParser = .sbss:0x8044B380; // type:object size:0x4 scope:global align:4 data:4byte lbl_8044B384 = .sbss:0x8044B384; // type:object size:0x1 data:byte @@ -22071,7 +22071,7 @@ sBlockSize__13JASAramStream = .sbss:0x8044B398; // type:object size:0x4 scope:gl sChannelMax__13JASAramStream = .sbss:0x8044B39C; // type:object size:0x4 scope:global align:4 data:4byte lbl_8044B3A0 = .sbss:0x8044B3A0; // type:object size:0x1 data:byte lbl_8044B3A1 = .sbss:0x8044B3A1; // type:object size:0x1 data:byte -lbl_8044B3A2 = .sbss:0x8044B3A2; // type:object size:0x1 data:byte +init$localstatic4$getMemPool__46JASPoolAllocObject_MultiThreaded<10JASChannel>Fv = .sbss:0x8044B3A2; // type:object size:0x1 data:byte sOscTable__12JASVoiceBank = .sbss:0x8044B3A8; // type:object size:0x4 scope:global align:4 data:4byte oscp$214 = .sbss:0x8044B3B0; // type:object size:0x4 scope:local align:4 data:4byte lbl_8044B3B4 = .sbss:0x8044B3B4; // type:object size:0x1 data:byte @@ -22101,7 +22101,7 @@ CH_BUF__6JASDsp = .sbss:0x8044B428; // type:object size:0x4 scope:global align:4 FX_BUF__6JASDsp = .sbss:0x8044B42C; // type:object size:0x4 scope:global align:4 data:4byte sDSPVolume__6JASDsp = .sbss:0x8044B430; // type:object size:0x4 scope:global align:4 data:float lbl_8044B434 = .sbss:0x8044B434; // type:object size:0x1 data:byte -lbl_8044B435 = .sbss:0x8044B435; // type:object size:0x1 data:byte +init$33 = .sbss:0x8044B435; // type:object size:0x1 data:byte flag = .sbss:0x8044B438; // type:object size:0x4 scope:global align:4 data:4byte taskreadp = .sbss:0x8044B440; // type:object size:0x4 scope:global align:4 data:4byte taskwritep = .sbss:0x8044B444; // type:object size:0x4 scope:global align:4 data:4byte @@ -22118,7 +22118,7 @@ MIN_DISTANCE_VOLUME__7Z2Param = .sbss:0x8044B478; // type:object size:0x4 scope: ENEMY_LASTHIT_MUTE_VOLUME__7Z2Param = .sbss:0x8044B47C; // type:object size:0x4 scope:global align:4 data:float lbl_8044B480 = .sbss:0x8044B480; // type:object size:0x1 data:byte lbl_8044B481 = .sbss:0x8044B481; // type:object size:0x1 data:byte -lbl_8044B482 = .sbss:0x8044B482; // type:object size:0x6 data:byte +lbl_8044B482 = .sbss:0x8044B482; // type:object size:0x1 data:byte lbl_8044B488 = .sbss:0x8044B488; // type:object size:0x1 data:byte cNearFarRatio = .sbss:0x8044B490; // type:object size:0x4 scope:global align:4 data:float lbl_8044B494 = .sbss:0x8044B494; // type:object size:0x1 data:byte diff --git a/configure.py b/configure.py index 450f76745a8..33c14e032a5 100755 --- a/configure.py +++ b/configure.py @@ -924,42 +924,42 @@ config.libs = [ Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASWSParser.cpp"), Object(NonMatching, "JSystem/JAudio2/JASBNKParser.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASWaveArcLoader.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASChannel.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASChannel.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASLfo.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASOscillator.cpp"), Object(NonMatching, "JSystem/JAudio2/JASAiCtrl.cpp"), Object(NonMatching, "JSystem/JAudio2/JASAudioThread.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASAudioReseter.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JASDSPChannel.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JASDSPInterface.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASDSPInterface.cpp"), Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASDriverIF.cpp"), Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JASSoundParams.cpp"), # debug weak func order Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/dspproc.cpp", extra_cflags=["-O4", "-func_align 32"]), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/dsptask.cpp", extra_cflags=["-O4", "-func_align 32"]), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/dsptask.cpp", extra_cflags=["-O4", "-func_align 32"]), Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/osdsp.cpp", extra_cflags=["-O4", "-func_align 32", "-str nopool"]), Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/osdsp_task.cpp", extra_cflags=["-O4", "-func_align 32"]), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "JSystem/JAudio2/JAIAudible.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAIAudience.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISe.cpp"), Object(Equivalent, "JSystem/JAudio2/JAISeMgr.cpp"), # weak function order - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JAISeq.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JAISeq.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISeqDataMgr.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JAISeqMgr.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JAISeqMgr.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISound.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "JSystem/JAudio2/JAISoundChild.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISoundHandles.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISoundInfo.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISoundParams.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAISoundStarter.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JAIStream.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JAIStream.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAIStreamDataMgr.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JAIStreamMgr.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JAIStreamMgr.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUAudioArcInterpreter.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUAudioArcLoader.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUAudioMgr.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01", "ShieldD"), "JSystem/JAudio2/JAUBankTable.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUClusterSound.cpp"), - Object(MatchingFor("GZ2E01"), "JSystem/JAudio2/JAUInitializer.cpp"), + Object(MatchingFor("GZ2E01", "GZ2J01"), "JSystem/JAudio2/JAUInitializer.cpp"), Object(NonMatching, "JSystem/JAudio2/JAUSectionHeap.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUSeqCollection.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "JSystem/JAudio2/JAUSeqDataBlockMgr.cpp"), @@ -992,7 +992,7 @@ config.libs = [ Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SoundStarter.cpp"), Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SoundHandles.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2SeMgr.cpp"), - Object(Equivalent, "Z2AudioLib/Z2SeqMgr.cpp"), + Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2SeqMgr.cpp"), Object(MatchingFor("GZ2E01"), "Z2AudioLib/Z2StatusMgr.cpp"), Object(NonMatching, "Z2AudioLib/Z2SceneMgr.cpp"), Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "Z2AudioLib/Z2FxLineMgr.cpp"),