Clean up board/player.c

BoardDiceDigit2DShowSet still needs to be renamed to BoardRollDispSet but this requires changing quite a few translation units.
This commit is contained in:
gamemasterplc 2024-06-09 10:43:30 -05:00
parent 9a4cbc4230
commit 933e2ab693
9 changed files with 55 additions and 75 deletions

View file

@ -1183,13 +1183,13 @@ BoardPlayerDiceJumpCheck = .text:0x80067760; // type:function size:0x54
DiceJumpFunc = .text:0x800677B4; // type:function size:0x3E4 scope:local
BoardPlayerIdleSet = .text:0x80067B98; // type:function size:0xF8
BoardPlayerMotBlendSet = .text:0x80067C90; // type:function size:0x5A0
BoardPlayerMotBlendExec = .text:0x80068230; // type:function size:0x51C
ExecMotBlend = .text:0x80068230; // type:function size:0x51C scope:local
BoardPlayerMotBlendCheck = .text:0x8006874C; // type:function size:0x2C
BoardDiceDigit2DInit = .text:0x80068778; // type:function size:0x138
BoardDiceDigit2DUpdateEnable = .text:0x800688B0; // type:function size:0x38
BoardRollCreate = .text:0x80068778; // type:function size:0x138
BoardRollUpdateSet = .text:0x800688B0; // type:function size:0x38
BoardDiceDigit2DShowSet = .text:0x800688E8; // type:function size:0x10C
UpdateDiceDigitSprite = .text:0x800689F4; // type:function size:0x194 scope:local
UpdateDiceDigit2D = .text:0x80068B88; // type:function size:0x278 scope:local
UpdateRollSprite = .text:0x800689F4; // type:function size:0x194 scope:local
UpdateRoll = .text:0x80068B88; // type:function size:0x278 scope:local
BoardPlayerBtnDownWait = .text:0x80068E00; // type:function size:0x6C
BoardPlayerAutoSizeSet = .text:0x80068E6C; // type:function size:0x9C
BoardPlayerAutoSizeGet = .text:0x80068F08; // type:function size:0x40
@ -4163,7 +4163,7 @@ lbl_801398F0 = .data:0x801398F0; // type:object size:0xE data:string
lbl_801398FE = .data:0x801398FE; // type:object size:0xE data:string
lbl_8013990C = .data:0x8013990C; // type:object size:0x18 data:string
lbl_80139924 = .data:0x80139924; // type:object size:0x18 data:string
lbl_8013993C = .data:0x8013993C; // type:object size:0x40
eyeMatTbl = .data:0x8013993C; // type:object size:0x40 scope:local
lbl_8013997C = .data:0x8013997C; // type:object size:0x20
boardMotTbl = .data:0x8013999C; // type:object size:0x20 scope:local
boardMotRevTbl = .data:0x801399BC; // type:object size:0x20 scope:local
@ -5347,7 +5347,7 @@ rollResized = .sbss:0x801D3F20; // type:object size:0x4 scope:local data:4byte
bowserSuitObj = .sbss:0x801D3F24; // type:object size:0x4 scope:local data:4byte
junctionMask = .sbss:0x801D3F28; // type:object size:0x4 scope:local data:4byte
junctionObj = .sbss:0x801D3F2C; // type:object size:0x4 scope:local data:4byte
diceDigit2DObj = .sbss:0x801D3F30; // type:object size:0x4 scope:local data:4byte
rollObj = .sbss:0x801D3F30; // type:object size:0x4 scope:local data:4byte
moveAwayObj = .sbss:0x801D3F34; // type:object size:0x4 scope:local data:4byte
junctionArrowRot = .sbss:0x801D3F38; // type:object size:0x8 scope:local
moveAwayPlayer = .sbss:0x801D3F40; // type:object size:0x4 scope:local data:byte

View file

@ -20,33 +20,17 @@ static inline s32 BoardPlayerHandicapGet(s32 player)
return GWPlayer[player].handicap;
}
static inline s32 BoardPlayerGetCurrIdx()
{
return GWSystem.player_curr;
}
static inline PlayerState *BoardPlayerGet(s32 player)
{
return &GWPlayer[player];
}
static inline PlayerState *BoardPlayerGetCurr()
{
return &GWPlayer[BoardPlayerGetCurrIdx()];
}
static inline s16 BoardPlayerModelGet(s32 player)
{
PlayerState *player_ptr = BoardPlayerGet(player);
return boardPlayerMdl[player_ptr->player_idx];
}
static inline s16 BoardPlayerModelGetCurr()
{
PlayerState *player = BoardPlayerGetCurr();
return boardPlayerMdl[player->player_idx];
}
s32 BoardRollTypeGet(void);
void BoardRollTypeSet(s32 type);
s32 BoardPlayerGetCharMess(s32 player);
@ -131,14 +115,13 @@ void BoardPlayerMoveAwayStartCurr(s32, s32);
void BoardPlayerCopyMat(s32);
void BoardBowserSuitMotionSetJump(void);
//...
void BoardPlayerMotBlendExec(omObjData*);
s32 BoardPlayerAutoSizeGet(s32);
void BoardPlayerAutoSizeSet(s32, s32);
void BoardPlayerCopyMat(s32);
void BoardBowserSuitInit(s32);
void BoardBowserSuitKill(s32);
void BoardDiceDigit2DInit(s32, s32);
void BoardDiceDigit2DUpdateEnable(s32);
void BoardRollCreate(s32, s32);
void BoardRollUpdateSet(s32);
void BoardPlayerResizeAnimExec(s32 player, s32 size);
s32 BoardPlayerAnimBlendCheck(s32);
s16 BoardBowserSuitPlayerModelGet(void);

View file

@ -1717,7 +1717,7 @@ static void fn_1_63F0(Bss18Work *arg0, omObjData *arg1) {
if (GWPlayer[GWSystem.player_curr].bowser_suit) {
BoardModelHookSet(arg0->unk04, lbl_1_data_604[lbl_1_bss_28], BoardBowserSuitModelGet());
} else {
BoardModelHookSet(arg0->unk04, lbl_1_data_604[lbl_1_bss_28], BoardPlayerModelGetCurr());
BoardModelHookSet(arg0->unk04, lbl_1_data_604[lbl_1_bss_28], BoardPlayerModelGet(GWSystem.player_curr));
}
var_r24 = lbl_1_bss_6C4[lbl_1_data_5DC[lbl_1_bss_29][lbl_1_bss_28]];
if (arg0->unk00_field3 != 0) {

View file

@ -172,7 +172,7 @@ void fn_1_91D8(void) {
}
void fn_1_9294(s32 arg0, s32 arg1) {
BoardDiceDigit2DInit(arg0, 0);
BoardRollCreate(arg0, 0);
fn_1_92D8(arg0, arg1);
}
@ -575,7 +575,7 @@ static void fn_1_A408(s32 arg0) {
GWSystem.mg_next = 0x39;
}
_SetFlag(FLAG_ID_MAKE(1, 6));
BoardDiceDigit2DUpdateEnable(arg0);
BoardRollUpdateSet(arg0);
if (!_CheckFlag(FLAG_ID_MAKE(1, 12))) {
GWPlayer->coin_win = 0;
}
@ -620,7 +620,7 @@ static void fn_1_A408(s32 arg0) {
_ClearFlag(FLAG_ID_MAKE(1, 6));
BoardCameraViewSet(1);
BoardCameraMotionWait();
BoardDiceDigit2DInit(arg0, 0);
BoardRollCreate(arg0, 0);
} else {
BoardNextOvlSet(var_r29);
}

View file

@ -794,7 +794,7 @@ void BoardCameraViewSet(s32 type)
} else {
size = 1.0f;
}
BoardCameraTargetModelSet(BoardPlayerModelGetCurr());
BoardCameraTargetModelSet(BoardPlayerModelGet(GWSystem.player_curr));
BoardPlayerPosGet(GWSystem.player_curr, &focus->target_end);
BoardCameraOffsetSet(0.0f, 100.0f*size, 0.0f);
focus->target_end.y += 100.0f*size;

View file

@ -30,8 +30,8 @@ static s32 ExecJunction(s32, s16*);
static void PlayerPosLerpFunc(omObjData*);
static void DiceJumpFunc(omObjData*);
static void UpdateDiceDigitSprite(omObjData*);
static void UpdateDiceDigit2D(omObjData*);
static void UpdateRollSprite(omObjData*);
static void UpdateRoll(omObjData*);
static void MoveAwayObjFunc(omObjData*);
static void MoveAwayObjFunc(omObjData*);
@ -71,7 +71,7 @@ static s8 rollType;
static s8 moveAwayPlayer[4];
static s16 junctionArrowRot[4];
static omObjData* moveAwayObj;
static omObjData* diceDigit2DObj;
static omObjData* rollObj;
static omObjData* junctionObj;
static s32 junctionMask;
static omObjData* bowserSuitObj;
@ -84,7 +84,7 @@ static s16 suitCurrMot = -1;
static omObjData* diceJumpObj[4] = {0, 0, 0, 0};
static omObjData* motDoneF[4] = {0, 0, 0, 0};
static s16 bowserSuitMot[5] = {-1, -1, -1, -1, -1};
char* lbl_8013993C[8][2] = {
static char* eyeMatTbl[8][2] = {
{ "eye1", "eye2" },
{ "eye1", "eye2" },
{ "mat14", "mat16" },
@ -141,9 +141,7 @@ static s32 boardSparkSfxTblAlt[] = {
0x223, 0x263, 0x2A3, 0x2E3,
};
static omObjData *megaSquishObj[] = {
0, 0, 0, 0,
};
static omObjData *megaSquishObj[4] = {};
static s32 megaSquishSfxTbl[] = {
0x128, 0x168, 0x1A8, 0x1E8,
@ -696,7 +694,7 @@ void BoardPlayerTurnExec(s32 arg0) {
if (_CheckFlag(0x10006U) == 0) {
BoardCameraViewSet(2);
omVibrate((s16) arg0, 0xC, 4, 2);
rollType = -1;
BoardRollTypeSet(-1);
BoardYourTurnExec(arg0);
rollResized = 0;
SetRollPlayerSize(arg0);
@ -716,10 +714,6 @@ void BoardPlayerTurnExec(s32 arg0) {
BoardPlayerTurnMoveExec(arg0);
}
static inline s32 PlayerItemUseExec(s32 arg0) {
return BoardItemUseExec(arg0);
}
void BoardPlayerTurnRollExec(s32 arg0) {
s32 temp_r28;
s32 temp_r30;
@ -735,7 +729,7 @@ void BoardPlayerTurnRollExec(s32 arg0) {
BoardRollKill();
BoardCameraTargetPlayerSet(arg0);
BoardCameraMotionWait();
rollType = PlayerItemUseExec(arg0);
BoardRollTypeSet(BoardItemUseExec(arg0));
if (BoardRollTypeGet() == 0xC) {
_SetFlag(0x10016);
BoardSpaceLandExec(arg0, GWPlayer[arg0].space_curr);
@ -830,7 +824,7 @@ block_14:
if (--GWPlayer[arg0].roll == 0) break;
} while (1);
BoardPauseDisableSet(1);
BoardDiceDigit2DUpdateEnable(arg0);
BoardRollUpdateSet(arg0);
BoardPlayerIdleSet(arg0);
if (GWPlayer[arg0].bowser_suit != 0) {
BoardCameraTargetPlayerSet(arg0);
@ -843,7 +837,7 @@ block_14:
while (BoardItemDoneCheck() == 0) {
HuPrcVSleep();
}
rollType = -1;
BoardRollTypeSet(-1);
}
BoardPlayerSizeRestore(arg0);
rollResized = 0;
@ -1762,6 +1756,8 @@ void BoardPlayerIdleSet(s32 arg0)
BoardPlayerMotionShiftSet(arg0, 1, 0.0f, 8.0f, 0x40000001);
}
static void ExecMotBlend(omObjData *arg0);
void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) {
s16 sp1C;
f32 temp_f25;
@ -1792,7 +1788,7 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) {
}
if (arg2 > 0) {
var_r18 = GWPlayer[arg0].character;
temp_r3 = omAddObjEx(boardObjMan, 0x100, 0, 0, -1, &BoardPlayerMotBlendExec);
temp_r3 = omAddObjEx(boardObjMan, 0x100, 0, 0, -1, ExecMotBlend);
temp_r26 = OM_GET_WORK_PTR(temp_r3, bitcopy2);
temp_r26->field00_bit0 = 0;
temp_r26->unk_02 = arg2;
@ -1843,7 +1839,7 @@ void BoardPlayerMotBlendSet(s32 arg0, s16 arg1, s16 arg2) {
}
}
void BoardPlayerMotBlendExec(omObjData* arg0) {
static void ExecMotBlend(omObjData* arg0) {
f32 sp48;
f32 var_f27;
bitcopy2* temp_r30;
@ -1900,13 +1896,13 @@ typedef struct bitcopy3 {
s16 unk_06[5];
} bitcopy3;
void BoardDiceDigit2DInit(s32 arg0, s32 arg1) {
void BoardRollCreate(s32 arg0, s32 arg1) {
omObjData* temp_r3;
s32 var_r30;
bitcopy3* temp_r31;
temp_r3 = omAddObjEx(boardObjMan, 0x105, 0, 0, -1, &UpdateDiceDigit2D);
temp_r31 = OM_GET_WORK_PTR(temp_r3, bitcopy3);;
temp_r3 = omAddObjEx(boardObjMan, 0x105, 0, 0, -1, &UpdateRoll);
temp_r31 = OM_GET_WORK_PTR(temp_r3, bitcopy3);
temp_r31->field00_bit0 = 0;
temp_r31->field00_bit1 = 1;
temp_r31->unk_01 = 0;
@ -1924,14 +1920,14 @@ void BoardDiceDigit2DInit(s32 arg0, s32 arg1) {
HuSprPosSet(temp_r31->unk_04, var_r30, 288.0f, 240.0f);
HuSprAttrSet(temp_r31->unk_04, var_r30, 4);
}
diceDigit2DObj = temp_r3;
rollObj = temp_r3;
}
void BoardDiceDigit2DUpdateEnable(s32 arg0) {
void BoardRollUpdateSet(s32 arg0) {
bitcopy3* temp_r31;
if (diceDigit2DObj != 0) {
temp_r31 = OM_GET_WORK_PTR(diceDigit2DObj, bitcopy3);
if (rollObj != 0) {
temp_r31 = OM_GET_WORK_PTR(rollObj, bitcopy3);
temp_r31->field00_bit0 = 1;
}
}
@ -1940,8 +1936,8 @@ void BoardDiceDigit2DShowSet(s32 arg0) {
s32 var_r30;
bitcopy3* temp_r31;
if (diceDigit2DObj != 0) {
temp_r31 = OM_GET_WORK_PTR(diceDigit2DObj, bitcopy3);
if (rollObj != 0) {
temp_r31 = OM_GET_WORK_PTR(rollObj, bitcopy3);
for (var_r30 = 0; var_r30 < 2; var_r30++) {
if (arg0 != 0) {
@ -1956,11 +1952,11 @@ void BoardDiceDigit2DShowSet(s32 arg0) {
HuSprAttrSet(temp_r31->unk_04, var_r30, 4);
}
}
UpdateDiceDigitSprite(diceDigit2DObj);
UpdateRollSprite(rollObj);
}
}
static void UpdateDiceDigitSprite(omObjData* arg0) {
static void UpdateRollSprite(omObjData* arg0) {
Vec sp1C;
s32 sp14[2];
f32 spC[2] = { 320.0f, 256.0f };
@ -1994,17 +1990,17 @@ static void UpdateDiceDigitSprite(omObjData* arg0) {
}
}
static void UpdateDiceDigit2D(omObjData* arg0) {
static void UpdateRoll(omObjData* arg0) {
f32 var_f30;
bitcopy3* temp_r30;
temp_r30 = OM_GET_WORK_PTR(diceDigit2DObj, bitcopy3);
temp_r30 = OM_GET_WORK_PTR(rollObj, bitcopy3);
if ((temp_r30->field00_bit0 != 0) || (BoardIsKill() != 0)) {
if (temp_r30->unk_04 != -1) {
HuSprGrpKill(temp_r30->unk_04);
temp_r30->unk_04 = -1;
}
diceDigit2DObj = NULL;
rollObj = NULL;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
@ -2020,7 +2016,7 @@ static void UpdateDiceDigit2D(omObjData* arg0) {
var_f30 -= 90.0f;
}
}
UpdateDiceDigitSprite(arg0);
UpdateRollSprite(arg0);
}
void BoardPlayerBtnDownWait(s32 arg0, u32 arg1) {
@ -2231,7 +2227,7 @@ void BoardBowserSuitPlayerModelKill(void) {
}
}
void UpdateBowserSuit(omObjData* arg0) {
static void UpdateBowserSuit(omObjData* arg0) {
s16 temp_r30;
bitcopy3* temp_r31;
@ -2359,7 +2355,7 @@ static s32 DoSparkSpace(s32 player, s32 pause_cam)
while(!BoardItemDoneCheck()) {
HuPrcVSleep();
}
rollType = -1;
BoardRollTypeSet(-1);
}
if(rollResized) {
BoardPlayerSizeRestore(player);
@ -2850,7 +2846,7 @@ void BoardPlayerCopyEyeMat(s32 arg0, s32 arg1) {
material = hsfData->material;
var_r29 = playerMatCopy[arg0];
if (arg1 != 0) {
temp_r28 = &lbl_8013993C[GWPlayer[arg0].character][0];
temp_r28 = &eyeMatTbl[GWPlayer[arg0].character][0];
for (var_r25 = 0; var_r25 < hsfData->materialCnt; var_r25++, material++, var_r29++) {
var_r24 = 1;

View file

@ -296,7 +296,7 @@ static void RollMain(void) {
}
destMode = var_r30;
GWPlayer[rollPlayer].roll = var_r30;
BoardDiceDigit2DInit(rollPlayer, 1);
BoardRollCreate(rollPlayer, 1);
if (_CheckFlag(0x1000B)) {
BoardTutorialHookExec(6, 0);
}

View file

@ -2,6 +2,7 @@
#include "game/hsfanim.h"
#include "game/hsfformat.h"
#include "game/hsfload.h"
#include "game/sprite.h"
#include "ext_math.h"
#include "string.h"

View file

@ -918,8 +918,8 @@ void BoardPlayerPosLerpStart(void);
void BoardPlayerMoveToAsync(void);
void BoardPlayerDiceJumpStart(void);
void BoardPlayerDiceJumpCheck(void);
void BoardDiceDigit2DInit(void);
void BoardDiceDigit2DUpdateEnable(void);
void BoardRollCreate(void);
void BoardRollUpdateSet(void);
void BoardDiceDigit2DShowSet(void);
void BoardPlayerBtnDownWait(void);
void BoardPlayerAutoSizeSet(void);
@ -1935,8 +1935,8 @@ extern void _kerjmp_BoardPlayerPosLerpStart(void);
extern void _kerjmp_BoardPlayerMoveToAsync(void);
extern void _kerjmp_BoardPlayerDiceJumpStart(void);
extern void _kerjmp_BoardPlayerDiceJumpCheck(void);
extern void _kerjmp_BoardDiceDigit2DInit(void);
extern void _kerjmp_BoardDiceDigit2DUpdateEnable(void);
extern void _kerjmp_BoardRollCreate(void);
extern void _kerjmp_BoardRollUpdateSet(void);
extern void _kerjmp_BoardDiceDigit2DShowSet(void);
extern void _kerjmp_BoardPlayerBtnDownWait(void);
extern void _kerjmp_BoardPlayerAutoSizeSet(void);
@ -3875,10 +3875,10 @@ asm void _kerent(void) {
b BoardPlayerDiceJumpStart
entry _kerjmp_BoardPlayerDiceJumpCheck
b BoardPlayerDiceJumpCheck
entry _kerjmp_BoardDiceDigit2DInit
b BoardDiceDigit2DInit
entry _kerjmp_BoardDiceDigit2DUpdateEnable
b BoardDiceDigit2DUpdateEnable
entry _kerjmp_BoardRollCreate
b BoardRollCreate
entry _kerjmp_BoardRollUpdateSet
b BoardRollUpdateSet
entry _kerjmp_BoardDiceDigit2DShowSet
b BoardDiceDigit2DShowSet
entry _kerjmp_BoardPlayerBtnDownWait