diff --git a/config/GMPE01_00/symbols.txt b/config/GMPE01_00/symbols.txt index 18e32acf..c23a34d9 100644 --- a/config/GMPE01_00/symbols.txt +++ b/config/GMPE01_00/symbols.txt @@ -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 diff --git a/include/game/board/player.h b/include/game/board/player.h index 03467958..45a66c53 100644 --- a/include/game/board/player.h +++ b/include/game/board/player.h @@ -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); diff --git a/src/REL/w01Dll/main.c b/src/REL/w01Dll/main.c index 615dce8c..da46efb7 100755 --- a/src/REL/w01Dll/main.c +++ b/src/REL/w01Dll/main.c @@ -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) { diff --git a/src/REL/w06Dll/bowser.c b/src/REL/w06Dll/bowser.c index acc1bb8b..aa63164a 100755 --- a/src/REL/w06Dll/bowser.c +++ b/src/REL/w06Dll/bowser.c @@ -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); } diff --git a/src/game/board/main.c b/src/game/board/main.c index 54fd6cf2..936e50c7 100644 --- a/src/game/board/main.c +++ b/src/game/board/main.c @@ -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; diff --git a/src/game/board/player.c b/src/game/board/player.c index e10c8820..7e0f7d5d 100644 --- a/src/game/board/player.c +++ b/src/game/board/player.c @@ -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; diff --git a/src/game/board/roll.c b/src/game/board/roll.c index 918fae5e..44498482 100755 --- a/src/game/board/roll.c +++ b/src/game/board/roll.c @@ -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); } diff --git a/src/game/hsfdraw.c b/src/game/hsfdraw.c index 6bea3dfb..5b70c69d 100755 --- a/src/game/hsfdraw.c +++ b/src/game/hsfdraw.c @@ -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" diff --git a/src/game/kerent.c b/src/game/kerent.c index bbde6772..c65cfd67 100644 --- a/src/game/kerent.c +++ b/src/game/kerent.c @@ -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