diff --git a/config/GMPE01_00/splits.txt b/config/GMPE01_00/splits.txt index 3a6d5b47..b372e3f1 100644 --- a/config/GMPE01_00/splits.txt +++ b/config/GMPE01_00/splits.txt @@ -258,7 +258,7 @@ game/armem.c: .bss start:0x801967E0 end:0x80196EC0 .sbss start:0x801D3E00 end:0x801D3E10 -game/code_800498F0.c: +game/chrman.c: .text start:0x800498F0 end:0x80050C5C .data start:0x801307C8 end:0x801311E8 .bss start:0x80196EC0 end:0x80197650 @@ -938,3 +938,6 @@ Runtime.PPCEABI.H/Gecko_ExceptionPPC.cp: .data start:0x8013E218 end:0x8013E300 .bss start:0x801A72D0 end:0x801A72E0 .sdata start:0x801D39B8 end:0x801D39C8 + +game/kerent.c: + .text start:0x8011CCC4 end:0x8011DCA8 diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 972e685a..989e4d90 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -664,7 +664,7 @@ MGSeqSetParam = .text:0x80035968; // type:function size:0x4C MGSeqKill = .text:0x800359B4; // type:function size:0x58 MGSeqKillAll = .text:0x80035A0C; // type:function size:0x3C MGSeqIsDone = .text:0x80035A48; // type:function size:0xA4 -MGSeqDummy_80035AEC = .text:0x80035AEC; // type:function size:0x4 +MGSeqStub = .text:0x80035AEC; // type:function size:0x4 MGSeqSprKill = .text:0x80035AF0; // type:function size:0x8C SeqInitTimer = .text:0x80035B7C; // type:function size:0x2E0 scope:local SeqUpdateTimer = .text:0x80035E5C; // type:function size:0x69C scope:local @@ -999,92 +999,92 @@ HuRestartSystem = .text:0x8005AE34; // type:function size:0xDC HuSoftResetCheck = .text:0x8005AF10; // type:function size:0xFC scope:local HuSoftResetCountCheck = .text:0x8005B00C; // type:function size:0xCC scope:local HuSoftResetPostProc = .text:0x8005B0D8; // type:function size:0x78 scope:local -fn_8005B150 = .text:0x8005B150; // type:function size:0x2E0 -fn_8005B430 = .text:0x8005B430; // type:function size:0x64 -fn_8005B494 = .text:0x8005B494; // type:function size:0x9C -fn_8005B530 = .text:0x8005B530; // type:function size:0xCC -fn_8005B5FC = .text:0x8005B5FC; // type:function size:0xAC +BoardInit = .text:0x8005B150; // type:function size:0x2E0 +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 -fn_8005B6F0 = .text:0x8005B6F0; // type:function size:0x74 -fn_8005B764 = .text:0x8005B764; // type:function size:0x48 -fn_8005B7AC = .text:0x8005B7AC; // type:function size:0x524 +BoardSetPauseEnable = .text:0x8005B6F0; // type:function size:0x74 +BoardGetPauseEnable = .text:0x8005B764; // type:function size:0x48 +BoardSetSave = .text:0x8005B7AC; // type:function size:0x524 fn_8005BCD0 = .text:0x8005BCD0; // type:function size:0x160 -fn_8005BE30 = .text:0x8005BE30; // type:function size:0x160 +BoardLoadConfig = .text:0x8005BE30; // type:function size:0x160 fn_8005BF90 = .text:0x8005BF90; // type:function size:0xC -fn_8005BF9C = .text:0x8005BF9C; // type:function size:0x7D0 -fn_8005C76C = .text:0x8005C76C; // type:function size:0x8C -fn_8005C7F8 = .text:0x8005C7F8; // type:function size:0x28C -fn_8005CA84 = .text:0x8005CA84; // type:function size:0xC4 -fn_8005CB48 = .text:0x8005CB48; // type:function size:0x8C -fn_8005CBD4 = .text:0x8005CBD4; // type:function size:0x410 -fn_8005CFE4 = .text:0x8005CFE4; // type:function size:0x128 +BoardMainProcFunc = .text:0x8005BF9C; // type:function size:0x7D0 scope:local +BoardTurnNext = .text:0x8005C76C; // type:function size:0x8C +BoardIsTurnCont = .text:0x8005C7F8; // type:function size:0x28C +BoardSetNextOvl = .text:0x8005CA84; // type:function size:0xC4 +BoardHasStarted = .text:0x8005CB48; // type:function size:0x8C +CreateBoard = .text:0x8005CBD4; // type:function size:0x410 scope:local +DestroyBoard = .text:0x8005CFE4; // type:function size:0x128 scope:local fn_8005D10C = .text:0x8005D10C; // type:function size:0xC fn_8005D118 = .text:0x8005D118; // type:function size:0x44 fn_8005D15C = .text:0x8005D15C; // type:function size:0x50 -fn_8005D1AC = .text:0x8005D1AC; // type:function size:0x3C -fn_8005D1E8 = .text:0x8005D1E8; // type:function size:0x48 -fn_8005D230 = .text:0x8005D230; // type:function size:0x54 -fn_8005D284 = .text:0x8005D284; // type:function size:0x2AC -fn_8005D530 = .text:0x8005D530; // type:function size:0x48 -fn_8005D578 = .text:0x8005D578; // type:function size:0x48 -fn_8005D5C0 = .text:0x8005D5C0; // type:function size:0x48 -fn_8005D608 = .text:0x8005D608; // type:function size:0x20 -fn_8005D628 = .text:0x8005D628; // type:function size:0xA8 -fn_8005D6D0 = .text:0x8005D6D0; // type:function size:0xBC -fn_8005D78C = .text:0x8005D78C; // type:function size:0x28 -fn_8005D7B4 = .text:0x8005D7B4; // type:function size:0x50 -fn_8005D804 = .text:0x8005D804; // type:function size:0x30 -fn_8005D834 = .text:0x8005D834; // type:function size:0xB4 -fn_8005D8E8 = .text:0x8005D8E8; // type:function size:0x40 -fn_8005D928 = .text:0x8005D928; // type:function size:0x44 -fn_8005D96C = .text:0x8005D96C; // type:function size:0x28 -fn_8005D994 = .text:0x8005D994; // type:function size:0x3C -fn_8005D9D0 = .text:0x8005D9D0; // type:function size:0x3C -fn_8005DA0C = .text:0x8005DA0C; // type:function size:0x28 -fn_8005DA34 = .text:0x8005DA34; // type:function size:0x28 -fn_8005DA5C = .text:0x8005DA5C; // type:function size:0x24 -fn_8005DA80 = .text:0x8005DA80; // type:function size:0x20 -fn_8005DAA0 = .text:0x8005DAA0; // type:function size:0x24 -fn_8005DAC4 = .text:0x8005DAC4; // type:function size:0x24 -fn_8005DAE8 = .text:0x8005DAE8; // type:function size:0x3C -fn_8005DB24 = .text:0x8005DB24; // type:function size:0x48 -fn_8005DB6C = .text:0x8005DB6C; // type:function size:0x230 -fn_8005DD9C = .text:0x8005DD9C; // type:function size:0x20 -fn_8005DDBC = .text:0x8005DDBC; // type:function size:0x2BC +BoardCameraBackup = .text:0x8005D1AC; // type:function size:0x3C +BoardCameraRestore = .text:0x8005D1E8; // type:function size:0x48 +BoardCameraScissorSet = .text:0x8005D230; // type:function size:0x54 +BoardCameraViewSet = .text:0x8005D284; // type:function size:0x2AC +BoardCameraPosGet = .text:0x8005D530; // type:function size:0x48 +BoardCameraTargetGet = .text:0x8005D578; // type:function size:0x48 +BoardCameraRotGet = .text:0x8005D5C0; // type:function size:0x48 +BoardCameraZoomGet = .text:0x8005D608; // type:function size:0x20 +BoardCameraDirGet = .text:0x8005D628; // type:function size:0xA8 +BoardCameraPointDirGet = .text:0x8005D6D0; // type:function size:0xBC +BoardCameraSet = .text:0x8005D78C; // type:function size:0x28 +BoardCameraVisibleSet = .text:0x8005D7B4; // type:function size:0x50 +BoardCameraOffsetSet = .text:0x8005D804; // type:function size:0x30 +BoardCameraTargetSetPlayer = .text:0x8005D834; // type:function size:0xB4 +BoardCameraTargetSetModel = .text:0x8005D8E8; // type:function size:0x40 +BoardCameraSTargetetSpace = .text:0x8005D928; // type:function size:0x44 +BoardCameraVecCalcFuncSet = .text:0x8005D96C; // type:function size:0x28 +BoardCameraQuakeSet = .text:0x8005D994; // type:function size:0x3C +BoardCameraQuakeReset = .text:0x8005D9D0; // type:function size:0x3C +BoardCameraTargetSet = .text:0x8005DA0C; // type:function size:0x28 +BoardCameraPosSet = .text:0x8005DA34; // type:function size:0x28 +BoardCameraAngleZoomSet = .text:0x8005DA5C; // type:function size:0x24 +BoardCameraZoomSet = .text:0x8005DA80; // type:function size:0x20 +BoardCameraAngleSet = .text:0x8005DAA0; // type:function size:0x24 +BoardCameraNearFarSet = .text:0x8005DAC4; // type:function size:0x24 +BoardCameraNearFarGet = .text:0x8005DAE8; // type:function size:0x3C +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 -fn_8005E118 = .text:0x8005E118; // type:function size:0x24C -fn_8005E364 = .text:0x8005E364; // type:function size:0x350 -fn_8005E6B4 = .text:0x8005E6B4; // type:function size:0xE4 -fn_8005E798 = .text:0x8005E798; // type:function size:0x764 -fn_8005EEFC = .text:0x8005EEFC; // type:function size:0x48 -fn_8005EF44 = .text:0x8005EF44; // type:function size:0x48 -fn_8005EF8C = .text:0x8005EF8C; // type:function size:0x170 -fn_8005F0FC = .text:0x8005F0FC; // type:function size:0x60 -fn_8005F15C = .text:0x8005F15C; // type:function size:0xC4 -fn_8005F220 = .text:0x8005F220; // type:function size:0x74 -fn_8005F294 = .text:0x8005F294; // type:function size:0x28 -fn_8005F2BC = .text:0x8005F2BC; // type:function size:0x28 -fn_8005F2E4 = .text:0x8005F2E4; // type:function size:0x48 -fn_8005F32C = .text:0x8005F32C; // type:function size:0x10C +BoardCameraInit = .text:0x8005E118; // type:function size:0x24C +BoardCameraUpdate = .text:0x8005E364; // type:function size:0x350 +BoardCameraCalcTarget = .text:0x8005E6B4; // type:function size:0xE4 +BoardCameraCalcVec = .text:0x8005E798; // type:function size:0x764 +BoardMGDoneFlagSet = .text:0x8005EEFC; // type:function size:0x48 +BoardMGDoneFlagGet = .text:0x8005EF44; // type:function size:0x48 +BoardMGExit = .text:0x8005EF8C; // type:function size:0x170 +BoardMGKill = .text:0x8005F0FC; // type:function size:0x60 +BoardMGExec = .text:0x8005F15C; // type:function size:0xC4 +BoardMGCreate = .text:0x8005F220; // type:function size:0x74 +BoardMGStartFlagSet = .text:0x8005F294; // type:function size:0x28 +BoardMGStartFlagReset = .text:0x8005F2BC; // type:function size:0x28 +BoardMGStartFlagGet = .text:0x8005F2E4; // type:function size:0x48 +BoardMTXCalcLookAt = .text:0x8005F32C; // type:function size:0x10C fn_8005F438 = .text:0x8005F438; // type:function size:0x330 fn_8005F768 = .text:0x8005F768; // type:function size:0x390 -fn_8005FAF8 = .text:0x8005FAF8; // type:function size:0x24 -fn_8005FB1C = .text:0x8005FB1C; // type:function size:0x24 -fn_8005FB40 = .text:0x8005FB40; // type:function size:0x50 -fn_8005FB90 = .text:0x8005FB90; // type:function size:0x58 -fn_8005FBE8 = .text:0x8005FBE8; // type:function size:0x134 -fn_8005FD1C = .text:0x8005FD1C; // type:function size:0x15C -fn_8005FE78 = .text:0x8005FE78; // type:function size:0x7C -fn_8005FEF4 = .text:0x8005FEF4; // type:function size:0x34 -fn_8005FF28 = .text:0x8005FF28; // type:function size:0x1C0 -fn_800600E8 = .text:0x800600E8; // type:function size:0x6C -fn_80060154 = .text:0x80060154; // type:function size:0xD4 -fn_80060228 = .text:0x80060228; // type:function size:0x174 -fn_8006039C = .text:0x8006039C; // type:function size:0x5C -fn_800603F8 = .text:0x800603F8; // type:function size:0x34 -fn_8006042C = .text:0x8006042C; // type:function size:0x178 -fn_800605A4 = .text:0x800605A4; // type:function size:0x350 +BoardRandInit = .text:0x8005FAF8; // type:function size:0x24 +BoardRand = .text:0x8005FB1C; // type:function size:0x24 +BoardRandMod = .text:0x8005FB40; // type:function size:0x50 +BoardRandFloat = .text:0x8005FB90; // type:function size:0x58 +BoardVecMagXZCalc = .text:0x8005FBE8; // type:function size:0x134 +BoardVecMagXZCheck = .text:0x8005FD1C; // type:function size:0x15C +BoardVecCalcDAngleVec = .text:0x8005FE78; // type:function size:0x7C +BoardVecCalcDAngle = .text:0x8005FEF4; // type:function size:0x34 +BoardVecCalcDAngleMod = .text:0x8005FF28; // type:function size:0x1C0 +BoardVecMag2Check = .text:0x800600E8; // type:function size:0x6C +BoardFilterFadeOut = .text:0x80060154; // type:function size:0xD4 +BoardFilterFadeIn = .text:0x80060228; // type:function size:0x174 +BoardFilterFadeIsDone = .text:0x8006039C; // type:function size:0x5C +BoardFilterFadeAlive = .text:0x800603F8; // type:function size:0x34 +BoardFilterFadeUpdate = .text:0x8006042C; // type:function size:0x178 +BoardFilterFadeDraw = .text:0x800605A4; // type:function size:0x350 fn_800608F4 = .text:0x800608F4; // type:function size:0x164 fn_80060A58 = .text:0x80060A58; // type:function size:0x24 fn_80060A7C = .text:0x80060A7C; // type:function size:0x88 @@ -1092,9 +1092,9 @@ fn_80060B04 = .text:0x80060B04; // type:function size:0xB8 fn_80060BBC = .text:0x80060BBC; // type:function size:0x564 fn_80061120 = .text:0x80061120; // type:function size:0x14C fn_8006126C = .text:0x8006126C; // type:function size:0x254 -fn_800614C0 = .text:0x800614C0; // type:function size:0x2B4 -fn_80061774 = .text:0x80061774; // type:function size:0x2AC -fn_80061A20 = .text:0x80061A20; // type:function size:0xAC +BoardTurnRemainInit = .text:0x800614C0; // type:function size:0x2B4 +BoardTurnRemainUpdate = .text:0x80061774; // type:function size:0x2AC +BoardTurnRemainHide = .text:0x80061A20; // type:function size:0xAC fn_80061ACC = .text:0x80061ACC; // type:function size:0x80 fn_80061B4C = .text:0x80061B4C; // type:function size:0x54 fn_80061BA0 = .text:0x80061BA0; // type:function size:0x3A4 @@ -5139,11 +5139,11 @@ jumptable_80139720 = .data:0x80139720; // type:object size:0x34 scope:local bmpMes$493 = .data:0x80139754; // type:object size:0x18 scope:local lbl_8013976C = .data:0x8013976C; // type:object size:0x13 data:string lbl_8013977F = .data:0x8013977F; // type:object size:0x19 -lbl_80139798 = .data:0x80139798; // type:object size:0x24 +camViewTbl = .data:0x80139798; // type:object size:0x24 scope:local jumptable_801397BC = .data:0x801397BC; // type:object size:0x24 scope:local lbl_801397E0 = .data:0x801397E0; // type:object size:0x48 -lbl_80139828 = .data:0x80139828; // type:object size:0xC -lbl_80139834 = .data:0x80139834; // type:object size:0x30 +turnRemainSprTbl = .data:0x80139828; // type:object size:0xC scope:local +turnRemainSprPosTbl = .data:0x80139834; // type:object size:0x30 scope:local lbl_80139864 = .data:0x80139864; // type:object size:0x10 lbl_80139874 = .data:0x80139874; // type:object size:0x24 lbl_80139898 = .data:0x80139898; // type:object size:0x10 @@ -5495,8 +5495,8 @@ padStat$377 = .bss:0x8019C460; // type:object size:0x30 scope:local ToeMessageArray = .bss:0x8019C490; // type:object size:0x40 scope:local ToeThread = .bss:0x8019C4D0; // type:object size:0x310 scope:local align:8 ToeThreadStack = .bss:0x8019C7E0; // type:object size:0x1000 scope:local -lbl_8019D7E0 = .bss:0x8019D7E0; // type:object size:0xC4 data:byte -lbl_8019D8A4 = .bss:0x8019D8A4; // type:object size:0xC4 +boardCamera = .bss:0x8019D7E0; // type:object size:0xC4 data:byte +boardCameraBackup = .bss:0x8019D8A4; // type:object size:0xC4 lbl_8019D968 = .bss:0x8019D968; // type:object size:0x10 lbl_8019D978 = .bss:0x8019D978; // type:object size:0x10 lbl_8019D988 = .bss:0x8019D988; // type:object size:0x10 @@ -5771,11 +5771,8 @@ saveMessWin = .sdata:0x801D3650; // type:object size:0x4 scope:local data:4byte SR_PushTime = .sdata:0x801D3658; // type:object size:0x8 scope:local data:2byte SR_ResetPad = .sdata:0x801D3660; // type:object size:0x1 scope:local data:byte Xfb = .sdata:0x801D3664; // type:object size:0x8 scope:local data:4byte -lbl_801D3670 = .sdata:0x801D3670; // type:object size:0x4 data:4byte -lbl_801D3674 = .sdata:0x801D3674; // type:object size:0x1 data:byte -lbl_801D3675 = .sdata:0x801D3675; // type:object size:0x1 data:byte -lbl_801D3676 = .sdata:0x801D3676; // type:object size:0x1 data:byte -lbl_801D3677 = .sdata:0x801D3677; // type:object size:0x1 data:byte +boardNextScene = .sdata:0x801D3670; // type:object size:0x4 scope:local data:4byte +filterColor = .sdata:0x801D3674; // type:object size:0x4 scope:local data:byte lbl_801D3678 = .sdata:0x801D3678; // type:object size:0x8 lbl_801D3680 = .sdata:0x801D3680; // type:object size:0x2 data:2byte lbl_801D3682 = .sdata:0x801D3682; // type:object size:0x2 data:2byte @@ -6249,25 +6246,25 @@ trychkBusyWait = .sbss:0x801D3EC4; // type:object size:0x4 scope:local data:4byt XfbProg = .sbss:0x801D3EC8; // type:object size:0x4 scope:local data:4byte XfbH = .sbss:0x801D3ECC; // type:object size:0x2 scope:local data:2byte XfbW = .sbss:0x801D3ECE; // type:object size:0x2 scope:local data:2byte -lbl_801D3ED0 = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte -lbl_801D3ED4 = .sbss:0x801D3ED4; // type:object size:0x4 data:4byte -lbl_801D3ED8 = .sbss:0x801D3ED8; // type:object size:0x4 data:4byte +boardMainProc = .sbss:0x801D3ED0; // type:object size:0x4 data:4byte +boardObjMan = .sbss:0x801D3ED4; // type:object size:0x4 data:4byte +boardCameraObj = .sbss:0x801D3ED8; // type:object size:0x4 data:4byte lbl_801D3EDC = .sbss:0x801D3EDC; // type:object size:0x4 data:4byte -lbl_801D3EE0 = .sbss:0x801D3EE0; // type:object size:0x4 data:4byte -lbl_801D3EE4 = .sbss:0x801D3EE4; // type:object size:0x4 data:4byte -lbl_801D3EE8 = .sbss:0x801D3EE8; // type:object size:0x4 data:4byte +boardCameraUseBackup = .sbss:0x801D3EE0; // type:object size:0x4 data:4byte +boardCreateFunc = .sbss:0x801D3EE4; // type:object size:0x4 scope:local data:4byte +boardDestroyFunc = .sbss:0x801D3EE8; // type:object size:0x4 scope:local data:4byte lbl_801D3EEC = .sbss:0x801D3EEC; // type:object size:0x4 data:4byte lbl_801D3EF0 = .sbss:0x801D3EF0; // type:object size:0x4 data:4byte -lbl_801D3EF4 = .sbss:0x801D3EF4; // type:object size:0x4 data:4byte +boardTurnFunc = .sbss:0x801D3EF4; // type:object size:0x4 data:4byte lbl_801D3EF8 = .sbss:0x801D3EF8; // type:object size:0x4 data:4byte lbl_801D3EFC = .sbss:0x801D3EFC; // type:object size:0x4 data:4byte lbl_801D3F00 = .sbss:0x801D3F00; // type:object size:0x4 data:4byte -lbl_801D3F04 = .sbss:0x801D3F04; // type:object size:0x4 data:4byte -lbl_801D3F08 = .sbss:0x801D3F08; // type:object size:0x4 data:4byte +boardPlayerEffect = .sbss:0x801D3F04; // type:object size:0x4 data:4byte +boardFilterObj = .sbss:0x801D3F08; // type:object size:0x4 data:4byte lbl_801D3F0C = .sbss:0x801D3F0C; // type:object size:0x4 data:4byte -lbl_801D3F10 = .sbss:0x801D3F10; // type:object size:0x4 data:4byte +boardTurnRemainObj = .sbss:0x801D3F10; // type:object size:0x4 data:4byte boardRandSeed = .sbss:0x801D3F14; // type:object size:0x4 data:4byte -lbl_801D3F18 = .sbss:0x801D3F18; // type:object size:0x8 data:4byte +boardMainObj = .sbss:0x801D3F18; // type:object size:0x8 data:4byte lbl_801D3F20 = .sbss:0x801D3F20; // type:object size:0x4 data:4byte lbl_801D3F24 = .sbss:0x801D3F24; // type:object size:0x4 data:4byte lbl_801D3F28 = .sbss:0x801D3F28; // type:object size:0x4 data:4byte diff --git a/configure.py b/configure.py index 30bed484..7e132159 100644 --- a/configure.py +++ b/configure.py @@ -270,7 +270,7 @@ config.libs = [ Object(Matching, "game/messdata.c"), Object(Matching, "game/card.c"), Object(Matching, "game/armem.c"), - Object(NonMatching, "game/code_800498F0.c"), + Object(NonMatching, "game/chrman.c"), Object(NonMatching, "game/mapspace.c"), Object(NonMatching, "game/THPSimple.c"), Object(NonMatching, "game/THPDraw.c"), @@ -308,6 +308,7 @@ config.libs = [ Object(NonMatching, "game/board/pause.c"), Object(NonMatching, "game/board/com_path.c"), Object(NonMatching, "game/board/tutorial.c"), + Object(NonMatching, "game/kerent.c"), ], }, DolphinLib( diff --git a/include/functions.h b/include/functions.h index 7a94d857..ceccdb8a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -49,13 +49,13 @@ void BoardWinWait(void); s32 rand8(void); -void fn_8005D8E8(void); -void fn_8005DB6C(s16, Vec*, s32, f32, f32, s32); +void BoardCameraTargetSetModel(s16 model); +void BoardCameraStartMotion2(s16, Vec*, s32, f32, f32, s32); void fn_8005E0C0(void); void fn_80074210(s32, s32, Vec*); void fn_8007A360(s32); void fn_8007F894(void); -void fn_80083F84(void); +s16 fn_80083F84(void); void fn_800884F4(s32); void fn_800A4C88(void); void fn_800A6B10(void); @@ -69,7 +69,7 @@ f32 fn_8006F128(s32); void fn_8006F61C(s16, s32); void fn_800B42BC(s16); s32 fn_8006DBD4(s16); -void fn_8005B150(void*, void*); +void BoardInit(void*, void*); void fn_8006F2E8(s32, Vec*); void fn_8005D10C(void*, void*); s16 fn_8006D9A4(s32, void*, s32); @@ -93,7 +93,7 @@ void fn_80083EDC(s16); void fn_800A4F6C(s16); void fn_800B3FD8(void*); void fn_800B4274(s32, s32); -void fn_8005D5C0(Vec*); +void BoardCameraRotGet(Vec*); void fn_8006F338(s16, f32, f32, f32); s32 fn_8005B6A8(void); void fn_8006EFBC(s16, Mtx); diff --git a/include/game/hsfman.h b/include/game/hsfman.h index 7cbb468d..2007f91a 100644 --- a/include/game/hsfman.h +++ b/include/game/hsfman.h @@ -208,7 +208,7 @@ void Hu3DCameraPerspectiveSet(s32, f32, f32, f32, f32); void Hu3DCameraViewportSet(s32, f32, f32, f32, f32, f32, f32); void Hu3DCameraScissorSet(s32, s32, s32, s32, s32); void Hu3DCameraPosSet(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32); -void Hu3DCameraPosSetV(s32, Vec, Vec, Vec); +void Hu3DCameraPosSetV(s32 cam, Vec *pos, Vec *up, Vec *target); void Hu3DCameraKill(s32); void Hu3DCameraAllKill(void); void Hu3DCameraSet(s32, Mtx); diff --git a/src/REL/w10Dll/w10Dll2.c b/src/REL/w10Dll/w10Dll2.c index 72ceaee4..9c806452 100644 --- a/src/REL/w10Dll/w10Dll2.c +++ b/src/REL/w10Dll/w10Dll2.c @@ -53,7 +53,7 @@ void fn_1_C20(void) { } Hu3D2Dto3D(&lbl_1_data_80[lbl_1_bss_1C], 1, &sp14); fn_8006F158(lbl_1_bss_1E, &sp14); - fn_8005D5C0(&sp8); + 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); diff --git a/src/REL/w10Dll/w10Dll3.c b/src/REL/w10Dll/w10Dll3.c index 21d5cf1b..39d76c2f 100644 --- a/src/REL/w10Dll/w10Dll3.c +++ b/src/REL/w10Dll/w10Dll3.c @@ -185,33 +185,32 @@ void fn_1_13A4(void) { temp_r3_2 = fn_800745F0(0, 0x80000); fn_80074210(0, temp_r3_2, &sp14); fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); fn_1_BA0(0x2E002C); fn_8007A360(temp_r3_2); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); temp_r3_2 = fn_800745F0(0, 0x10000000); fn_80074210(0, temp_r3_2, &sp14); fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); fn_1_BA0(0x2E002E); fn_8007F894(); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); temp_r3_2 = fn_800745F0(0, 0x08000000); fn_80074210(0, temp_r3_2, &sp14); fn_8006F158(lbl_1_bss_0->unk8, &sp14); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); fn_1_BA0(0x2E0030); fn_800A6B10(); - fn_8005DB6C(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); + BoardCameraStartMotion2(lbl_1_bss_0->unk8, &sp8, 0, 3200.0f, -1.0f, 0x1E); fn_8005E0C0(); fn_1_BA0(0x2E0032); - fn_80083F84(); - fn_8005D8E8(); + BoardCameraTargetSetModel(fn_80083F84()); fn_8005E0C0(); fn_1_BA0(0x2E0033); fn_1_BA0(0x2E0034); @@ -229,7 +228,7 @@ void fn_1_13A4(void) { if (lbl_1_bss_C == 0) { lbl_1_bss_C = 1; fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); + BoardKill(); } fn_800B3FD8(NULL); while (1) { diff --git a/src/REL/w10Dll/w10Dll4.c b/src/REL/w10Dll/w10Dll4.c index 4f0376d9..a5232ba6 100644 --- a/src/REL/w10Dll/w10Dll4.c +++ b/src/REL/w10Dll/w10Dll4.c @@ -153,7 +153,7 @@ void fn_1_1984(void) { lbl_1_bss_C = 1; OSReport(lbl_1_data_98); fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); + BoardKill(); fn_800B3FD8(NULL); } } @@ -182,7 +182,7 @@ int fn_1_1AAC(s16 arg0, s32 arg1) { lbl_1_bss_C = 1; OSReport(lbl_1_data_98); fn_80070EE8(0, 0x1F3); - fn_8005B5FC(); + BoardKill(); fn_800B3FD8(NULL); } } diff --git a/src/REL/w10Dll/w10Dll_init.c b/src/REL/w10Dll/w10Dll_init.c index ed4247bb..558cb29c 100644 --- a/src/REL/w10Dll/w10Dll_init.c +++ b/src/REL/w10Dll/w10Dll_init.c @@ -1,7 +1,7 @@ #include "include/REL/w10Dll.h" void fn_1_0(void) { - fn_8005B150(&fn_1_E0, &fn_1_6D8); + BoardInit(&fn_1_E0, &fn_1_6D8); } int _prolog(void) { @@ -10,7 +10,7 @@ int _prolog(void) { (**ctors)(); ctors++; } - fn_8005B150(&fn_1_E0, &fn_1_6D8); + fn_1_0(); return 0; } diff --git a/src/game/hsfman.c b/src/game/hsfman.c index d15e4893..4731a093 100644 --- a/src/game/hsfman.c +++ b/src/game/hsfman.c @@ -1165,7 +1165,7 @@ void Hu3DCameraPosSet(s32 cam, f32 x, f32 y, f32 z, f32 ux, f32 uy, f32 uz, f32 } } -void Hu3DCameraPosSetV(s32 cam, Vec pos, Vec up, Vec target) { +void Hu3DCameraPosSetV(s32 cam, Vec *pos, Vec *up, Vec *target) { s16 mask; s16 i; CameraData* cam_ptr; @@ -1173,9 +1173,9 @@ void Hu3DCameraPosSetV(s32 cam, Vec pos, Vec up, Vec target) { for (i = 0, mask = 1; i < 0x10; i++, mask <<= 1) { if ((cam & mask) != 0) { cam_ptr = &Hu3DCamera[i]; - cam_ptr->pos = pos; - cam_ptr->up = up; - cam_ptr->target = target; + cam_ptr->pos = *pos; + cam_ptr->up = *up; + cam_ptr->target = *target; } } }