From 13b260771f6b2ae605e7c34d95e41ae481d4c156 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Sat, 2 Dec 2023 00:09:02 -0600 Subject: [PATCH] Split out THP and Flag Functions --- config/GMPE01_00/splits.txt | 33 ++++- config/GMPE01_00/symbols.txt | 268 +++++++++++++++++------------------ configure.py | 5 + 3 files changed, 170 insertions(+), 136 deletions(-) diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index cf0ee22f..ae05a791 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -256,7 +256,7 @@ game/armem.c: game/code_800498F0.c: .text start:0x800498F0 end:0x80050C5C - .data start:0x801307C8 end:0x801312E8 + .data start:0x801307C8 end:0x801311E8 .bss start:0x80196EC0 end:0x80197650 .sdata start:0x801D35F0 end:0x801D3638 .sbss start:0x801D3E10 end:0x801D3E18 @@ -264,10 +264,39 @@ game/code_800498F0.c: game/mapspace.c: .text start:0x80050C5C end:0x80054A00 - .bss start:0x80197650 end:0x80197AC0 + .bss start:0x80197650 end:0x80197AB8 .sbss start:0x801D3E18 end:0x801D3E38 .sdata2 start:0x801D50D0 end:0x801D5100 +game/THPSimple.c: + .text start:0x80054A00 end:0x80056B04 + .data start:0x801311E8 end:0x801312E8 + .bss start:0x80197AC0 end:0x801981A0 + .sdata start:0x801D3638 end:0x801D3640 + .sbss start:0x801D3E38 end:0x801D3E58 + .sdata2 start:0x801D5100 end:0x801D5108 + +game/THPDraw.c: + .text start:0x80056B04 end:0x8005745C + .sdata2 start:0x801D5108 end:0x801D5120 + +game/thpmain.c: + .text start:0x8005745C end:0x80057E24 + .rodata start:0x8011DD50 end:0x8011DD60 + .data start:0x801312E8 end:0x80131350 + .bss start:0x801981A0 end:0x801981E0 + .sbss start:0x801D3E58 end:0x801D3E80 + .sdata2 start:0x801D5120 end:0x801D5138 + +game/objsub.c: + .text start:0x80057E24 end:0x80058010 + .data start:0x80131350 end:0x80132150 + .bss start:0x801981E0 end:0x80198410 + +game/flag.c: + .text start:0x80058010 end:0x80058228 + .bss start:0x80198410 end:0x80198420 + Runtime.PPCEABI.H/global_destructor_chain.c: .text start:0x800E2008 end:0x800E2068 .dtors start:0x8011DCE8 end:0x8011DCEC diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index dc298052..48747a2f 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -915,46 +915,46 @@ Hitcheck_Quadrangle_with_Sphere = .text:0x80054570; // type:function size:0x19C DefSetHitFace = .text:0x8005470C; // type:function size:0x4C scope:local AppendAddXZ = .text:0x80054758; // type:function size:0x184 CharRotInv = .text:0x800548DC; // type:function size:0x124 -fn_80054A00 = .text:0x80054A00; // type:function size:0x124 -fn_80054B24 = .text:0x80054B24; // type:function size:0x54 -fn_80054B78 = .text:0x80054B78; // type:function size:0x408 -fn_80054F80 = .text:0x80054F80; // type:function size:0xC0 -fn_80055040 = .text:0x80055040; // type:function size:0x184 -fn_800551C4 = .text:0x800551C4; // type:function size:0x240 -fn_80055404 = .text:0x80055404; // type:function size:0x2A4 -fn_800556A8 = .text:0x800556A8; // type:function size:0x2A4 -fn_8005594C = .text:0x8005594C; // type:function size:0x14 -fn_80055960 = .text:0x80055960; // type:function size:0x14 -fn_80055974 = .text:0x80055974; // type:function size:0x1B8 -fn_80055B2C = .text:0x80055B2C; // type:function size:0x47C -fn_80055FA8 = .text:0x80055FA8; // type:function size:0xD8 -fn_80056080 = .text:0x80056080; // type:function size:0x104 -fn_80056184 = .text:0x80056184; // type:function size:0x5F8 -fn_8005677C = .text:0x8005677C; // type:function size:0x58 -fn_800567D4 = .text:0x800567D4; // type:function size:0x2C -fn_80056800 = .text:0x80056800; // type:function size:0x188 -fn_80056988 = .text:0x80056988; // type:function size:0x17C -fn_80056B04 = .text:0x80056B04; // type:function size:0x130 -fn_80056C34 = .text:0x80056C34; // type:function size:0x5A0 -fn_800571D4 = .text:0x800571D4; // type:function size:0x288 -fn_8005745C = .text:0x8005745C; // type:function size:0x108 -fn_80057564 = .text:0x80057564; // type:function size:0x110 -fn_80057674 = .text:0x80057674; // type:function size:0xF8 -fn_8005776C = .text:0x8005776C; // type:function size:0x100 -fn_8005786C = .text:0x8005786C; // type:function size:0xC -fn_80057878 = .text:0x80057878; // type:function size:0xC -fn_80057884 = .text:0x80057884; // type:function size:0xC -fn_80057890 = .text:0x80057890; // type:function size:0x54 +THPSimpleInit = .text:0x80054A00; // type:function size:0x124 +THPSimpleQuit = .text:0x80054B24; // type:function size:0x54 +THPSimpleOpen = .text:0x80054B78; // type:function size:0x408 +THPSimpleClose = .text:0x80054F80; // type:function size:0xC0 +THPSimpleCalcNeedMemory = .text:0x80055040; // type:function size:0x184 +THPSimpleSetBuffer = .text:0x800551C4; // type:function size:0x240 +__THPSimpleDVDCallback = .text:0x80055404; // type:function size:0x2A4 scope:local +THPSimplePreLoad = .text:0x800556A8; // type:function size:0x2A4 +THPSimpleAudioStart = .text:0x8005594C; // type:function size:0x14 +THPSimpleAudioStop = .text:0x80055960; // type:function size:0x14 +THPSimpleLoadStop = .text:0x80055974; // type:function size:0x1B8 +THPSimpleDecode = .text:0x80055B2C; // type:function size:0x47C +VideoDecode = .text:0x80055FA8; // type:function size:0xD8 scope:local +THPSimpleDrawCurrentFrame = .text:0x80056080; // type:function size:0x104 +MixAudio = .text:0x80056184; // type:function size:0x5F8 scope:local +THPSimpleGetVideoInfo = .text:0x8005677C; // type:function size:0x58 +THPSimpleGetTotalFrame = .text:0x800567D4; // type:function size:0x2C +THPAudioMixCallback = .text:0x80056800; // type:function size:0x188 scope:local +THPSimpleSetVolume = .text:0x80056988; // type:function size:0x17C +THPGXRestore = .text:0x80056B04; // type:function size:0x130 +THPGXYuv2RgbSetup = .text:0x80056C34; // type:function size:0x5A0 +THPGXYuv2RgbDraw = .text:0x800571D4; // type:function size:0x288 +HuTHPSprCreateVol = .text:0x8005745C; // type:function size:0x108 +HuTHPSprCreate = .text:0x80057564; // type:function size:0x110 +HuTHP3DCreateVol = .text:0x80057674; // type:function size:0xF8 +HuTHP3DCreate = .text:0x8005776C; // type:function size:0x100 +HuTHPStop = .text:0x8005786C; // type:function size:0xC +HuTHPClose = .text:0x80057878; // type:function size:0xC +HuTHPRestart = .text:0x80057884; // type:function size:0xC +HuTHPEndCheck = .text:0x80057890; // type:function size:0x54 HuTHPFrameGet = .text:0x800578E4; // type:function size:0x8 -fn_800578EC = .text:0x800578EC; // type:function size:0x20 -fn_8005790C = .text:0x8005790C; // type:function size:0x30 -fn_8005793C = .text:0x8005793C; // type:function size:0x27C -fn_80057BB8 = .text:0x80057BB8; // type:function size:0xA4 -fn_80057C5C = .text:0x80057C5C; // type:function size:0x17C -fn_80057DD8 = .text:0x80057DD8; // type:function size:0x4C -fn_80057E24 = .text:0x80057E24; // type:function size:0x5C -fn_80057E80 = .text:0x80057E80; // type:function size:0xF4 -fn_80057F74 = .text:0x80057F74; // type:function size:0x9C +HuTHPTotalFrameGet = .text:0x800578EC; // type:function size:0x20 +HuTHPSetVolume = .text:0x8005790C; // type:function size:0x30 +THPTestProc = .text:0x8005793C; // type:function size:0x27C scope:local +THPViewFunc = .text:0x80057BB8; // type:function size:0xA4 scope:local +THPViewSprFunc = .text:0x80057C5C; // type:function size:0x17C scope:local +THPDecodeFunc = .text:0x80057DD8; // type:function size:0x4C scope:local +MGGetIndex = .text:0x80057E24; // type:function size:0x5C +omGameSysInit = .text:0x80057E80; // type:function size:0xF4 +omVibrate = .text:0x80057F74; // type:function size:0x9C _CheckFlag = .text:0x80058010; // type:function size:0xA0 _SetFlag = .text:0x800580B0; // type:function size:0xA4 _ClearFlag = .text:0x80058154; // type:function size:0xA4 @@ -2167,33 +2167,33 @@ __OSSystemCallVectorEnd = .text:0x800B9D28; // type:label scope:global __OSInitSystemCall = .text:0x800B9D2C; // type:function size:0x64 scope:global __OSThreadInit = .text:0x800B9D90; // type:function size:0x128 scope:global OSInitThreadQueue = .text:0x800B9EB8; // type:function size:0x10 scope:global -fn_800B9EC8 = .text:0x800B9EC8; // type:function size:0xC +OSGetCurrentThread = .text:0x800B9EC8; // type:function size:0xC OSDisableScheduler = .text:0x800B9ED4; // type:function size:0x40 scope:global OSEnableScheduler = .text:0x800B9F14; // type:function size:0x40 scope:global -fn_800B9F54 = .text:0x800B9F54; // type:function size:0x68 -fn_800B9FBC = .text:0x800B9FBC; // type:function size:0x3C -fn_800B9FF8 = .text:0x800B9FF8; // type:function size:0x1C0 +UnsetRun = .text:0x800B9F54; // type:function size:0x68 scope:local +__OSGetEffectivePriority = .text:0x800B9FBC; // type:function size:0x3C +SetEffectivePriority = .text:0x800B9FF8; // type:function size:0x1C0 scope:local SelectThread = .text:0x800BA1B8; // type:function size:0x200 scope:local __OSReschedule = .text:0x800BA3B8; // type:function size:0x30 scope:global -fn_800BA3E8 = .text:0x800BA3E8; // type:function size:0x3C -fn_800BA424 = .text:0x800BA424; // type:function size:0x120 -fn_800BA544 = .text:0x800BA544; // type:function size:0xE4 +OSYieldThread = .text:0x800BA3E8; // type:function size:0x3C +OSCreateThread = .text:0x800BA424; // type:function size:0x120 +OSExitThread = .text:0x800BA544; // type:function size:0xE4 OSCancelThread = .text:0x800BA628; // type:function size:0x1BC scope:global -fn_800BA7E4 = .text:0x800BA7E4; // type:function size:0x288 -fn_800BAA6C = .text:0x800BAA6C; // type:function size:0x170 +OSResumeThread = .text:0x800BA7E4; // type:function size:0x288 +OSSuspendThread = .text:0x800BAA6C; // type:function size:0x170 OSSleepThread = .text:0x800BABDC; // type:function size:0xEC OSWakeupThread = .text:0x800BACC8; // type:function size:0x104 -fn_800BADCC = .text:0x800BADCC; // type:function size:0x90 +OSSetIdleFunction = .text:0x800BADCC; // type:function size:0x90 OSGetTime = .text:0x800BAE5C; // type:function size:0x18 scope:global OSGetTick = .text:0x800BAE74; // type:function size:0x8 scope:global __OSGetSystemTime = .text:0x800BAE7C; // type:function size:0x64 scope:global -fn_800BAEE0 = .text:0x800BAEE0; // type:function size:0x19C -fn_800BB07C = .text:0x800BB07C; // type:function size:0x204 +GetDates = .text:0x800BAEE0; // type:function size:0x19C scope:local +OSTicksToCalendarTime = .text:0x800BB07C; // type:function size:0x204 __init_user = .text:0x800BB280; // type:function size:0x20 scope:global __init_cpp = .text:0x800BB2A0; // type:function size:0x54 scope:local _ExitProcess = .text:0x800BB2F4; // type:function size:0x20 scope:global DBInit = .text:0x800BB314; // type:function size:0x28 scope:global -fn_800BB33C = .text:0x800BB33C; // type:function size:0x48 +__DBExceptionDestinationAux = .text:0x800BB33C; // type:function size:0x48 scope:local __DBExceptionDestination = .text:0x800BB384; // type:function size:0x10 scope:global __DBIsExceptionMarked = .text:0x800BB394; // type:function size:0x1C scope:global DBPrintf = .text:0x800BB3B0; // type:function size:0x50 scope:global @@ -2263,15 +2263,15 @@ DVDConvertPathToEntrynum = .text:0x800BD874; // type:function size:0x2F4 DVDFastOpen = .text:0x800BDB68; // type:function size:0x74 DVDOpen = .text:0x800BDBDC; // type:function size:0xC8 DVDClose = .text:0x800BDCA4; // type:function size:0x24 -fn_800BDCC8 = .text:0x800BDCC8; // type:function size:0x160 -fn_800BDE28 = .text:0x800BDE28; // type:function size:0xC4 +entryToPath = .text:0x800BDCC8; // type:function size:0x160 scope:local +DVDGetCurrentDir = .text:0x800BDE28; // type:function size:0xC4 DVDReadAsyncPrio = .text:0x800BDEEC; // type:function size:0xC0 cbForReadAsync = .text:0x800BDFAC; // type:function size:0x30 scope:local DVDReadPrio = .text:0x800BDFDC; // type:function size:0x118 cbForReadSync = .text:0x800BE0F4; // type:function size:0x24 scope:local DVDInit = .text:0x800BE118; // type:function size:0xFC scope:global -fn_800BE214 = .text:0x800BE214; // type:function size:0x54 -fn_800BE268 = .text:0x800BE268; // type:function size:0x80 +stateReadingFST = .text:0x800BE214; // type:function size:0x54 scope:local +cbForStateReadingFST = .text:0x800BE268; // type:function size:0x80 scope:local cbForStateError = .text:0x800BE2E8; // type:function size:0xA8 scope:local fn_800BE390 = .text:0x800BE390; // type:function size:0x9C fn_800BE42C = .text:0x800BE42C; // type:function size:0x28 @@ -2288,28 +2288,28 @@ fn_800BEB6C = .text:0x800BEB6C; // type:function size:0x114 fn_800BEC80 = .text:0x800BEC80; // type:function size:0xA4 fn_800BED24 = .text:0x800BED24; // type:function size:0xFC AlarmHandler = .text:0x800BEE20; // type:function size:0x44 scope:local -fn_800BEE64 = .text:0x800BEE64; // type:function size:0xCC -fn_800BEF30 = .text:0x800BEF30; // type:function size:0x30 -fn_800BEF60 = .text:0x800BEF60; // type:function size:0x70 -fn_800BEFD0 = .text:0x800BEFD0; // type:function size:0x28 +stateCoverClosed = .text:0x800BEE64; // type:function size:0xCC scope:local +stateCoverClosed_CMD = .text:0x800BEF30; // type:function size:0x30 scope:local +cbForStateCoverClosed = .text:0x800BEF60; // type:function size:0x70 scope:local +stateMotorStopped = .text:0x800BEFD0; // type:function size:0x28 scope:local cbForStateMotorStopped = .text:0x800BEFF8; // type:function size:0xE4 scope:local stateReady = .text:0x800BF0DC; // type:function size:0x248 scope:local stateBusy = .text:0x800BF324; // type:function size:0x2C0 scope:local -fn_800BF5E4 = .text:0x800BF5E4; // type:function size:0x5D4 -fn_800BFBB8 = .text:0x800BFBB8; // type:function size:0xDC -fn_800BFC94 = .text:0x800BFC94; // type:function size:0xD0 +cbForStateBusy = .text:0x800BF5E4; // type:function size:0x5D4 scope:local +DVDReadAbsAsyncPrio = .text:0x800BFBB8; // type:function size:0xDC +DVDReadAbsAsyncForBS = .text:0x800BFC94; // type:function size:0xD0 DVDReadDiskID = .text:0x800BFD64; // type:function size:0xD4 scope:global DVDInquiryAsync = .text:0x800BFE38; // type:function size:0xD0 scope:global DVDReset = .text:0x800BFF08; // type:function size:0x44 scope:global DVDGetCommandBlockStatus = .text:0x800BFF4C; // type:function size:0x4C DVDGetDriveStatus = .text:0x800BFF98; // type:function size:0xAC scope:global -fn_800C0044 = .text:0x800C0044; // type:function size:0x10 -fn_800C0054 = .text:0x800C0054; // type:function size:0x270 -fn_800C02C4 = .text:0x800C02C4; // type:function size:0xAC -fn_800C0370 = .text:0x800C0370; // type:function size:0x24 -fn_800C0394 = .text:0x800C0394; // type:function size:0x8 -fn_800C039C = .text:0x800C039C; // type:function size:0xE4 -fn_800C0480 = .text:0x800C0480; // type:function size:0x11C +DVDSetAutoInvalidation = .text:0x800C0044; // type:function size:0x10 +DVDCancelAsync = .text:0x800C0054; // type:function size:0x270 +DVDCancel = .text:0x800C02C4; // type:function size:0xAC +cbForCancelSync = .text:0x800C0370; // type:function size:0x24 scope:local +DVDGetCurrentDiskID = .text:0x800C0394; // type:function size:0x8 +DVDCheckDisk = .text:0x800C039C; // type:function size:0xE4 +__DVDPrepareResetAsync = .text:0x800C0480; // type:function size:0x11C __DVDClearWaitingQueue = .text:0x800C059C; // type:function size:0x38 scope:global __DVDPushWaitingQueue = .text:0x800C05D4; // type:function size:0x68 scope:global __DVDPopWaitingQueue = .text:0x800C063C; // type:function size:0xA0 scope:global @@ -2319,9 +2319,9 @@ ErrorCode2Num = .text:0x800C0794; // type:function size:0x11C scope:local __DVDStoreErrorCode = .text:0x800C08B0; // type:function size:0x7C scope:global cb = .text:0x800C092C; // type:function size:0xD8 scope:local __fstLoad = .text:0x800C0A04; // type:function size:0x168 scope:global -fn_800C0B6C = .text:0x800C0B6C; // type:function size:0x228 -fn_800C0D94 = .text:0x800C0D94; // type:function size:0x44 -fn_800C0DD8 = .text:0x800C0DD8; // type:function size:0x44 +__VIRetraceHandler = .text:0x800C0B6C; // type:function size:0x228 scope:local +VISetPreRetraceCallback = .text:0x800C0D94; // type:function size:0x44 +VISetPostRetraceCallback = .text:0x800C0DD8; // type:function size:0x44 getTiming = .text:0x800C0E1C; // type:function size:0x90 __VIInit = .text:0x800C0EAC; // type:function size:0x1F8 VIInit = .text:0x800C10A4; // type:function size:0x478 @@ -2348,24 +2348,24 @@ DEMOUpdateStats = .text:0x800C3318; // type:function size:0x58 DEMOPrintStats = .text:0x800C3370; // type:function size:0x96C ClampStick = .text:0x800C3CDC; // type:function size:0x130 scope:local PADClamp = .text:0x800C3E0C; // type:function size:0x108 -fn_800C3F14 = .text:0x800C3F14; // type:function size:0x1A4 -fn_800C40B8 = .text:0x800C40B8; // type:function size:0xC4 -fn_800C417C = .text:0x800C417C; // type:function size:0xC0 -fn_800C423C = .text:0x800C423C; // type:function size:0xD8 -fn_800C4314 = .text:0x800C4314; // type:function size:0x32C -fn_800C4640 = .text:0x800C4640; // type:function size:0x134 -fn_800C4774 = .text:0x800C4774; // type:function size:0x100 -fn_800C4874 = .text:0x800C4874; // type:function size:0x104 +UpdateOrigin = .text:0x800C3F14; // type:function size:0x1A4 scope:local +PADOriginCallback = .text:0x800C40B8; // type:function size:0xC4 scope:local +PADOriginUpdateCallback = .text:0x800C417C; // type:function size:0xC0 scope:local +PADProbeCallback = .text:0x800C423C; // type:function size:0xD8 scope:local +PADTypeAndStatusCallback = .text:0x800C4314; // type:function size:0x32C scope:local +PADReceiveCheckCallback = .text:0x800C4640; // type:function size:0x134 scope:local +PADReset = .text:0x800C4774; // type:function size:0x100 +PADRecalibrate = .text:0x800C4874; // type:function size:0x104 PADInit = .text:0x800C4978; // type:function size:0x210 -fn_800C4B88 = .text:0x800C4B88; // type:function size:0x3AC -fn_800C4F34 = .text:0x800C4F34; // type:function size:0xA4 -fn_800C4FD8 = .text:0x800C4FD8; // type:function size:0x60 -fn_800C5038 = .text:0x800C5038; // type:function size:0x174 -fn_800C51AC = .text:0x800C51AC; // type:function size:0x174 -fn_800C5320 = .text:0x800C5320; // type:function size:0x3F8 -fn_800C5718 = .text:0x800C5718; // type:function size:0x194 -fn_800C58AC = .text:0x800C58AC; // type:function size:0x60 -fn_800C590C = .text:0x800C590C; // type:function size:0x54 +PADRead = .text:0x800C4B88; // type:function size:0x3AC +PADControlMotor = .text:0x800C4F34; // type:function size:0xA4 +PADSetSpec = .text:0x800C4FD8; // type:function size:0x60 +SPEC0_MakeStatus = .text:0x800C5038; // type:function size:0x174 scope:local +SPEC1_MakeStatus = .text:0x800C51AC; // type:function size:0x174 scope:local +SPEC2_MakeStatus = .text:0x800C5320; // type:function size:0x3F8 scope:local +OnReset = .text:0x800C5718; // type:function size:0x194 scope:local +SamplingHandler = .text:0x800C58AC; // type:function size:0x60 scope:local +PADSetSamplingCallback = .text:0x800C590C; // type:function size:0x54 __PADDisableRecalibration = .text:0x800C5960; // type:function size:0x7C scope:global AIRegisterDMACallback = .text:0x800C59DC; // type:function size:0x44 AIInitDMA = .text:0x800C5A20; // type:function size:0x88 @@ -2735,28 +2735,28 @@ SIGetType = .text:0x800DA0C8; // type:function size:0x1C4 scope:global SIGetTypeAsync = .text:0x800DA28C; // type:function size:0x13C SISetSamplingRate = .text:0x800DA3C8; // type:function size:0xE4 scope:global SIRefreshSamplingRate = .text:0x800DA4AC; // type:function size:0x24 -fn_800DA4D0 = .text:0x800DA4D0; // type:function size:0x244 -fn_800DA714 = .text:0x800DA714; // type:function size:0x44 -fn_800DA758 = .text:0x800DA758; // type:function size:0x13C -fn_800DA894 = .text:0x800DA894; // type:function size:0x11C -fn_800DA9B0 = .text:0x800DA9B0; // type:function size:0x3BC -fn_800DAD6C = .text:0x800DAD6C; // type:function size:0x1E0 -fn_800DAF4C = .text:0x800DAF4C; // type:function size:0xF0 -fn_800DB03C = .text:0x800DB03C; // type:function size:0x68 -fn_800DB0A4 = .text:0x800DB0A4; // type:function size:0x1BC -fn_800DB260 = .text:0x800DB260; // type:function size:0x54 -fn_800DB2B4 = .text:0x800DB2B4; // type:function size:0x24C -fn_800DB500 = .text:0x800DB500; // type:function size:0x10C -fn_800DB60C = .text:0x800DB60C; // type:function size:0x1A88 -fn_800DD094 = .text:0x800DD094; // type:function size:0x1A8C -fn_800DEB20 = .text:0x800DEB20; // type:function size:0x1AAC -fn_800E05CC = .text:0x800E05CC; // type:function size:0x67C -fn_800E0C48 = .text:0x800E0C48; // type:function size:0x6A8 -fn_800E12F0 = .text:0x800E12F0; // type:function size:0x6A8 -fn_800E1998 = .text:0x800E1998; // type:function size:0x78 -fn_800E1A10 = .text:0x800E1A10; // type:function size:0x464 -fn_800E1E74 = .text:0x800E1E74; // type:function size:0x90 -fn_800E1F04 = .text:0x800E1F04; // type:function size:0x3C +THPVideoDecode = .text:0x800DA4D0; // type:function size:0x244 +__THPSetupBuffers = .text:0x800DA714; // type:function size:0x44 scope:local +__THPReadFrameHeader = .text:0x800DA758; // type:function size:0x13C scope:local +__THPReadScaneHeader = .text:0x800DA894; // type:function size:0x11C scope:local +__THPReadQuantizationTable = .text:0x800DA9B0; // type:function size:0x3BC scope:local +__THPReadHuffmanTableSpecification = .text:0x800DAD6C; // type:function size:0x1E0 scope:local +__THPHuffGenerateSizeTable = .text:0x800DAF4C; // type:function size:0xF0 scope:local +__THPHuffGenerateCodeTable = .text:0x800DB03C; // type:function size:0x68 scope:local +__THPHuffGenerateDecoderTables = .text:0x800DB0A4; // type:function size:0x1BC scope:local +__THPRestartDefinition = .text:0x800DB260; // type:function size:0x54 scope:local +__THPPrepBitStream = .text:0x800DB2B4; // type:function size:0x24C scope:local +__THPDecompressYUV = .text:0x800DB500; // type:function size:0x10C scope:local +__THPDecompressiMCURow512x448 = .text:0x800DB60C; // type:function size:0x1A88 scope:local +__THPDecompressiMCURow640x480 = .text:0x800DD094; // type:function size:0x1A8C scope:local +__THPDecompressiMCURowNxN = .text:0x800DEB20; // type:function size:0x1AAC scope:local +__THPHuffDecodeDCTCompY = .text:0x800E05CC; // type:function size:0x67C scope:local +__THPHuffDecodeDCTCompU = .text:0x800E0C48; // type:function size:0x6A8 scope:local +__THPHuffDecodeDCTCompV = .text:0x800E12F0; // type:function size:0x6A8 scope:local +THPInit = .text:0x800E1998; // type:function size:0x78 +THPAudioDecode = .text:0x800E1A10; // type:function size:0x464 +__THPAudioGetNewSample = .text:0x800E1E74; // type:function size:0x90 +__THPAudioInitialize = .text:0x800E1F04; // type:function size:0x3C __va_arg = .text:0x800E1F40; // type:function size:0xC8 scope:global __destroy_global_chain = .text:0x800E2008; // type:function size:0x48 scope:global __register_global_object = .text:0x800E2050; // type:function size:0x18 scope:global @@ -5117,10 +5117,10 @@ lbl_801310A0 = .data:0x801310A0; // type:object size:0x1C lbl_801310BC = .data:0x801310BC; // type:object size:0x38 lbl_801310F4 = .data:0x801310F4; // type:object size:0x38 lbl_8013112C = .data:0x8013112C; // type:object size:0xBC -lbl_801311E8 = .data:0x801311E8; // type:object size:0x100 +VolumeTable = .data:0x801311E8; // type:object size:0x100 scope:local lbl_801312E8 = .data:0x801312E8; // type:object size:0x4D lbl_80131335 = .data:0x80131335; // type:object size:0x1B -lbl_80131350 = .data:0x80131350; // type:object size:0xE00 data:2byte +MGInfoTable = .data:0x80131350; // type:object size:0xE00 data:2byte lbl_80132150 = .data:0x80132150; // type:object size:0x40 lbl_80132190 = .data:0x80132190; // type:object size:0xC data:string lbl_8013219C = .data:0x8013219C; // type:object size:0xC data:string @@ -5467,15 +5467,15 @@ ColisionIdx = .bss:0x80197708; // type:object size:0x78 HitFaceVec = .bss:0x80197780; // type:object size:0x180 OldXYZ = .bss:0x80197900; // type:object size:0xC scope:local HitFace = .bss:0x8019790C; // type:object size:0x180 -CharObject = .bss:0x80197A8C; // type:object size:0x34 +CharObject = .bss:0x80197A8C; // type:object size:0x28 SimpleControl = .bss:0x80197AC0; // type:object size:0x19C SoundBuffer = .bss:0x80197C60; // type:object size:0x500 scope:local align:32 WorkBuffer = .bss:0x80198160; // type:object size:0x40 scope:local align:32 -lbl_801981A0 = .bss:0x801981A0; // type:object size:0x40 -lbl_801981E0 = .bss:0x801981E0; // type:object size:0x118 +THPFileName = .bss:0x801981A0; // type:object size:0x40 scope:local +GWGameStatBackup = .bss:0x801981E0; // type:object size:0x118 lbl_801982F8 = .bss:0x801982F8; // type:object size:0x100 lbl_801983F8 = .bss:0x801983F8; // type:object size:0x18 -lbl_80198410 = .bss:0x80198410; // type:object size:0x10 +_Sys_Flag = .bss:0x80198410; // type:object size:0x10 lbl_80198420 = .bss:0x80198420; // type:object size:0x20 lbl_80198440 = .bss:0x80198440; // type:object size:0x4000 lbl_8019C440 = .bss:0x8019C440; // type:object size:0x13A0 @@ -6186,22 +6186,22 @@ nChar = .sbss:0x801D3E28; // type:object size:0x4 nMap = .sbss:0x801D3E2C; // type:object size:0x4 data:4byte AddZ = .sbss:0x801D3E30; // type:object size:0x4 data:float AddX = .sbss:0x801D3E34; // type:object size:0x4 data:float -lbl_801D3E38 = .sbss:0x801D3E38; // type:object size:0x4 data:4byte -lbl_801D3E3C = .sbss:0x801D3E3C; // type:object size:0x4 data:4byte -lbl_801D3E40 = .sbss:0x801D3E40; // type:object size:0x4 data:4byte -lbl_801D3E44 = .sbss:0x801D3E44; // type:object size:0x4 data:4byte -lbl_801D3E48 = .sbss:0x801D3E48; // type:object size:0x4 data:4byte -lbl_801D3E4C = .sbss:0x801D3E4C; // type:object size:0x4 data:4byte -lbl_801D3E50 = .sbss:0x801D3E50; // type:object size:0x8 data:4byte -lbl_801D3E58 = .sbss:0x801D3E58; // type:object size:0x4 data:4byte -lbl_801D3E5C = .sbss:0x801D3E5C; // type:object size:0x2 data:2byte -lbl_801D3E60 = .sbss:0x801D3E60; // type:object size:0x4 data:4byte -lbl_801D3E64 = .sbss:0x801D3E64; // type:object size:0x2 data:2byte -lbl_801D3E66 = .sbss:0x801D3E66; // type:object size:0x2 data:2byte -lbl_801D3E68 = .sbss:0x801D3E68; // type:object size:0x4 data:4byte -lbl_801D3E6C = .sbss:0x801D3E6C; // type:object size:0x4 data:4byte -lbl_801D3E70 = .sbss:0x801D3E70; // type:object size:0x4 data:4byte -lbl_801D3E74 = .sbss:0x801D3E74; // type:object size:0xC data:4byte +Initialized = .sbss:0x801D3E38; // type:object size:0x4 scope:local data:4byte +OldAIDCallback = .sbss:0x801D3E3C; // type:object size:0x4 scope:local data:4byte +AudioSystem = .sbss:0x801D3E40; // type:object size:0x4 scope:local data:4byte +bufIdx = .sbss:0x801D3E44; // type:object size:0x4 scope:local data:4byte +CurAudioBuffer = .sbss:0x801D3E48; // type:object size:0x4 scope:local data:4byte +LastAudioBuffer = .sbss:0x801D3E4C; // type:object size:0x4 scope:local data:4byte +SoundBufferIndex = .sbss:0x801D3E50; // type:object size:0x8 scope:local data:4byte +THPProc = .sbss:0x801D3E58; // type:object size:0x4 data:4byte +THPStart = .sbss:0x801D3E5C; // type:object size:0x2 scope:local data:2byte +THPFrame = .sbss:0x801D3E60; // type:object size:0x4 scope:local data:4byte +THPStat = .sbss:0x801D3E64; // type:object size:0x2 scope:local data:2byte +THPLoopF = .sbss:0x801D3E66; // type:object size:0x2 scope:local data:2byte +decodeThread = .sbss:0x801D3E68; // type:object size:0x4 scope:local data:4byte +decodeStackP = .sbss:0x801D3E6C; // type:object size:0x4 scope:local data:4byte +decodeRate = .sbss:0x801D3E70; // type:object size:0x4 scope:local data:4byte +audioTrack = .sbss:0x801D3E74; // type:object size:0xC scope:local data:4byte lbl_801D3E80 = .sbss:0x801D3E80; // type:object size:0x4 lbl_801D3E84 = .sbss:0x801D3E84; // type:object size:0x4 lbl_801D3E88 = .sbss:0x801D3E88; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index 2f98ac3e..09208a40 100755 --- a/configure.py +++ b/configure.py @@ -272,6 +272,11 @@ config.libs = [ Object(NonMatching, "game/armem.c"), Object(NonMatching, "game/code_800498F0.c"), Object(NonMatching, "game/mapspace.c"), + Object(NonMatching, "game/THPSimple.c"), + Object(NonMatching, "game/THPDraw.c"), + Object(NonMatching, "game/thpmain.c"), + Object(NonMatching, "game/objsub.c"), + Object(NonMatching, "game/flag.c"), ], }, {