From 3bc40d4e623853d69d4c64522449e12cc39d087c Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 28 Dec 2023 16:07:15 -0600 Subject: [PATCH 1/5] Clean up and label main.c --- config/GMPE01_00/symbols.txt | 4 ++-- include/dolphin/vifuncs.h | 1 + src/REL/bootDll/bootDll.c | 12 ++++++------ src/game/main.c | 13 +++++-------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 227e0b18..8fb0a916 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -5942,7 +5942,7 @@ lbl_801D39E0 = .sdata:0x801D39E0; // type:object size:0x8 lbl_801D39E8 = .sdata:0x801D39E8; // type:object size:0x8 lbl_801D39F0 = .sdata:0x801D39F0; // type:object size:0x8 data:2byte lbl_801D39F8 = .sdata:0x801D39F8; // type:object size:0x1 data:byte -lbl_801D3A00 = .sbss:0x801D3A00; // type:object size:0x4 data:4byte +SystemInitF = .sbss:0x801D3A00; // type:object size:0x4 data:4byte HuDvdErrWait = .sbss:0x801D3A04; // type:object size:0x4 data:4byte lbl_801D3A08 = .sbss:0x801D3A08; // type:object size:0x4 lbl_801D3A0C = .sbss:0x801D3A0C; // type:object size:0x4 @@ -5963,7 +5963,7 @@ lbl_801D3A44 = .sbss:0x801D3A44; // type:object size:0x4 lbl_801D3A48 = .sbss:0x801D3A48; // type:object size:0x4 lbl_801D3A4C = .sbss:0x801D3A4C; // type:object size:0x4 lbl_801D3A50 = .sbss:0x801D3A50; // type:object size:0x4 -lbl_801D3A54 = .sbss:0x801D3A54; // type:object size:0x4 data:4byte +GlobalCounter = .sbss:0x801D3A54; // type:object size:0x4 data:4byte VCounter = .sbss:0x801D3A58; // type:object size:0x4 data:4byte RumbleBit = .sbss:0x801D3A5C; // type:object size:0x4 scope:local data:4byte _PadErr = .sbss:0x801D3A60; // type:object size:0x4 scope:local diff --git a/include/dolphin/vifuncs.h b/include/dolphin/vifuncs.h index f7a8ced2..b0cec231 100644 --- a/include/dolphin/vifuncs.h +++ b/include/dolphin/vifuncs.h @@ -10,6 +10,7 @@ extern "C" { #endif u32 VIGetNextField(void); +u32 VIGetRetraceCount(); VIRetraceCallback VISetPreRetraceCallback(VIRetraceCallback callback); VIRetraceCallback VISetPostRetraceCallback(VIRetraceCallback callback); void __VIGetCurrentPosition(s16* x, s16* y); diff --git a/src/REL/bootDll/bootDll.c b/src/REL/bootDll/bootDll.c index 3a19cc64..699a613d 100644 --- a/src/REL/bootDll/bootDll.c +++ b/src/REL/bootDll/bootDll.c @@ -17,7 +17,7 @@ #define HU_PAD_BTNDOWN_ALL (HuPadBtnDown[0] | HuPadBtnDown[1] | HuPadBtnDown[2] | HuPadBtnDown[3]) #define HU_PAD_DSTK_ALL (HuPadDStkRep[0] | HuPadDStkRep[1] | HuPadDStkRep[2] | HuPadDStkRep[3]) -extern int lbl_801D3A00; +extern int SystemInitF; static Process *objman; Vec lbl_1_bss_3C[2]; @@ -90,7 +90,7 @@ static void BootProc(void) HuSprAttrSet(group, 1, SPRITE_ATTR_HIDDEN); HuWinInit(1); TitleInit(); - lbl_801D3A00 = 1; + SystemInitF = 1; } else { s16 group_thp; BOOL skip_wait; @@ -106,7 +106,7 @@ static void BootProc(void) HuPrcVSleep(); } WipeColorSet(255, 255, 255); - if(!lbl_801D3A00) { + if(!SystemInitF) { tick_prev = OSGetTick(); fn_800498F0(); HuWindowInit(); @@ -140,7 +140,7 @@ static void BootProc(void) while(WipeStatGet()) { HuPrcVSleep(); } - if(!lbl_801D3A00) { + if(!SystemInitF) { void *group_samp; tick_prev = OSGetTick(); group_samp = HuMemDirectMalloc(HEAP_DATA, msmSysGetSampSize(0)); @@ -162,9 +162,9 @@ static void BootProc(void) HuPrcVSleep(); } tick_prev = OSGetTick(); - if(!lbl_801D3A00) { + if(!SystemInitF) { HuAudSndGrpSetSet(0); - lbl_801D3A00 = 1; + SystemInitF = 1; } while(OSTicksToMilliseconds(OSGetTick()-tick_prev) < 1000) { HuPrcVSleep(); diff --git a/src/game/main.c b/src/game/main.c index 4d8fd5f7..13f9cce5 100644 --- a/src/game/main.c +++ b/src/game/main.c @@ -13,11 +13,8 @@ #include "game/perf.h" #include "game/gamework.h" -extern s32 ViGetRetraceCount(void); - -extern GXRenderModeObj* RenderMode; extern FileListEntry _ovltbl[]; -s32 lbl_801D3A54; +s32 GlobalCounter; u32 lbl_801D3A50; u32 lbl_801D3A4C; u32 lbl_801D3A48; @@ -38,7 +35,7 @@ u32 lbl_801D3A10; u32 lbl_801D3A0C; u32 lbl_801D3A08; s32 HuDvdErrWait; -s32 lbl_801D3A00; +s32 SystemInitF; void main(void) { u32 sp14; @@ -49,13 +46,13 @@ void main(void) { s32 temp_r30; HuDvdErrWait = 0; - lbl_801D3A00 = 0; + SystemInitF = 0; HuSysInit(&GXNtsc480IntDf); HuPrcInit(); HuPadInit(); GWInit(); pfInit(); - lbl_801D3A54 = 0; + GlobalCounter = 0; HuSprInit(); Hu3DInit(); HuDataInit(); @@ -109,7 +106,7 @@ void main(void) { GXReadPixMetric(&lbl_801D3A44, &lbl_801D3A40, &lbl_801D3A3C, &lbl_801D3A38, &lbl_801D3A34, &lbl_801D3A30); GXReadMemMetric(&lbl_801D3A2C, &lbl_801D3A28, &lbl_801D3A24, &lbl_801D3A20, &lbl_801D3A1C, &lbl_801D3A18, &lbl_801D3A14, &lbl_801D3A10, &lbl_801D3A0C, &lbl_801D3A08); HuPerfEnd(2); - lbl_801D3A54++; + GlobalCounter++; } } From c8c43ece696436da239d1daddbc4fc9d7d5b702a Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 28 Dec 2023 16:08:08 -0600 Subject: [PATCH 2/5] Fix model.c split --- config/GMPE01_00/splits.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index 7fd7dbde..490c4d0b 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -327,7 +327,7 @@ game/board/main.c: .sdata2 start:0x801D5148 end:0x801D51F8 game/board/board.c: - .text start:0x80061F44 end:0x8006D248 + .text start:0x80061F44 end:0x8006D308 .rodata start:0x8011DD90 end:0x8011DE60 .data start:0x80139898 end:0x80139AA0 .bss start:0x8019D968 end:0x8019D998 @@ -336,7 +336,7 @@ game/board/board.c: .sdata2 start:0x801D51F8 end:0x801D5300 game/board/model.c: - .text start:0x8006D248 end:0x8006FD7C + .text start:0x8006D308 end:0x8006FD7C .sbss start:0x801D3F58 end:0x801D3F68 .sdata2 start:0x801D5300 end:0x801D5318 From 9012193413a736e06e75b4d26b407541ed3a4f26 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 28 Dec 2023 16:08:54 -0600 Subject: [PATCH 3/5] Add fast cast inlines --- include/dolphin/os/OSFastCast.h | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/include/dolphin/os/OSFastCast.h b/include/dolphin/os/OSFastCast.h index b6ca50d1..5022cbb4 100644 --- a/include/dolphin/os/OSFastCast.h +++ b/include/dolphin/os/OSFastCast.h @@ -41,6 +41,40 @@ static inline void OSInitFastCast(void) { } // clang-format off +static inline s16 __OSf32tos16(register f32 inF) +{ + register s16 out; + u32 tmp; + register u32* tmpPtr = &tmp; + // clang-format off + asm { + psq_st inF, 0(tmpPtr), 0x1, OS_FASTCAST_S16 + lha out, 0(tmpPtr) + } + // clang-format on + + return out; +} + +static inline void OSf32tos16(f32 *f, s16 *out) { *out = __OSf32tos16(*f); } + +static inline u8 __OSf32tou8(register f32 inF) +{ + register u8 out; + u32 tmp; + register u32 *tmpPtr = &tmp; + // clang-format off + asm { + psq_st inF, 0(tmpPtr), 0x1, OS_FASTCAST_U8 + lbz out, 0(tmpPtr) + } + // clang-format on + + return out; +} + +static inline void OSf32tou8(f32 *f, u8 *out) { *out = __OSf32tou8(*f); } + #ifdef __cplusplus } #endif From 7d9dcbb47b73766599fa359d9d1eb491151839f1 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 28 Dec 2023 17:22:09 -0600 Subject: [PATCH 4/5] Label board/model.c --- config/GMPE01_00/symbols.txt | 136 +++++++++++++++++------------------ include/functions.h | 34 ++++----- src/REL/w10Dll/w10Dll.c | 66 ++++++++--------- src/REL/w10Dll/w10Dll2.c | 18 ++--- src/REL/w10Dll/w10Dll3.c | 20 +++--- src/REL/w10Dll/w10Dll4.c | 4 +- 6 files changed, 139 insertions(+), 139 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 8fb0a916..de2894b9 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -1004,7 +1004,7 @@ InitBoardFunc = .text:0x8005B430; // type:function size:0x64 scope:local ExecBoardFunc = .text:0x8005B494; // type:function size:0x9C scope:local KillBoardFunc = .text:0x8005B530; // type:function size:0xCC scope:local BoardKill = .text:0x8005B5FC; // type:function size:0xAC -fn_8005B6A8 = .text:0x8005B6A8; // type:function size:0x48 +BoardIsKill = .text:0x8005B6A8; // type:function size:0x48 BoardSetPauseEnable = .text:0x8005B6F0; // type:function size:0x74 BoardGetPauseEnable = .text:0x8005B764; // type:function size:0x48 BoardSetSave = .text:0x8005B7AC; // type:function size:0x524 @@ -1051,8 +1051,8 @@ BoardCameraStartMotion = .text:0x8005DB24; // type:function size:0x48 BoardCameraStartMotion2 = .text:0x8005DB6C; // type:function size:0x230 BoardCameraFovSet = .text:0x8005DD9C; // type:function size:0x20 BoardCameraCullCheck = .text:0x8005DDBC; // type:function size:0x2BC -fn_8005E078 = .text:0x8005E078; // type:function size:0x48 -fn_8005E0C0 = .text:0x8005E0C0; // type:function size:0x58 +BoardCameraMotionIsDone = .text:0x8005E078; // type:function size:0x48 +BoardCameraMotionWait = .text:0x8005E0C0; // type:function size:0x58 BoardCameraInit = .text:0x8005E118; // type:function size:0x24C BoardCameraUpdate = .text:0x8005E364; // type:function size:0x350 BoardCameraCalcTarget = .text:0x8005E6B4; // type:function size:0xE4 @@ -1219,76 +1219,76 @@ fn_8006BC34 = .text:0x8006BC34; // type:function size:0x980 fn_8006C5B4 = .text:0x8006C5B4; // type:function size:0xA48 fn_8006CFFC = .text:0x8006CFFC; // type:function size:0x24C fn_8006D248 = .text:0x8006D248; // type:function size:0xC0 -fn_8006D308 = .text:0x8006D308; // type:function size:0xF0 -fn_8006D3F8 = .text:0x8006D3F8; // type:function size:0xA0 -fn_8006D498 = .text:0x8006D498; // type:function size:0x70 -fn_8006D508 = .text:0x8006D508; // type:function size:0x4 -fn_8006D50C = .text:0x8006D50C; // type:function size:0xCC -fn_8006D5D8 = .text:0x8006D5D8; // type:function size:0x90 -fn_8006D668 = .text:0x8006D668; // type:function size:0x70 -fn_8006D6D8 = .text:0x8006D6D8; // type:function size:0x7C -fn_8006D754 = .text:0x8006D754; // type:function size:0x250 -fn_8006D9A4 = .text:0x8006D9A4; // type:function size:0x40 -fn_8006D9E4 = .text:0x8006D9E4; // type:function size:0x44 -fn_8006DA28 = .text:0x8006DA28; // type:function size:0x168 -fn_8006DB90 = .text:0x8006DB90; // type:function size:0x44 -fn_8006DBD4 = .text:0x8006DBD4; // type:function size:0x48 +BoardModelInit = .text:0x8006D308; // type:function size:0xF0 +BoardModelKillAll = .text:0x8006D3F8; // type:function size:0xA0 +ModelObjFunc = .text:0x8006D498; // type:function size:0x70 scope:local +stubfn_8006D508 = .text:0x8006D508; // type:function size:0x4 +UpdateVisibility = .text:0x8006D50C; // type:function size:0xCC scope:local +BoardModelShowSetAll = .text:0x8006D5D8; // type:function size:0x90 +BoardModelPosSetAll = .text:0x8006D668; // type:function size:0x70 +BoardModelCameraSetAll = .text:0x8006D6D8; // type:function size:0x7C +BoardModelCreateInstance = .text:0x8006D754; // type:function size:0x250 +BoardModelCreate = .text:0x8006D9A4; // type:function size:0x40 +BoardModelCreateCharacter = .text:0x8006D9E4; // type:function size:0x44 +BoardModelCreateParam = .text:0x8006DA28; // type:function size:0x168 +BoardModelKill = .text:0x8006DB90; // type:function size:0x44 +BoardModelIDGet = .text:0x8006DBD4; // type:function size:0x48 fn_8006DC1C = .text:0x8006DC1C; // type:function size:0x60 -fn_8006DC7C = .text:0x8006DC7C; // type:function size:0x74 -fn_8006DCF0 = .text:0x8006DCF0; // type:function size:0x68 -fn_8006DD58 = .text:0x8006DD58; // type:function size:0x48 -fn_8006DDA0 = .text:0x8006DDA0; // type:function size:0x48 +BoardModelSetPass = .text:0x8006DC7C; // type:function size:0x74 +BoardModelAmbSet = .text:0x8006DCF0; // type:function size:0x68 +BoardModelExist = .text:0x8006DD58; // type:function size:0x48 +BoardModelExistDupe = .text:0x8006DDA0; // type:function size:0x48 fn_8006DDE8 = .text:0x8006DDE8; // type:function size:0x70 -fn_8006DE58 = .text:0x8006DE58; // type:function size:0x140 -fn_8006DF98 = .text:0x8006DF98; // type:function size:0x118 -fn_8006E0B0 = .text:0x8006E0B0; // type:function size:0xE8 -fn_8006E198 = .text:0x8006E198; // type:function size:0x7C +BoardModelMotionCreate = .text:0x8006DE58; // type:function size:0x140 +BoardModelMotionKill = .text:0x8006DF98; // type:function size:0x118 +BoardModelMotionTimeRangeSet = .text:0x8006E0B0; // type:function size:0xE8 +BoardModelMotionUpdateSet = .text:0x8006E198; // type:function size:0x7C fn_8006E214 = .text:0x8006E214; // type:function size:0xA4 -fn_8006E2B8 = .text:0x8006E2B8; // type:function size:0x174 -fn_8006E42C = .text:0x8006E42C; // type:function size:0x50 -fn_8006E47C = .text:0x8006E47C; // type:function size:0x148 -fn_8006E5C4 = .text:0x8006E5C4; // type:function size:0x58 -fn_8006E61C = .text:0x8006E61C; // type:function size:0x58 -fn_8006E674 = .text:0x8006E674; // type:function size:0x84 -fn_8006E6F8 = .text:0x8006E6F8; // type:function size:0x94 -fn_8006E78C = .text:0x8006E78C; // type:function size:0x88 -fn_8006E814 = .text:0x8006E814; // type:function size:0x64 -fn_8006E878 = .text:0x8006E878; // type:function size:0xA4 -fn_8006E91C = .text:0x8006E91C; // type:function size:0x80 -fn_8006E99C = .text:0x8006E99C; // type:function size:0x100 -fn_8006EA9C = .text:0x8006EA9C; // type:function size:0x7C -fn_8006EB18 = .text:0x8006EB18; // type:function size:0xBC -fn_8006EBD4 = .text:0x8006EBD4; // type:function size:0x88 -fn_8006EC5C = .text:0x8006EC5C; // type:function size:0x64 -fn_8006ECC0 = .text:0x8006ECC0; // type:function size:0x14C -fn_8006EE0C = .text:0x8006EE0C; // type:function size:0x100 -fn_8006EF0C = .text:0x8006EF0C; // type:function size:0xB0 -fn_8006EFBC = .text:0x8006EFBC; // type:function size:0x8C -fn_8006F048 = .text:0x8006F048; // type:function size:0x8C -fn_8006F0D4 = .text:0x8006F0D4; // type:function size:0x54 -fn_8006F128 = .text:0x8006F128; // type:function size:0x30 -fn_8006F158 = .text:0x8006F158; // type:function size:0x50 -fn_8006F1A8 = .text:0x8006F1A8; // type:function size:0x78 -fn_8006F220 = .text:0x8006F220; // type:function size:0x50 -fn_8006F270 = .text:0x8006F270; // type:function size:0x78 -fn_8006F2E8 = .text:0x8006F2E8; // type:function size:0x50 -fn_8006F338 = .text:0x8006F338; // type:function size:0x78 -fn_8006F3B0 = .text:0x8006F3B0; // type:function size:0x74 -fn_8006F424 = .text:0x8006F424; // type:function size:0x74 -fn_8006F498 = .text:0x8006F498; // type:function size:0x74 +BoardModelMotionStart = .text:0x8006E2B8; // type:function size:0x174 +BoardModelMotionShiftIDGet = .text:0x8006E42C; // type:function size:0x50 +BoardModelMotionShiftSet = .text:0x8006E47C; // type:function size:0x148 +BoardModelAttrSet = .text:0x8006E5C4; // type:function size:0x58 +BoardModelAttrReset = .text:0x8006E61C; // type:function size:0x58 +BoardModelMotionTimeReset = .text:0x8006E674; // type:function size:0x84 +BoardModelMotionTimeGet = .text:0x8006E6F8; // type:function size:0x94 +BoardModelMotionMaxTimeGet = .text:0x8006E78C; // type:function size:0x88 +BoardModelMotionSpeedGet = .text:0x8006E814; // type:function size:0x64 +BoardModelMotionSpeedSet = .text:0x8006E878; // type:function size:0xA4 +BoardModelMotionEndCheck = .text:0x8006E91C; // type:function size:0x80 +BoardModelMotionShapeSet = .text:0x8006E99C; // type:function size:0x100 +BoardModelMotionShapeTimeSet = .text:0x8006EA9C; // type:function size:0x7C +BoardModelMotionShapeMaxTimeGet = .text:0x8006EB18; // type:function size:0xBC +BoardModelMotionShapeSpeedSet = .text:0x8006EBD4; // type:function size:0x88 +BoardModelMotionShapeSpeedGet = .text:0x8006EC5C; // type:function size:0x64 +BoardModelMotionShapeEndCheck = .text:0x8006ECC0; // type:function size:0x14C +BoardModelMotionShapeStartEndSet = .text:0x8006EE0C; // type:function size:0x100 +BoardModelAlphaSet = .text:0x8006EF0C; // type:function size:0xB0 +BoardModelMtxSet = .text:0x8006EFBC; // type:function size:0x8C +BoardModelMtxGet = .text:0x8006F048; // type:function size:0x8C +BoardModelRotYSet = .text:0x8006F0D4; // type:function size:0x54 +BoardModelRotYGet = .text:0x8006F128; // type:function size:0x30 +BoardModelPosSetV = .text:0x8006F158; // type:function size:0x50 +BoardModelPosSet = .text:0x8006F1A8; // type:function size:0x78 +BoardModelRotSetV = .text:0x8006F220; // type:function size:0x50 +BoardModelRotSet = .text:0x8006F270; // type:function size:0x78 +BoardModelScaleSetV = .text:0x8006F2E8; // type:function size:0x50 +BoardModelScaleSet = .text:0x8006F338; // type:function size:0x78 +BoardModelPosGet = .text:0x8006F3B0; // type:function size:0x74 +BoardModelRotGet = .text:0x8006F424; // type:function size:0x74 +BoardModelScaleGet = .text:0x8006F498; // type:function size:0x74 fn_8006F50C = .text:0x8006F50C; // type:function size:0x60 fn_8006F56C = .text:0x8006F56C; // type:function size:0x4C -fn_8006F5B8 = .text:0x8006F5B8; // type:function size:0x64 -fn_8006F61C = .text:0x8006F61C; // type:function size:0x64 -fn_8006F680 = .text:0x8006F680; // type:function size:0x48 -fn_8006F6C8 = .text:0x8006F6C8; // type:function size:0x74 -fn_8006F73C = .text:0x8006F73C; // type:function size:0xC4 -fn_8006F800 = .text:0x8006F800; // type:function size:0x50 -fn_8006F850 = .text:0x8006F850; // type:function size:0x58 -fn_8006F8A8 = .text:0x8006F8A8; // type:function size:0x9C -fn_8006F944 = .text:0x8006F944; // type:function size:0x178 -fn_8006FABC = .text:0x8006FABC; // type:function size:0x194 -fn_8006FC50 = .text:0x8006FC50; // type:function size:0x12C +BoardModelCameraSet = .text:0x8006F5B8; // type:function size:0x64 +BoardModelLayerSet = .text:0x8006F61C; // type:function size:0x64 +BoardModelLayerGet = .text:0x8006F680; // type:function size:0x48 +BoardModelLayerSetAll = .text:0x8006F6C8; // type:function size:0x74 +BoardModelHookSet = .text:0x8006F73C; // type:function size:0xC4 +BoardModelHookReset = .text:0x8006F800; // type:function size:0x50 +BoardModelHookObjReset = .text:0x8006F850; // type:function size:0x58 +SearchBoardModel = .text:0x8006F8A8; // type:function size:0x9C scope:local +KillBoardModel = .text:0x8006F944; // type:function size:0x178 scope:local +CreateBoardModel = .text:0x8006FABC; // type:function size:0x194 scope:local +CreateBoardModelMotion = .text:0x8006FC50; // type:function size:0x12C scope:local BoardWinInit = .text:0x8006FD7C; // type:function size:0x24 lbl_8006FDA0 = .text:0x8006FDA0; // type:function size:0x34 BoardWinKillAll = .text:0x8006FDD4; // type:function size:0x24 diff --git a/include/functions.h b/include/functions.h index ceccdb8a..76d7adee 100644 --- a/include/functions.h +++ b/include/functions.h @@ -51,7 +51,7 @@ s32 rand8(void); void BoardCameraTargetSetModel(s16 model); void BoardCameraStartMotion2(s16, Vec*, s32, f32, f32, s32); -void fn_8005E0C0(void); +void BoardCameraMotionWait(void); void fn_80074210(s32, s32, Vec*); void fn_8007A360(s32); void fn_8007F894(void); @@ -64,22 +64,22 @@ void fn_800B42B4(s32); void fn_80082AAC(s32); void fn_800B4264(s32, s32, s32); void fn_8007500C(s32); -void fn_8006F0D4(s32, f32); -f32 fn_8006F128(s32); -void fn_8006F61C(s16, s32); +void BoardModelRotYSet(s32, f32); +f32 BoardModelRotYGet(s32); +void BoardModelLayerSet(s16, s32); void fn_800B42BC(s16); -s32 fn_8006DBD4(s16); +s32 BoardModelIDGet(s16); void BoardInit(void*, void*); -void fn_8006F2E8(s32, Vec*); +void BoardModelScaleSetV(s32, Vec*); void fn_8005D10C(void*, void*); -s16 fn_8006D9A4(s32, void*, s32); -void fn_8006DB90(s16); +s16 BoardModelCreate(s32, void*, s32); +void BoardModelKill(s16); void fn_8006DDE8(s16, f32); -void fn_8006E2B8(s16, s32, s32); -void fn_8006E878(s16, f32); -void fn_8006F158(s16, void*); -void fn_8006F1A8(s16, f32, f32, f32); -s32 fn_8006F220(s16 arg0, Vec* arg1); +void BoardModelMotionStart(s16, s32, s32); +void BoardModelMotionSpeedSet(s16, f32); +void BoardModelPosSetV(s16, void*); +void BoardModelPosSet(s16, f32, f32, f32); +s32 BoardModelRotSetV(s16 arg0, Vec* arg1); void fn_8006F50C(s16, s32); void fn_80073FF4(void*); void fn_80073FFC(void*); @@ -94,9 +94,9 @@ void fn_800A4F6C(s16); void fn_800B3FD8(void*); void fn_800B4274(s32, s32); void BoardCameraRotGet(Vec*); -void fn_8006F338(s16, f32, f32, f32); -s32 fn_8005B6A8(void); -void fn_8006EFBC(s16, Mtx); -void fn_8006F270(s16, f32, f32, f32); +void BoardModelScaleSet(s16, f32, f32, f32); +s32 BoardIsKill(void); +void BoardModelMtxSet(s16, Mtx); +void BoardModelRotSet(s16, f32, f32, f32); #endif diff --git a/src/REL/w10Dll/w10Dll.c b/src/REL/w10Dll/w10Dll.c index 28ad5f06..9077cc2c 100644 --- a/src/REL/w10Dll/w10Dll.c +++ b/src/REL/w10Dll/w10Dll.c @@ -87,41 +87,41 @@ void fn_1_E0(void) { fn_800772EC(MAKE_DATA_NUM(DATADIR_W10, 0)); temp = fn_800745F0(0, 1); fn_800B4274(temp, 1); - lbl_1_data_28 = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_W10, 1), NULL, 0); + lbl_1_data_28 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 1), NULL, 0); fn_8006DDE8(lbl_1_data_28, -1.0f); - fn_8006F1A8(lbl_1_data_28, 0.0f, 0.0f, 0.0f); - fn_8006E2B8(lbl_1_data_28, 0, 0x40000001); - fn_8006E878(lbl_1_data_28, 1.0f); - lbl_1_data_2A = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_W10, 2), NULL, 0); + BoardModelPosSet(lbl_1_data_28, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_28, 0, 0x40000001); + BoardModelMotionSpeedSet(lbl_1_data_28, 1.0f); + lbl_1_data_2A = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 2), NULL, 0); fn_8006DDE8(lbl_1_data_2A, -1.0f); - fn_8006F1A8(lbl_1_data_2A, 0.0f, 0.0f, 0.0f); - fn_8006E2B8(lbl_1_data_2A, 0, 0x40000001); - lbl_1_data_2C = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_W10, 17), lbl_1_data_54, 0); - fn_8006F1A8(lbl_1_data_2C, 0.0f, 0.0f, 0.0f); - fn_8006E2B8(lbl_1_data_2C, 1, 0x40000001); - lbl_1_data_2E = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_BGUEST, 5), lbl_1_data_5C, 0); - fn_8006E2B8(lbl_1_data_2E, 1, 0x40000001); - lbl_1_data_32 = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_BGUEST, 18), lbl_1_data_64, 0); - fn_8006E2B8(lbl_1_data_32, 1, 0x40000001); - lbl_1_data_30 = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_BGUEST, 13), lbl_1_data_6C, 0); - fn_8006E2B8(lbl_1_data_30, 1, 0x40000001); + BoardModelPosSet(lbl_1_data_2A, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_2A, 0, 0x40000001); + lbl_1_data_2C = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 17), lbl_1_data_54, 0); + BoardModelPosSet(lbl_1_data_2C, 0.0f, 0.0f, 0.0f); + BoardModelMotionStart(lbl_1_data_2C, 1, 0x40000001); + lbl_1_data_2E = BoardModelCreate(MAKE_DATA_NUM(DATADIR_BGUEST, 5), lbl_1_data_5C, 0); + BoardModelMotionStart(lbl_1_data_2E, 1, 0x40000001); + lbl_1_data_32 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_BGUEST, 18), lbl_1_data_64, 0); + BoardModelMotionStart(lbl_1_data_32, 1, 0x40000001); + lbl_1_data_30 = BoardModelCreate(MAKE_DATA_NUM(DATADIR_BGUEST, 13), lbl_1_data_6C, 0); + BoardModelMotionStart(lbl_1_data_30, 1, 0x40000001); fn_8005D10C(&fn_1_8C0, &fn_1_904); for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) { temp_r30 = &lbl_1_data_0[i]; if (temp_r30->unk24 != -1) { lbl_1_bss_8 = NULL; - lbl_1_bss_10[i] = fn_8006D9A4(temp_r30->unk24, lbl_1_bss_8, 0); - fn_8006F158(lbl_1_bss_10[i], temp_r30); - fn_8006F220(lbl_1_bss_10[i], &temp_r30->unk0C); - fn_8006F2E8(lbl_1_bss_10[i], &temp_r30->unk18); + lbl_1_bss_10[i] = BoardModelCreate(temp_r30->unk24, lbl_1_bss_8, 0); + BoardModelPosSetV(lbl_1_bss_10[i], temp_r30); + BoardModelRotSetV(lbl_1_bss_10[i], &temp_r30->unk0C); + BoardModelScaleSetV(lbl_1_bss_10[i], &temp_r30->unk18); fn_8006F50C(lbl_1_bss_10[i], 1); if (lbl_1_bss_8 != NULL) { - fn_8006E2B8(lbl_1_bss_10[i], 0, 0x40000001); + BoardModelMotionStart(lbl_1_bss_10[i], 0, 0x40000001); } } } fn_8006F50C(lbl_1_bss_10[0], 0); - lbl_1_bss_0->unk8 = fn_8006D9A4(0x7000A, NULL, 0); + lbl_1_bss_0->unk8 = BoardModelCreate(0x7000A, NULL, 0); fn_8006F50C(lbl_1_bss_0->unk8, 0); fn_80073FF4(&fn_1_90C); fn_80073FFC(&fn_1_91C); @@ -142,42 +142,42 @@ void fn_1_6D8(void) { s32 i; for (i = 0; i < 1; i++) { if (lbl_1_bss_10[i] != 0) { - fn_8006DB90(lbl_1_bss_10[i]); + BoardModelKill(lbl_1_bss_10[i]); lbl_1_bss_10[i] = 0; } } if (lbl_1_data_32 != -1) { - fn_8006DB90(lbl_1_data_32); + BoardModelKill(lbl_1_data_32); lbl_1_data_32 = -1; } if (lbl_1_data_2E != -1) { - fn_8006DB90(lbl_1_data_2E); + BoardModelKill(lbl_1_data_2E); lbl_1_data_2E = -1; } if (lbl_1_data_30 != -1) { - fn_8006DB90(lbl_1_data_30); + BoardModelKill(lbl_1_data_30); lbl_1_data_30 = -1; } if (lbl_1_data_2C != -1) { - fn_8006DB90(lbl_1_data_2C); + BoardModelKill(lbl_1_data_2C); lbl_1_data_2C = -1; } if (lbl_1_data_28 != -1) { - fn_8006DB90(lbl_1_data_28); + BoardModelKill(lbl_1_data_28); lbl_1_data_28 = -1; } if (lbl_1_data_2A != -1) { - fn_8006DB90(lbl_1_data_2A); + BoardModelKill(lbl_1_data_2A); lbl_1_data_2A = -1; } - fn_8006DB90(lbl_1_bss_0->unk8); + BoardModelKill(lbl_1_bss_0->unk8); fn_1_1DEC(); HuWinKill(lbl_1_bss_E); fn_80077A3C(); } void fn_1_8C0(void) { - s32 temp = fn_8006DBD4(lbl_1_data_28); + s32 temp = BoardModelIDGet(lbl_1_data_28); Hu3DModelLightInfoSet(temp, 1); } @@ -206,7 +206,7 @@ s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { f32 var_f31; var_r31 = 0; - var_f31 = fn_8006F128(arg0); + var_f31 = BoardModelRotYGet(arg0); arg8 = fmod(arg8, 360.0); if (var_f31 < 0.0f) { var_f31 += 360.0f; @@ -236,7 +236,7 @@ s32 fn_1_920(s32 arg0, f32 arg8, f32 arg9) { if (var_f31 >= 360.0f) { var_f31 -= 360.0f; } - fn_8006F0D4(arg0, var_f31); + BoardModelRotYSet(arg0, var_f31); } else { var_r31 = 1; } diff --git a/src/REL/w10Dll/w10Dll2.c b/src/REL/w10Dll/w10Dll2.c index 9c806452..3c0b951e 100644 --- a/src/REL/w10Dll/w10Dll2.c +++ b/src/REL/w10Dll/w10Dll2.c @@ -13,10 +13,10 @@ Vec lbl_1_data_80[2] = { void fn_1_AEC(void) { lbl_1_bss_1C = 0; - lbl_1_bss_1E = fn_8006D9A4(MAKE_DATA_NUM(DATADIR_W10, 15), &lbl_1_data_78, 0); - fn_8006E2B8(lbl_1_bss_1E, 1, 0x40000001); + lbl_1_bss_1E = BoardModelCreate(MAKE_DATA_NUM(DATADIR_W10, 15), &lbl_1_data_78, 0); + BoardModelMotionStart(lbl_1_bss_1E, 1, 0x40000001); fn_800B42BC(lbl_1_bss_1E); - fn_8006F61C(lbl_1_bss_1E, 6); + BoardModelLayerSet(lbl_1_bss_1E, 6); lbl_1_bss_18 = HuPrcCreate(fn_1_C20, 0x1FFF, 0x1800, 0); } @@ -46,18 +46,18 @@ void fn_1_C20(void) { Vec sp8; while (1) { - if (fn_8005B6A8() != 0) { - fn_8006DB90(lbl_1_bss_1E); + if (BoardIsKill() != 0) { + BoardModelKill(lbl_1_bss_1E); fn_800B42BC(-1); HuPrcEnd(); } Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); - fn_8006F158(lbl_1_bss_1E, &sp14); + BoardModelPosSetV(lbl_1_bss_1E, &sp14); BoardCameraRotGet(&sp8); PSMTXRotRad(sp20, 'y', 0.2617994f); - fn_8006EFBC(lbl_1_bss_1E, sp20); - fn_8006F270(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f); - fn_8006F338(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f); + BoardModelMtxSet(lbl_1_bss_1E, sp20); + BoardModelRotSet(lbl_1_bss_1E, sp8.x, 0.0f, 0.0f); + BoardModelScaleSet(lbl_1_bss_1E, 0.2f, 0.2f, 0.2f); HuPrcVSleep(); } } \ No newline at end of file diff --git a/src/REL/w10Dll/w10Dll3.c b/src/REL/w10Dll/w10Dll3.c index 39d76c2f..305e5fd3 100644 --- a/src/REL/w10Dll/w10Dll3.c +++ b/src/REL/w10Dll/w10Dll3.c @@ -184,34 +184,34 @@ void fn_1_13A4(void) { sp8.y = sp8.z = 0.0f; temp_r3_2 = fn_800745F0(0, 0x80000); fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); + BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); fn_1_BA0(0x2E002C); fn_8007A360(temp_r3_2); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); temp_r3_2 = fn_800745F0(0, 0x10000000); fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); + BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); fn_1_BA0(0x2E002E); fn_8007F894(); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); temp_r3_2 = fn_800745F0(0, 0x08000000); fn_80074210(0, temp_r3_2, &sp14); - fn_8006F158(lbl_1_bss_0->unk8, &sp14); + BoardModelPosSetV(lbl_1_bss_0->unk8, &sp14); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); fn_1_BA0(0x2E0030); fn_800A6B10(); BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); - fn_8005E0C0(); + BoardCameraMotionWait(); fn_1_BA0(0x2E0032); BoardCameraTargetSetModel(fn_80083F84()); - fn_8005E0C0(); + BoardCameraMotionWait(); fn_1_BA0(0x2E0033); fn_1_BA0(0x2E0034); fn_1_1E3C(8, 0x122, 0x8C); diff --git a/src/REL/w10Dll/w10Dll4.c b/src/REL/w10Dll/w10Dll4.c index a5232ba6..94917fa9 100644 --- a/src/REL/w10Dll/w10Dll4.c +++ b/src/REL/w10Dll/w10Dll4.c @@ -137,7 +137,7 @@ void fn_1_1984(void) { return; } HuWinDispOn(lbl_1_bss_E); - if (fn_8005B6A8() != 0) { + if (BoardIsKill() != 0) { return; } for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) { @@ -167,7 +167,7 @@ int fn_1_1AAC(s16 arg0, s32 arg1) { HuWinDispOff(lbl_1_bss_E); } else { HuWinDispOn(lbl_1_bss_E); - if (fn_8005B6A8() == 0) { + if (BoardIsKill() == 0) { s32 contPortIndex; for (i = 0; i < ARRAY_COUNT(GWPlayer); i++) { contPortIndex = GWPlayer[i].port; From 08af2a8d1b29eb11f2cce0ecfe059b88b42606f2 Mon Sep 17 00:00:00 2001 From: gamemasterplc Date: Thu, 28 Dec 2023 17:26:32 -0600 Subject: [PATCH 5/5] Label sbss in board/model.c --- config/GMPE01_00/symbols.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index de2894b9..11b56f99 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -1221,9 +1221,9 @@ fn_8006CFFC = .text:0x8006CFFC; // type:function size:0x24C fn_8006D248 = .text:0x8006D248; // type:function size:0xC0 BoardModelInit = .text:0x8006D308; // type:function size:0xF0 BoardModelKillAll = .text:0x8006D3F8; // type:function size:0xA0 -ModelObjFunc = .text:0x8006D498; // type:function size:0x70 scope:local +ModelMgrObjFunc = .text:0x8006D498; // type:function size:0x70 scope:local stubfn_8006D508 = .text:0x8006D508; // type:function size:0x4 -UpdateVisibility = .text:0x8006D50C; // type:function size:0xCC scope:local +BoardModelUpdateVisibility = .text:0x8006D50C; // type:function size:0xCC BoardModelShowSetAll = .text:0x8006D5D8; // type:function size:0x90 BoardModelPosSetAll = .text:0x8006D668; // type:function size:0x70 BoardModelCameraSetAll = .text:0x8006D6D8; // type:function size:0x7C @@ -6276,9 +6276,9 @@ lbl_801D3F40 = .sbss:0x801D3F40; // type:object size:0x1 data:byte lbl_801D3F44 = .sbss:0x801D3F44; // type:object size:0x1 data:byte lbl_801D3F46 = .sbss:0x801D3F46; // type:object size:0x8 lbl_801D3F4E = .sbss:0x801D3F4E; // type:object size:0xA -lbl_801D3F58 = .sbss:0x801D3F58; // type:object size:0x4 data:4byte -lbl_801D3F5C = .sbss:0x801D3F5C; // type:object size:0x4 data:4byte -lbl_801D3F60 = .sbss:0x801D3F60; // type:object size:0x8 data:2byte +modelDataList = .sbss:0x801D3F58; // type:object size:0x4 scope:local data:4byte +modelMgrObj = .sbss:0x801D3F5C; // type:object size:0x4 scope:local data:4byte +modelDataNum = .sbss:0x801D3F60; // type:object size:0x2 scope:local data:2byte winProc = .sbss:0x801D3F68; // type:object size:0x4 scope:local data:4byte comKeyFunc = .sbss:0x801D3F6C; // type:object size:0x4 scope:local data:4byte lbl_801D3F70 = .sbss:0x801D3F70; // type:object size:0x8 data:float