Merge pull request #69 from gamemasterplc/main

Label board/model.c
This commit is contained in:
gamemasterplc 2023-12-28 17:26:45 -06:00 committed by GitHub
commit 03567d3e56
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 192 additions and 160 deletions

View file

@ -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

View file

@ -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
ModelMgrObjFunc = .text:0x8006D498; // type:function size:0x70 scope:local
stubfn_8006D508 = .text:0x8006D508; // type:function size:0x4
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
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
@ -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
@ -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

View file

@ -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

View file

@ -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);

View file

@ -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

View file

@ -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();

View file

@ -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;
}

View file

@ -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();
}
}

View file

@ -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);

View file

@ -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;

View file

@ -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++;
}
}