Applied DATA_MAKE_NUM and MAKE_MESSID macros

This commit is contained in:
kabiskac 2024-08-09 01:37:36 +02:00
parent c1c506360c
commit a0ebc7588d
116 changed files with 38174 additions and 37156 deletions

View file

@ -1,11 +1,11 @@
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/star.h"
#include "game/board/window.h"
#include "game/flag.h"
#include "game/objsub.h"
#include "game/process.h"
#include "game/board/main.h"
#include "game/board/player.h"
#include "game/board/model.h"
#include "game/board/star.h"
#include "game/board/window.h"
#include "math.h"
#define BLOCK_SPAWN 0
@ -21,7 +21,7 @@ typedef struct {
u8 opened : 1;
u8 unk00_field5 : 1;
};
s16 hit_y_velocity;
s16 target_y_pos;
} BlockWork;
@ -30,7 +30,7 @@ typedef struct {
struct {
u8 kill : 1;
};
u8 lifetime;
s8 model_index;
s16 model;
@ -38,19 +38,19 @@ typedef struct {
static void BlockProc(void);
static void DestroyBlock(void);
static void ExecBlockObj(omObjData* arg0);
static void ExecBlockObj(omObjData *arg0);
static void CreateBlockObj(s32 arg0);
static void DestroyBlockObj(BlockWork* unused0, omObjData* unused1);
static void SpawnBlock(BlockWork* arg0, omObjData* arg1);
static void HitBlock(BlockWork* arg0, omObjData* arg1);
static void OpenBlock(BlockWork* arg0, omObjData* arg1);
static void DestroyBlockObj(BlockWork *unused0, omObjData *unused1);
static void SpawnBlock(BlockWork *arg0, omObjData *arg1);
static void HitBlock(BlockWork *arg0, omObjData *arg1);
static void OpenBlock(BlockWork *arg0, omObjData *arg1);
static void SetBlockOpen(void);
static void SetBlockStop(void);
static void WaitBlockHit(void);
static void CreateCoinMdl(void);
static void KillCoinMdl(void);
static void PopupCoin(void);
static void PopupCoinExec(omObjData* arg0);
static void PopupCoinExec(omObjData *arg0);
extern s8 boardTutorialBlockF;
extern s8 boardTutorialBlockItem;
@ -62,37 +62,41 @@ static f32 rotMax;
static f32 scaleAngle;
static f32 rotY;
static omObjData* blockObj;
static Process* blockProc;
static omObjData *blockObj;
static Process *blockProc;
static s16 coinMdl[10] = { -1, -1, -1, -1 };
static s32 coinF[10];
s32 BoardBlockExec(s32 arg0) {
s32 BoardBlockExec(s32 arg0)
{
if (BoardPlayerSizeGet(arg0) == 2) {
return 0;
}
blockProc = HuPrcChildCreate(BlockProc, 0x2003, 0x3800U, 0, boardMainProc);
HuPrcDestructorSet2(blockProc, DestroyBlock);
while (blockProc != NULL) {
HuPrcVSleep();
}
return 0;
}
static void BlockProc(void) {
s32 sp14[8] = {0x005F0060, 0x001A0060, 0x006D0060, 0x008A0060, 0x00850060, 0x00110060, 0x000D0060, 0x00810060};
static void BlockProc(void)
{
s32 sp14[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x60), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x60),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x60), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x60),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x60), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x60) };
Point3d sp8;
s32 var_r28;
s32 i;
s32 player;
BlockWork* work;
s32* temp_r4;
BlockWork *work;
s32 *temp_r4;
s32 player_character;
player = GWSystem.player_curr;
player_character = GWPlayer[player].character;
@ -101,12 +105,12 @@ static void BlockProc(void) {
BoardPlayerMotBlendSet(player, 0, 0xF);
omVibrate(player, 12, 12, 0);
CreateBlockObj(player);
work = OM_GET_WORK_PTR(blockObj, BlockWork);
while (work->state != BLOCK_HIT) {
HuPrcVSleep();
}
BoardCameraViewSet(3);
BoardCameraMotionWait();
BoardWinCreate(0, 0x10000, -1);
@ -123,7 +127,7 @@ static void BlockProc(void) {
HuPrcVSleep();
}
BoardPlayerIdleSet(player);
if (work->contains_star != 0) {
SetBlockStop();
BoardModelPosGet(starMdl, &sp8);
@ -134,10 +138,11 @@ static void BlockProc(void) {
if (_CheckFlag(FLAG_ID_MAKE(1, 11)) == 0) {
BoardAudSeqPause(0, 0, 1000);
}
} else {
}
else {
for (i = 0; i < 0x14; i++) {
WaitBlockHit();
BoardPlayerMotionStart(player, (s32) jumpMot, 0);
BoardPlayerMotionStart(player, (s32)jumpMot, 0);
BoardPlayerMotionSpeedSet(player, 2);
while (BoardPlayerMotionTimeGet(player) < 4) {
HuPrcVSleep();
@ -152,29 +157,30 @@ static void BlockProc(void) {
HuAudFXPlay(7);
HuPrcVSleep();
}
SetBlockStop();
}
BoardWinCreate(0, work->contains_star != 0 ? MAKE_MESSID(1, 1) : MAKE_MESSID(1, 2), -1);
BoardWinWait();
BoardWinKill();
KillCoinMdl();
work->kill = 1;
BoardPlayerIdleSet((s32) player);
BoardPlayerIdleSet((s32)player);
HuPrcVSleep();
if ((_CheckFlag(FLAG_ID_MAKE(1, 11)) != 0) && work->contains_star == 0) {
BoardTutorialHookExec(0x16, 0);
}
BoardCameraViewSet(2);
BoardCameraMotionWait();
HuPrcEnd();
}
static void DestroyBlock(void) {
static void DestroyBlock(void)
{
if (jumpMot != -1) {
BoardPlayerMotionKill(GWSystem.player_curr, jumpMot);
jumpMot = -1;
@ -183,71 +189,74 @@ static void DestroyBlock(void) {
blockProc = 0;
}
static void CreateBlockObj(s32 arg0) {
static void CreateBlockObj(s32 arg0)
{
Point3d player_pos;
BlockWork* work;
BlockWork *work;
s8 contains_star;
BoardPlayerPosGet(arg0, &player_pos);
starMdl = BoardModelCreate(0x70004, NULL, 0);
starMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 4), NULL, 0);
BoardModelVisibilitySet(starMdl, 0);
BoardModelMotionSpeedSet(starMdl, 0);
BoardModelLayerSet(starMdl, 2U);
blockObj = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, ExecBlockObj);
work = OM_GET_WORK_PTR(blockObj, BlockWork);
work->kill = 0;
work->unk00_field2 = 0;
work->opened = 0;
work->unk00_field5 = 0;
work->state = BLOCK_SPAWN;
blockObj->trans.x = player_pos.x;
blockObj->trans.y = 270 + player_pos.y;
blockObj->trans.z = player_pos.z;
blockObj->scale.x = blockObj->scale.y = blockObj->scale.z = 0.01;
blockObj->rot.x = blockObj->rot.y = blockObj->rot.z = 0.0;
scaleAngle = 0;
rotY = 0;
rotMax = 30;
BoardModelVisibilitySet(starMdl, 1);
if (BoardRandFloat() > 0.5f) {
contains_star = 0;
} else {
}
else {
contains_star = 1;
}
work->contains_star = contains_star;
if (boardTutorialBlockF != 0) {
work->contains_star = boardTutorialBlockItem;
boardTutorialBlockF = 0;
}
HuAudFXPlay(0x302);
if (work->contains_star == 0) {
CreateCoinMdl();
}
}
static void ExecBlockObj(omObjData* arg0) {
BlockWork* work;
static void ExecBlockObj(omObjData *arg0)
{
BlockWork *work;
work = OM_GET_WORK_PTR(arg0, BlockWork);
if (work->kill != 0 || BoardIsKill() != 0) {
DestroyBlockObj(work, arg0);
blockObj = 0;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
switch (work->state) {
case BLOCK_SPAWN:
SpawnBlock(work, arg0);
@ -259,30 +268,33 @@ static void ExecBlockObj(omObjData* arg0) {
OpenBlock(work, arg0);
break;
}
if (work->unk00_field5 != 0) {
BoardModelVisibilitySet(starMdl, 0);
}
BoardModelPosSet(starMdl, arg0->trans.x, arg0->trans.y, arg0->trans.z);
BoardModelRotSet(starMdl, arg0->rot.x, arg0->rot.y, arg0->rot.z);
BoardModelScaleSet(starMdl, arg0->scale.x, arg0->scale.y, arg0->scale.z);
}
static void DestroyBlockObj(BlockWork* unused0, omObjData* unused1) {
static void DestroyBlockObj(BlockWork *unused0, omObjData *unused1)
{
if (starMdl != -1) {
BoardModelKill(starMdl);
starMdl = -1;
}
}
static void SpawnBlock(BlockWork* arg0, omObjData* arg1) {
static void SpawnBlock(BlockWork *arg0, omObjData *arg1)
{
if (scaleAngle < 90.0f) {
scaleAngle += 3.75f;
if (scaleAngle > 90.0f) {
scaleAngle = 90.0f;
}
} else {
}
else {
rotMax *= 0.5f;
if (rotMax < 0.8f) {
rotY = 0.0f;
@ -291,31 +303,33 @@ static void SpawnBlock(BlockWork* arg0, omObjData* arg1) {
arg0->state = BLOCK_HIT;
}
}
if (rotY < 360.0f) {
rotY += rotMax;
if (rotY > 360.0f) {
rotY = 360.0f;
}
}
arg1->rot.y = rotY;
arg1->scale.x = arg1->scale.y = arg1->scale.z = sin(M_PI * scaleAngle / 180.0);
}
static void HitBlock(BlockWork* arg0, omObjData* arg1) {
static void HitBlock(BlockWork *arg0, omObjData *arg1)
{
float var_f30;
arg0->hit_y_velocity += 3;
if (arg0->hit_y_velocity > 0x168) {
arg0->hit_y_velocity -= 0x168;
}
OSs16tof32(&arg0->hit_y_velocity, &var_f30);
arg1->trans.y += 0.2f * sin((M_PI * var_f30) / 180.0);
}
static void OpenBlock(BlockWork* arg0, omObjData* arg1) {
static void OpenBlock(BlockWork *arg0, omObjData *arg1)
{
f32 target_y_pos;
if (arg0->opened == 0) {
@ -323,16 +337,17 @@ static void OpenBlock(BlockWork* arg0, omObjData* arg1) {
HuAudFXPlay(0x33B);
BoardModelMotionStart(starMdl, 0, 0);
}
if (arg0->unk00_field2 == 0) {
OSf32tos16(&arg1->trans.y, &arg0->target_y_pos);
arg1->trans.y += 80.0f;
arg0->unk00_field2 = 1;
} else {
}
else {
OSs16tof32(&arg0->target_y_pos, &target_y_pos);
arg1->trans.y += -8.0f;
if (arg1->trans.y < target_y_pos) {
arg1->trans.y = target_y_pos;
arg0->state = BLOCK_HIT;
@ -340,43 +355,48 @@ static void OpenBlock(BlockWork* arg0, omObjData* arg1) {
}
}
static void SetBlockOpen(void) {
BlockWork* work;
static void SetBlockOpen(void)
{
BlockWork *work;
work = OM_GET_WORK_PTR(blockObj, BlockWork);
work->state = BLOCK_OPEN;
}
static void SetBlockStop(void) {
BlockWork* work;
static void SetBlockStop(void)
{
BlockWork *work;
work = OM_GET_WORK_PTR(blockObj, BlockWork);
work->unk00_field5 = 1;
}
static void WaitBlockHit(void) {
BlockWork* work;
static void WaitBlockHit(void)
{
BlockWork *work;
work = OM_GET_WORK_PTR(blockObj, BlockWork);
while (work->state != BLOCK_HIT) {
HuPrcVSleep();
}
}
static void CreateCoinMdl(void) {
static void CreateCoinMdl(void)
{
s32 i;
for (i = 0; i < 10; i += 1) {
coinMdl[i] = BoardModelCreate(0x7000A, NULL, 1);
coinMdl[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 10), NULL, 1);
BoardModelVisibilitySet(coinMdl[i], 0);
coinF[i] = 0;
}
}
static void KillCoinMdl(void) {
static void KillCoinMdl(void)
{
s32 i;
for (i = 0; i < 0xA; i += 1) {
if (coinMdl[i] != -1) {
BoardModelKill(coinMdl[i]);
@ -386,77 +406,81 @@ static void KillCoinMdl(void) {
}
}
static inline s32 FindCoinModel(s16 *out_model) {
static inline s32 FindCoinModel(s16 *out_model)
{
s32 i;
for (i = 0; i < 10; i++) {
if (coinF[i] == 0) {
*out_model = coinMdl[i];
return i;
}
}
return -1;
}
static void PopupCoin(void) {
static void PopupCoin(void)
{
Point3d star_pos;
omObjData* coinObj;
omObjData *coinObj;
s32 model_index;
s16 model;
CoinWork* work;
CoinWork *work;
do {
HuPrcVSleep();
model_index = FindCoinModel(&model);
} while (model_index == -1);
coinObj = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, PopupCoinExec);
work = OM_GET_WORK_PTR(coinObj, CoinWork);
work->kill = 0;
work->lifetime = 10;
work->model = model;
work->model_index = model_index;
coinObj->trans.x = 15.0f;
coinObj->trans.y = 40.0f;
BoardModelPosGet(starMdl, &star_pos);
BoardModelPosSetV(work->model, &star_pos);
BoardModelVisibilitySet(work->model, 1);
}
static void PopupCoinExec(omObjData* obj) {
static void PopupCoinExec(omObjData *obj)
{
Point3d coin_pos;
Point3d coin_rot;
CoinWork* work;
CoinWork *work;
work = OM_GET_WORK_PTR(obj, CoinWork);
if (work->kill != 0 || BoardIsKill() != 0) {
BoardModelVisibilitySet(work->model, 0);
coinF[work->model_index] = 0;
omDelObjEx(HuPrcCurrentGet(), obj);
return;
}
if (work->lifetime != 0) {
work->lifetime -= 1;
} else {
}
else {
work->kill = 1;
return;
}
BoardModelPosGet(work->model, &coin_pos);
coin_pos.y += obj->trans.y;
BoardModelPosSetV(work->model, &coin_pos);
BoardModelRotGet(work->model, &coin_rot);
coin_rot.y += obj->trans.x;
if (coin_rot.y > 360.0f) {
coin_rot.y -= 360.0f;
}
BoardModelRotSetV(work->model, &coin_rot);
}

View file

@ -1,19 +1,18 @@
#include "game/board/boo_house.h"
#include "game/msm.h"
#include "game/hsfdraw.h"
#include "game/gamework_data.h"
#include "game/board/player.h"
#include "game/board/model.h"
#include "game/board/com.h"
#include "game/board/audio.h"
#include "game/board/boo.h"
#include "game/board/com.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/star.h"
#include "game/board/ui.h"
#include "game/board/view.h"
#include "game/board/audio.h"
#include "game/board/main.h"
#include "game/board/star.h"
#include "game/board/player.h"
#include "game/board/window.h"
#include "game/gamework_data.h"
#include "game/hsfdraw.h"
#include "game/msm.h"
#include "ext_math.h"
@ -22,34 +21,78 @@ static s16 houseMdl[6];
// data
static s32 hostMesTbl[6][6] = {
{ 0x7000C, 0x7000D, 0x7000E, 0x7000F, 0x70010, 0x70011 },
{ 0x70012, 0x70013, 0x70014, 0x70015, 0x70016, 0x70017 },
{ 0x70018, 0x70019, 0x7001A, 0x7001B, 0x7001C, 0x7001D },
{ 0x7001E, 0x7001F, 0x70020, 0x70021, 0x70022, 0x70023 },
{ 0x70024, 0x70025, 0x70026, 0x70027, 0x70028, 0x70029 },
{ 0x7002A, 0x7002B, 0x7002C, 0x7002D, 0x7002E, 0x7002F },
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x0C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x10),
DATA_MAKE_NUM(DATADIR_BOARD, 0x11),
},
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x12),
DATA_MAKE_NUM(DATADIR_BOARD, 0x13),
DATA_MAKE_NUM(DATADIR_BOARD, 0x14),
DATA_MAKE_NUM(DATADIR_BOARD, 0x15),
DATA_MAKE_NUM(DATADIR_BOARD, 0x16),
DATA_MAKE_NUM(DATADIR_BOARD, 0x17),
},
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x18),
DATA_MAKE_NUM(DATADIR_BOARD, 0x19),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1B),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1D),
},
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x1E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x20),
DATA_MAKE_NUM(DATADIR_BOARD, 0x21),
DATA_MAKE_NUM(DATADIR_BOARD, 0x22),
DATA_MAKE_NUM(DATADIR_BOARD, 0x23),
},
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x24),
DATA_MAKE_NUM(DATADIR_BOARD, 0x25),
DATA_MAKE_NUM(DATADIR_BOARD, 0x26),
DATA_MAKE_NUM(DATADIR_BOARD, 0x27),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x29),
},
{
DATA_MAKE_NUM(DATADIR_BOARD, 0x2A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2B),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2F),
},
};
static BoardModelParam houseMdlTbl[6] = {
{ 0x90000, { 0, 1, 0, 0, 0 }, 0xFFFF },
{ 0x90001, { 1, 1, 0, 0, 0 }, 0xFFFF },
{ 0x90003, { 1, 1, 0, 0, 0 }, 0xFFFF },
{ 0x90004, { 1, 1, 0, 0, 0 }, 0xFFFF },
{ 0x90004, { 1, 1, 0, 0, 0 }, 0xFFFF },
{ 0x90007, { 0, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x00), { 0, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x01), { 1, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x03), { 1, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x04), { 1, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x04), { 1, 1, 0, 0, 0 }, 0xFFFF },
{ DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x07), { 0, 1, 0, 0, 0 }, 0xFFFF },
};
static s32 booMotTbl[3] = {
0x20013, 0x20016, 0xFFFFFFFF
DATA_MAKE_NUM(DATADIR_BGUEST, 0x13),
DATA_MAKE_NUM(DATADIR_BGUEST, 0x16),
DATA_NUM_LISTEND,
};
static s32 houseMotTbl[9][3] = {
{ 0x20001, 0x20003, 0x20004 },
{ 0x20009, 0x2000B, 0x2000C },
{ 0x2000E, 0x20010, 0x20011 },
{ 0x20018, 0x2001A, 0x2001B },
{ 0x2001D, 0x2001F, 0x20020 },
{ 0x20022, 0x20024, 0x20025 },
{ 0x20018, 0x2001A, 0x2001B },
{ 0x20001, 0x20003, 0x20004 },
{ 0x20001, 0x20003, 0x20004 }
static s32 hostMotTbl[9][3] = {
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x0E), DATA_MAKE_NUM(DATADIR_BGUEST, 0x10), DATA_MAKE_NUM(DATADIR_BGUEST, 0x11) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x1D), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1F), DATA_MAKE_NUM(DATADIR_BGUEST, 0x20) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x22), DATA_MAKE_NUM(DATADIR_BGUEST, 0x24), DATA_MAKE_NUM(DATADIR_BGUEST, 0x25) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) },
};
// sbss
@ -58,16 +101,16 @@ static s8 stealTarget;
static s8 comStarStealTarget;
static s32 comCoinStealTarget;
static s8 stealAmountStr[8];
static Process* houseProc;
static Process *houseProc;
// sdata
static s16 houseShowMot = 0xFFFF;
static s16 houseHideMot = 0xFFFF;
static s16 ballMdl = 0xFFFF;
static s16 booMdl = 0xFFFF;
static s16 lbl_801D37F8 = 0xFFFF;
static s16 smokeMdl = 0xFFFF;
static s16 hostMdl = 0xFFFF;
static s16 houseMot[3] = { 0xFFFF, 0xFFFF, 0xFFFF };
static s16 hostMot[3] = { 0xFFFF, 0xFFFF, 0xFFFF };
// determined functions
static void ExecBooHouse(void);
@ -87,15 +130,18 @@ static void ApplyBooLight(void);
static void SetBooBallPos(void);
// FUNCTIONS //
void BoardBooHouseHostSet(s16 arg0) {
void BoardBooHouseHostSet(s16 arg0)
{
hostMdl = arg0;
}
s16 BoardBooHouseHostGet(void) {
s16 BoardBooHouseHostGet(void)
{
return hostMdl;
}
void BoardBooHouseCreate(void) {
void BoardBooHouseCreate(void)
{
Vec sp14;
Vec sp8;
@ -107,17 +153,19 @@ void BoardBooHouseCreate(void) {
if (hostMdl != -1) {
BoardModelVisibilitySet(hostMdl, 0);
}
HuDataDirClose(0x90000);
HuDataDirClose(DATADIR_BYOKODORI);
}
void BoardBooHouseKill(void) {
void BoardBooHouseKill(void)
{
if (houseMdl[0] != -1) {
BoardModelKill(houseMdl[0]);
houseMdl[0] = -1;
}
}
void BoardBooHouseExec(s32 arg0) {
void BoardBooHouseExec(s32 arg0)
{
currPlayer = arg0;
if (BoardPlayerSizeGet(currPlayer) != 2) {
BoardRollDispSet(0);
@ -130,7 +178,8 @@ void BoardBooHouseExec(s32 arg0) {
}
}
static void ExecBooHouse(void) {
static void ExecBooHouse(void)
{
Vec sp38;
Vec sp2C;
Vec sp20;
@ -145,7 +194,7 @@ static void ExecBooHouse(void) {
s32 var_r26;
_SetFlag(0x10018);
var_r28 = BoardDataDirReadAsync(0x90000);
var_r28 = BoardDataDirReadAsync(DATADIR_BYOKODORI);
var_r30 = GWPlayer[currPlayer].space_curr;
BoardPlayerIdleSet(currPlayer);
if (BoardPlayerCoinsGet(currPlayer) < 5) {
@ -159,7 +208,8 @@ static void ExecBooHouse(void) {
if (GWPlayer[currPlayer].com != 0) {
if (BoardBooComUseCheck(currPlayer) != 0) {
BoardComKeySetLeft();
} else {
}
else {
BoardComKeySetRight();
}
}
@ -168,13 +218,13 @@ static void ExecBooHouse(void) {
BoardDataAsyncWait(var_r28);
HuPrcEnd();
}
for (var_r26 = var_r31 = 0; var_r31 < 4; var_r31++) {
if (currPlayer != var_r31) {
var_r26 += GWStarsGet(var_r31);
}
}
for (var_r27 = var_r31 = 0; var_r31 < 4; var_r31++) {
if (currPlayer != var_r31) {
var_r27 += BoardPlayerCoinsGet(var_r31);
@ -203,7 +253,7 @@ static void ExecBooHouse(void) {
BoardPlayerMoveBetween(currPlayer, var_r30, temp_r29);
BoardPlayerIdleSet(currPlayer);
BoardMusStart(1, 1, 0x7F, 0);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[0], 0.0f, 10.0f, 0x40000001);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[0], 0.0f, 10.0f, 0x40000001);
BoardWinCreate(2, hostMesTbl[GWBoardGet()][0], BoardWinPortraitGet());
BoardWinWait();
@ -245,7 +295,7 @@ repeatWindowView:
BoardStatusShowSet(currPlayer, 0);
HuPrcVSleep();
}
BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[1], 0.0f, 10.0f, 0x40000001);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[1], 0.0f, 10.0f, 0x40000001);
CloseBooHouse();
BoardCameraViewSet(1);
BoardCameraRotSet(0.0f, 0.0f);
@ -259,13 +309,14 @@ repeatWindowView:
HuPrcEnd();
}
static void DestroyBooHouse(void) {
static void DestroyBooHouse(void)
{
s32 var_r31;
for (var_r31 = 0; var_r31 < 3; var_r31++) {
if (houseMot[var_r31] != -1) {
BoardModelMotionKill(BoardBooHouseHostGet(), houseMot[var_r31]);
houseMot[var_r31] = -1;
if (hostMot[var_r31] != -1) {
BoardModelMotionKill(BoardBooHouseHostGet(), hostMot[var_r31]);
hostMot[var_r31] = -1;
}
}
if (houseShowMot != -1) {
@ -278,12 +329,13 @@ static void DestroyBooHouse(void) {
}
BoardWinKill();
KillBooHouseModel();
HuDataDirClose(0x90000);
HuDataDirClose(DATADIR_BYOKODORI);
_ClearFlag(0x10018);
houseProc = 0;
}
static void PickComStealType(s32 arg0) {
static void PickComStealType(s32 arg0)
{
s32 var_r31;
s32 var_r30;
s32 var_r28;
@ -297,10 +349,11 @@ static void PickComStealType(s32 arg0) {
}
if (BoardPlayerCoinsGet(arg0) >= 0x32) {
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if ((var_r31 != arg0) && (GWStarsGet(var_r31) != 0) && (((s32) GWSystem.team == 0) || (var_r31 != BoardPlayerSameTeamFind(arg0)))) {
if ((var_r31 != arg0) && (GWStarsGet(var_r31) != 0) && (((s32)GWSystem.team == 0) || (var_r31 != BoardPlayerSameTeamFind(arg0)))) {
if (var_r30 != 0) {
BoardComKeySetDown();
} else {
}
else {
BoardComKeySetUp();
}
return;
@ -310,7 +363,8 @@ static void PickComStealType(s32 arg0) {
BoardComKeySetUp();
}
static void OpenBooHouse(void) {
static void OpenBooHouse(void)
{
s16 temp_r31;
s32 temp_r5;
s32 var_r30;
@ -318,11 +372,11 @@ static void OpenBooHouse(void) {
ballMdl = BoardBooCreate(currPlayer, 0);
temp_r31 = BoardBooHouseHostGet();
BoardModelMotionStart(temp_r31, 1, 0x40000001);
for (var_r30 = 0; var_r30 < 3; var_r30++) {
houseMot[var_r30] = BoardModelMotionCreate(temp_r31, houseMotTbl[GWBoardGet()][var_r30]);
hostMot[var_r30] = BoardModelMotionCreate(temp_r31, hostMotTbl[GWBoardGet()][var_r30]);
}
BoardModelMotionStart(temp_r31, houseMot[0], 0x40000001);
BoardModelMotionStart(temp_r31, hostMot[0], 0x40000001);
BoardModelVisibilitySet(temp_r31, 1);
HuAudFXPlay(0x337);
HuAudFXPlay(0x344);
@ -337,7 +391,8 @@ static void OpenBooHouse(void) {
BoardModelHookSet(houseMdl[0], "yoko06", temp_r31);
if (GWBoardGet() == BOARD_ID_MAIN6) {
BoardModelPosSet(temp_r31, 0.0f, 0.0f, -25.0f);
} else {
}
else {
BoardModelPosSet(temp_r31, 0.0f, 0.0f, 0.0f);
}
BoardModelMotionStart(houseMdl[3], 0, 0x40000001);
@ -346,9 +401,9 @@ static void OpenBooHouse(void) {
BoardModelMotionStart(booMdl, 1, 0x40000001);
BoardModelVisibilitySet(booMdl, 1);
BoardModelHookSet(houseMdl[0], "yoko8", booMdl);
lbl_801D37F8 = BoardModelCreate(0x90008, NULL, 0);
BoardModelVisibilitySet(lbl_801D37F8, 0);
BoardModelLayerSet(lbl_801D37F8, 2);
smokeMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x08), NULL, 0);
BoardModelVisibilitySet(smokeMdl, 0);
BoardModelLayerSet(smokeMdl, 2);
BoardModelMotionStart(houseMdl[1], 0, 0x40000001);
while (BoardModelMotionTimeGet(houseMdl[0]) < 90.0f) {
@ -358,16 +413,17 @@ static void OpenBooHouse(void) {
BoardModelMotionShiftSet(houseMdl[1], houseHideMot, 0.0f, 10.0f, 0x40000001);
BoardModelHookObjReset(houseMdl[0], "yoko02");
SetBooBallPos();
BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[2], 0.0f, 10.0f, 0);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[2], 0.0f, 10.0f, 0);
}
static void CloseBooHouse(void) {
static void CloseBooHouse(void)
{
BoardModelPosSet(ballMdl, 0.0f, 0.0f, 0.0f);
BoardModelHookSet(houseMdl[0], "yoko02", ballMdl);
BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, 0);
BoardModelMotionShiftSet(houseMdl[0], 0, 90.0f, 10.0f, 0);
HuPrcSleep(0xA);
while (BoardModelMotionShiftIDGet(houseMdl[0]) != -1) {
HuPrcVSleep();
}
@ -376,7 +432,7 @@ static void CloseBooHouse(void) {
}
HuAudFXPlay(0x336);
BoardAudSeqFadeOut(1, 0x3E8);
while (BoardModelMotionEndCheck(houseMdl[0]) == 0) {
HuPrcVSleep();
}
@ -385,7 +441,8 @@ static void CloseBooHouse(void) {
ballMdl = -1;
}
static void CreateBooHouseModel(void) {
static void CreateBooHouseModel(void)
{
s32 var_r31;
for (var_r31 = 0; var_r31 < 6; var_r31++) {
@ -393,11 +450,12 @@ static void CreateBooHouseModel(void) {
houseMdl[var_r31] = BoardModelCreateParam(&houseMdlTbl[var_r31], 0, 0);
}
}
houseShowMot = BoardModelMotionCreate(houseMdl[0], 0x90009);
houseHideMot = BoardModelMotionCreate(houseMdl[1], 0x9000A);
houseShowMot = BoardModelMotionCreate(houseMdl[0], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x09));
houseHideMot = BoardModelMotionCreate(houseMdl[1], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x0A));
}
static void KillBooHouseModel(void) {
static void KillBooHouseModel(void)
{
s32 temp_r4;
s32 var_r31;
@ -411,28 +469,29 @@ static void KillBooHouseModel(void) {
BoardModelKill(booMdl);
booMdl = -1;
}
if (lbl_801D37F8 != -1) {
BoardModelKill(lbl_801D37F8);
lbl_801D37F8 = -1;
if (smokeMdl != -1) {
BoardModelKill(smokeMdl);
smokeMdl = -1;
}
BoardModelVisibilitySet(BoardBooHouseHostGet(), 0);
}
static void ExecNullSteal(void) {
static void ExecNullSteal(void)
{
HuAudFXPlay(0x4C);
BoardWinCreate(2, hostMesTbl[GWBoardGet()][5], BoardWinPortraitGet());
BoardWinWait();
BoardWinKill();
}
static void ExecStarSteal(void) {
static void ExecStarSteal(void)
{
Vec sp14;
Vec sp8;
s32 temp_r29;
s32 var_r30;
s32 var_r31;
for (var_r30 = 0; var_r30 < 0x32; var_r30++) {
BoardPlayerCoinsAdd(currPlayer, -1);
HuAudFXPlay(0xE);
@ -444,16 +503,16 @@ static void ExecStarSteal(void) {
BoardWinWait();
BoardWinKill();
BoardStatusShowSetAll(0);
while (BoardPickerDoneCheck() == 0) {
HuPrcVSleep();
}
HuAudFXPlay(0x4C);
Hu3DModelObjPosGet(BoardModelIDGet(houseMdl[0]), "yoko8", &sp14);
sp14.y += 20.0f;
BoardModelMotionStart(lbl_801D37F8, 0, 0);
BoardModelVisibilitySet(lbl_801D37F8, 1);
BoardModelPosSetV(lbl_801D37F8, &sp14);
BoardModelMotionStart(smokeMdl, 0, 0);
BoardModelVisibilitySet(smokeMdl, 1);
BoardModelPosSetV(smokeMdl, &sp14);
HuPrcSleep(5);
for (var_r31 = 0xFF; var_r31 > 0; var_r31 -= 0x33) {
@ -464,11 +523,11 @@ static void ExecStarSteal(void) {
HuPrcVSleep();
}
BoardModelVisibilitySet(booMdl, 0);
while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) {
while (BoardModelMotionEndCheck(smokeMdl) == 0) {
HuPrcVSleep();
}
BoardModelVisibilitySet(lbl_801D37F8, 0);
BoardModelVisibilitySet(smokeMdl, 0);
BoardCameraMotionStartEx(ballMdl, NULL, NULL, 325.0f, -1.0f, 0x15);
temp_r29 = BoardBooStealMain();
sp8.x = 0.0f;
@ -479,11 +538,11 @@ static void ExecStarSteal(void) {
if (temp_r29 == 0) {
BoardModelMotionStart(booMdl, 2, 0x40000001);
}
BoardModelMotionStart(lbl_801D37F8, 0, 0);
BoardModelVisibilitySet(lbl_801D37F8, 1);
BoardModelMotionStart(smokeMdl, 0, 0);
BoardModelVisibilitySet(smokeMdl, 1);
HuPrcSleep(0xB);
BoardModelVisibilitySet(booMdl, 1);
for (var_r31 = 0; var_r31 < 0xFF; var_r31 += 0x33) {
if (var_r31 > 0xFF) {
var_r31 = 0xFF;
@ -492,21 +551,21 @@ static void ExecStarSteal(void) {
HuPrcVSleep();
}
BoardModelAlphaSet(booMdl, -1);
while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) {
while (BoardModelMotionEndCheck(smokeMdl) == 0) {
HuPrcVSleep();
}
BoardModelVisibilitySet(lbl_801D37F8, 0);
BoardModelVisibilitySet(smokeMdl, 0);
}
static void ExecCoinSteal(void) {
static void ExecCoinSteal(void)
{
Vec sp14;
Vec sp8;
s32 temp_r29;
s32 var_r30;
s32 var_r31;
for (var_r30 = 0; var_r30 < 5; var_r30++) {
BoardPlayerCoinsAdd(currPlayer, -1);
HuAudFXPlay(0xE);
@ -518,16 +577,16 @@ static void ExecCoinSteal(void) {
BoardWinWait();
BoardWinKill();
BoardStatusShowSetAll(0);
while (BoardPickerDoneCheck() == 0) {
HuPrcVSleep();
}
HuAudFXPlay(0x4C);
Hu3DModelObjPosGet(BoardModelIDGet(houseMdl[0]), "yoko8", &sp14);
sp14.y += 20.0f;
BoardModelMotionStart(lbl_801D37F8, 0, 0);
BoardModelVisibilitySet(lbl_801D37F8, 1);
BoardModelPosSetV(lbl_801D37F8, &sp14);
BoardModelMotionStart(smokeMdl, 0, 0);
BoardModelVisibilitySet(smokeMdl, 1);
BoardModelPosSetV(smokeMdl, &sp14);
HuPrcSleep(5);
for (var_r31 = 0xFF; var_r31 > 0; var_r31 -= 0x33) {
@ -538,11 +597,11 @@ static void ExecCoinSteal(void) {
HuPrcVSleep();
}
BoardModelVisibilitySet(booMdl, 0);
while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) {
while (BoardModelMotionEndCheck(smokeMdl) == 0) {
HuPrcVSleep();
}
BoardModelVisibilitySet(lbl_801D37F8, 0);
BoardModelVisibilitySet(smokeMdl, 0);
BoardCameraMotionStartEx(ballMdl, NULL, NULL, 325.0f, -1.0f, 0x15);
temp_r29 = BoardBooStealMain();
sp8.x = 0.0f;
@ -553,11 +612,11 @@ static void ExecCoinSteal(void) {
if (temp_r29 == 0) {
BoardModelMotionStart(booMdl, 2, 0x40000001);
}
BoardModelMotionStart(lbl_801D37F8, 0, 0);
BoardModelVisibilitySet(lbl_801D37F8, 1);
BoardModelMotionStart(smokeMdl, 0, 0);
BoardModelVisibilitySet(smokeMdl, 1);
HuPrcSleep(0xB);
BoardModelVisibilitySet(booMdl, 1);
for (var_r31 = 0; var_r31 < 0xFF; var_r31 += 0x33) {
if (var_r31 > 0xFF) {
var_r31 = 0xFF;
@ -566,14 +625,15 @@ static void ExecCoinSteal(void) {
HuPrcVSleep();
}
BoardModelAlphaSet(booMdl, -1);
while (BoardModelMotionEndCheck(lbl_801D37F8) == 0) {
while (BoardModelMotionEndCheck(smokeMdl) == 0) {
HuPrcVSleep();
}
BoardModelVisibilitySet(lbl_801D37F8, 0);
BoardModelVisibilitySet(smokeMdl, 0);
}
void ApplySteal(void) {
void ApplySteal(void)
{
s16 spA;
s16 sp8;
s32 temp_r30;
@ -589,7 +649,7 @@ void ApplySteal(void) {
BoardModelAlphaSet(booMdl, 0xFF);
var_f31 = BoardDAngleCalc(180.0f + BoardPlayerRotYGet(currPlayer));
BoardPlayerMotBlendSet(currPlayer, var_f31, 0xF);
while (BoardPlayerMotBlendCheck(currPlayer) == 0) {
HuPrcVSleep();
}
@ -597,9 +657,11 @@ void ApplySteal(void) {
var_r31 = BoardBooStealValueGet(&spA, &sp8);
if (var_r31 == 0) {
ApplyBooLight();
} else if (stealTarget == 0) {
}
else if (stealTarget == 0) {
ApplyCoinSteal(spA, sp8);
} else {
}
else {
ApplyStarSteal();
}
BoardWinCreate(2, hostMesTbl[GWBoardGet()][4], BoardWinPortraitGet());
@ -607,31 +669,36 @@ void ApplySteal(void) {
BoardWinKill();
}
void ApplyCoinSteal(s16 arg0, s16 arg1) {
void ApplyCoinSteal(s16 arg0, s16 arg1)
{
u32 var_r31;
s32 var_r30;
if ((s16) arg1 == 0) {
var_r31 = 0x70009;
} else if ((s16) arg1 < 3) {
var_r31 = 0x70008;
} else if ((s16) arg1 < 6) {
var_r31 = 0x70007;
} else if ((s16) arg1 < 8) {
var_r31 = 0x70006;
} else {
var_r31 = 0x70005;
if ((s16)arg1 == 0) {
var_r31 = MAKE_MESSID(7, 9);
}
else if ((s16)arg1 < 3) {
var_r31 = MAKE_MESSID(7, 8);
}
else if ((s16)arg1 < 6) {
var_r31 = MAKE_MESSID(7, 7);
}
else if ((s16)arg1 < 8) {
var_r31 = MAKE_MESSID(7, 6);
}
else {
var_r31 = MAKE_MESSID(7, 5);
}
sprintf(&stealAmountStr, "%d", arg0);
HuAudFXPlay(0x4B);
BoardWinCreate(2, var_r31, 3);
BoardWinInsertMesSet((s32) &stealAmountStr, 0);
BoardWinInsertMesSet((s32)&stealAmountStr, 0);
BoardWinWait();
BoardWinKill();
BoardStatusShowSetForce(currPlayer);
BoardStatusShowSet(currPlayer, 1);
BoardPlayerMotionShiftSet(currPlayer, 7, 0.0f, 8.0f, 0);
for (var_r30 = 0; var_r30 < arg0; var_r30++) {
BoardPlayerCoinsAdd(currPlayer, 1);
HuAudFXPlay(0xE);
@ -641,7 +708,8 @@ void ApplyCoinSteal(s16 arg0, s16 arg1) {
BoardPlayerMotionEndWait(currPlayer);
}
void ApplyStarSteal(void) {
void ApplyStarSteal(void)
{
s32 temp_r31;
HuAudFXPlay(0x4C);
@ -660,7 +728,7 @@ void ApplyStarSteal(void) {
HuPrcSleep(0xA);
temp_r31 = HuAudSStreamPlay(6);
BoardPlayerMotionEndWait(currPlayer);
while (msmStreamGetStatus(temp_r31) != 0) {
HuPrcVSleep();
}
@ -669,7 +737,8 @@ void ApplyStarSteal(void) {
BoardPlayerVoiceEnableSet(currPlayer, 7, 1);
}
void ApplyBooLight(void) {
void ApplyBooLight(void)
{
BoardWinCreate(2, MAKE_MESSID(7, 11), 3);
BoardWinWait();
BoardWinKill();
@ -679,7 +748,8 @@ void ApplyBooLight(void) {
}
}
void SetBooBallPos(void) {
void SetBooBallPos(void)
{
Mtx sp14;
Vec sp8;
s16 var_r31;
@ -690,7 +760,8 @@ void SetBooBallPos(void) {
BoardModelPosSetV(ballMdl, &sp8);
}
s32 BoardBooComUseCheck(s32 arg0) {
s32 BoardBooComUseCheck(s32 arg0)
{
s32 var_r31;
u32 var_r30;
s32 var_r29;
@ -703,23 +774,23 @@ s32 BoardBooComUseCheck(s32 arg0) {
comStarStealTarget = comCoinStealTarget = -1;
var_r26 = var_r27 = -1;
switch (GWPlayer[arg0].diff) {
case 0:
var_r30 = 0x5F;
break;
case 1:
var_r30 = 0x32;
break;
case 2:
var_r30 = 5;
break;
case 3:
var_r30 = 0;
break;
case 0:
var_r30 = 0x5F;
break;
case 1:
var_r30 = 0x32;
break;
case 2:
var_r30 = 5;
break;
case 3:
var_r30 = 0;
break;
}
for (var_r31 = 0; var_r31 < 4; var_r31++) {
if (var_r31 != arg0) {
if ((s32) GWSystem.team == 0 || var_r31 != BoardPlayerSameTeamFind(arg0)) {
if ((s32)GWSystem.team == 0 || var_r31 != BoardPlayerSameTeamFind(arg0)) {
if (BoardPlayerItemFind(var_r31, 8) == -1 || BoardRandMod(0x64) < var_r30) {
var_r29 = BoardPlayerCoinsGet(var_r31);
var_r28 = GWStarsGet(var_r31);
@ -731,7 +802,7 @@ s32 BoardBooComUseCheck(s32 arg0) {
}
if (var_r26 < var_r28) {
var_r26 = var_r28;
comStarStealTarget = (s8) var_r31;
comStarStealTarget = (s8)var_r31;
}
}
}
@ -745,7 +816,8 @@ s32 BoardBooComUseCheck(s32 arg0) {
return 1;
}
void BoardBooHouseTutorialExec(void) {
void BoardBooHouseTutorialExec(void)
{
Vec sp38;
Vec sp2C;
Vec sp20;
@ -759,7 +831,7 @@ void BoardBooHouseTutorialExec(void) {
s32 var_r31;
s32 var_r30;
temp_r27 = BoardDataDirReadAsync(0x90000);
temp_r27 = BoardDataDirReadAsync(DATADIR_BYOKODORI);
temp_r29 = BoardSpaceFlagSearch(0, 0x08000000);
BoardDataAsyncWait(temp_r27);
temp_r28 = BoardSpaceLinkFlagSearch(0, temp_r29, 0x02000000);
@ -775,22 +847,22 @@ void BoardBooHouseTutorialExec(void) {
sp8.y = 150.0f;
sp8.z = 0.0f;
BoardCameraMotionStartEx(houseMdl[0], &sp14, &sp8, 1370.0f, -1.0f, 0x15);
for (var_r31 = 0; var_r31 < 6; var_r31++) {
if (var_r31 != 0) {
houseMdl[var_r31] = BoardModelCreateParam(&houseMdlTbl[var_r31], NULL, NULL);
}
}
houseShowMot = BoardModelMotionCreate(houseMdl[0], 0x90009);
houseHideMot = BoardModelMotionCreate(houseMdl[1], 0x9000A);
houseShowMot = BoardModelMotionCreate(houseMdl[0], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x09));
houseHideMot = BoardModelMotionCreate(houseMdl[1], DATA_MAKE_NUM(DATADIR_BYOKODORI, 0x0A));
OpenBooHouse();
while (BoardModelMotionEndCheck(BoardBooHouseHostGet()) == 0) {
HuPrcVSleep();
}
BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[0], 0.0f, 10.0f, 0x40000001);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[0], 0.0f, 10.0f, 0x40000001);
BoardTutorialHookExec(0x1C, 0);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), houseMot[1], 0.0f, 10.0f, 0x40000001);
BoardModelMotionShiftSet(BoardBooHouseHostGet(), hostMot[1], 0.0f, 10.0f, 0x40000001);
BoardModelPosSet(ballMdl, 0.0f, 0.0f, 0.0f);
BoardModelHookSet(houseMdl[0], "yoko02", ballMdl);
BoardModelMotionShiftSet(houseMdl[1], 0, 90.0f, 10.0f, 0);
@ -810,7 +882,7 @@ void BoardBooHouseTutorialExec(void) {
BoardModelHookReset(houseMdl[0]);
BoardBooKill();
ballMdl = -1;
for (var_r30 = 1; var_r30 < 6; var_r30++) {
if (houseMdl[var_r30] != -1) {
BoardModelKill(houseMdl[var_r30]);
@ -821,9 +893,9 @@ void BoardBooHouseTutorialExec(void) {
BoardModelKill(booMdl);
booMdl = -1;
}
if (lbl_801D37F8 != -1) {
BoardModelKill(lbl_801D37F8);
lbl_801D37F8 = -1;
if (smokeMdl != -1) {
BoardModelKill(smokeMdl);
smokeMdl = -1;
}
BoardModelVisibilitySet(BoardBooHouseHostGet(), 0);
}

View file

@ -406,9 +406,9 @@ static void ExecBowserGame(void)
437
};
s32 messLoss[3] = {
0x30009,
0x3000C,
0x3000E
MAKE_MESSID(3, 9),
MAKE_MESSID(3, 12),
MAKE_MESSID(3, 14)
};
s32 mg;
s32 mess;
@ -459,9 +459,9 @@ static void ExecBowserGame(void)
static void DoMGReturnEffect(void)
{
s32 messTbl[3] = {
0x3000A,
0x3000D,
0x3000F
MAKE_MESSID(3, 10),
MAKE_MESSID(3, 13),
MAKE_MESSID(3, 15)
};
s32 player;
s32 coin;
@ -1512,10 +1512,10 @@ static void MiniBowserTake(void)
delay = 6;
}
if(BoardPlayerCoinsGet(eventPlayer) != 0) {
mess = 0x30001;
mess = MAKE_MESSID(3, 1);
coin_inc = -1;
} else {
mess = 0x30003;
mess = MAKE_MESSID(3, 3);
steal = 10;
coin_inc = 1;
}
@ -1584,10 +1584,10 @@ static void MiniBowserTakeAll(void)
coin_total += BoardPlayerCoinsGet(j);
}
if(coin_total != 0) {
mess = 0x30004;
mess = MAKE_MESSID(3, 4);
coin_inc = -1;
} else {
mess = 0x30005;
mess = MAKE_MESSID(3, 5);
steal = 10;
coin_inc = 1;
}
@ -1813,4 +1813,4 @@ static void WaitMiniBowserMotion(void)
while(!BoardModelMotionEndCheck(models[0])) {
HuPrcVSleep();
}
}
}

View file

@ -53,16 +53,16 @@ static s16 wheelSprGrp = -1;
static s32 wheelFXStat = -1;
static s32 wheelSprTbl[] = {
0x00070036,
0x00070038,
0x00070038,
0x00070038,
0x00070037,
0x00070037,
0x00070037,
0x00070037,
0x0007003A,
0x00070039
DATA_MAKE_NUM(DATADIR_BOARD, 0x36),
DATA_MAKE_NUM(DATADIR_BOARD, 0x38),
DATA_MAKE_NUM(DATADIR_BOARD, 0x38),
DATA_MAKE_NUM(DATADIR_BOARD, 0x38),
DATA_MAKE_NUM(DATADIR_BOARD, 0x37),
DATA_MAKE_NUM(DATADIR_BOARD, 0x37),
DATA_MAKE_NUM(DATADIR_BOARD, 0x37),
DATA_MAKE_NUM(DATADIR_BOARD, 0x37),
DATA_MAKE_NUM(DATADIR_BOARD, 0x3A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x39)
};
static s8 wheelSprPrio[] = {
@ -74,14 +74,14 @@ static s8 wheelSprPrio[] = {
};
static s32 wheelCharIconTbl[] = {
0x0007003B,
0x0007003C,
0x0007003D,
0x0007003E,
0x0007003F,
0x00070040,
0x00070041,
0x00070042
DATA_MAKE_NUM(DATADIR_BOARD, 0x3B),
DATA_MAKE_NUM(DATADIR_BOARD, 0x3C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x3D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x3E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x3F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x40),
DATA_MAKE_NUM(DATADIR_BOARD, 0x41),
DATA_MAKE_NUM(DATADIR_BOARD, 0x42)
};
s32 BoardCharWheelInit(s32 arg0, s32 arg1) {

View file

@ -21,12 +21,12 @@ typedef struct platform_work {
} PlatformWork;
static u32 comPrizeMessTbl[] = {
0x1C0009,
0x1C000A,
0x1C000B,
0x1C000D,
0x1C000C,
0x1C000E
MAKE_MESSID(0x1C, 0x09),
MAKE_MESSID(0x1C, 0x0A),
MAKE_MESSID(0x1C, 0x0B),
MAKE_MESSID(0x1C, 0x0D),
MAKE_MESSID(0x1C, 0x0C),
MAKE_MESSID(0x1C, 0x0E)
};
static s8 currPlayer;
@ -280,20 +280,20 @@ static void ExecComFortuneWin(void)
mess_player2 = BoardPlayerGetCharMess(comPlayer2);
mess_prize = comPrizeMessTbl[comPrize];
if(comPrize == 0 || comPrize == 5 || comPrize == 3) {
mess_main = 0x1C0012;
mess_main = MAKE_MESSID(0x1C, 0x12);
} else {
if(comPrize == 2) {
if(comCoin == 0) {
mess_main = 0x1C0013;
mess_main = MAKE_MESSID(0x1C, 0x13);
} else {
mess_main = 0x1C0011;
mess_main = MAKE_MESSID(0x1C, 0x11);
}
} else {
if(comPrize == 1 || comPrize == 4) {
if(comStar == 0) {
mess_main = 0x1C0014;
mess_main = MAKE_MESSID(0x1C, 0x14);
} else {
mess_main = 0x1C0011;
mess_main = MAKE_MESSID(0x1C, 0x11);
}
}
}
@ -405,4 +405,4 @@ static void ComFortuneSwapStar(s32 player1, s32 player2)
temp = GWStarsGet(player1);
GWStarsSet(player1, GWStarsGet(player2));
GWStarsSet(player2, temp);
}
}

View file

@ -113,12 +113,12 @@ static s32 hostMotTbl[][8] = {
};
static s32 messBaseTbl[] = {
0xE0000,
0xE0018,
0xE0030,
0xE0048,
0xE0060,
0xE0078,
MAKE_MESSID(14, 0),
MAKE_MESSID(14, 24),
MAKE_MESSID(14, 48),
MAKE_MESSID(14, 72),
MAKE_MESSID(14, 96),
MAKE_MESSID(14, 120),
0,
0,
0,
@ -566,7 +566,7 @@ static void Last5Main(void)
HuPrcVSleep();
}
BoardStatusItemSet(0);
temp_r24 = 0xE0090+GWBoardGet();
temp_r24 = MAKE_MESSID(14, 144) + GWBoardGet();
BoardWinCreate(2, temp_r24, BoardWinPortraitGetStar());
BoardWinWait();
for(temp_r31=0; temp_r31<2; temp_r31++) {
@ -1578,7 +1578,7 @@ static s32 CheckHostMove(void)
static void CreateStopWin(void)
{
s32 mess = 0x120011;
s32 mess = MAKE_MESSID(0x12, 0x11);
float size[2];
float pos_x, pos_y;
HuWinMesMaxSizeGet(1, size, mess);
@ -1986,4 +1986,4 @@ static void UpdateTeamResult(omObjData *object)
HuSprGrpPosSet(work->group[0], object->trans.x, object->trans.y);
HuSprGrpPosSet(work->group[1], object->rot.x, object->rot.y);
}
}
}

View file

@ -53,10 +53,10 @@ static s16 mgPlay4P[8];
// data
static s32 mgSetupSprTbl[13] = {
0x0007004B, 0x0007004C, 0x0007004D, 0x0007004E,
0x0007004F, 0x00070052, 0x00070050, 0x00070051,
0x00070053, 0x00070054, 0x00070055, 0x00070068,
0x00070056
DATA_MAKE_NUM(DATADIR_BOARD, 0x4B), DATA_MAKE_NUM(DATADIR_BOARD, 0x4C), DATA_MAKE_NUM(DATADIR_BOARD, 0x4D), DATA_MAKE_NUM(DATADIR_BOARD, 0x4E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x4F), DATA_MAKE_NUM(DATADIR_BOARD, 0x52), DATA_MAKE_NUM(DATADIR_BOARD, 0x50), DATA_MAKE_NUM(DATADIR_BOARD, 0x51),
DATA_MAKE_NUM(DATADIR_BOARD, 0x53), DATA_MAKE_NUM(DATADIR_BOARD, 0x54), DATA_MAKE_NUM(DATADIR_BOARD, 0x55), DATA_MAKE_NUM(DATADIR_BOARD, 0x68),
DATA_MAKE_NUM(DATADIR_BOARD, 0x56)
};
static Vec statusLayout4P[4] = {
{ 170.0f, 244.0f, 0.0f },
@ -77,9 +77,9 @@ static Vec statusLayout2Vs2[4] = {
{ 406.0f, 348.0f, 0.0f },
};
static s32 luckyMessTbl[9] = {
0x00140000, 0x00140005, 0x0014000A, 0x0014000F,
0x00140014, 0x00140019, 0x00140000, 0x00140000,
0x00140000
MAKE_MESSID(0x14, 0x00), MAKE_MESSID(0x14, 0x05), MAKE_MESSID(0x14, 0x0A), MAKE_MESSID(0x14, 0x0F),
MAKE_MESSID(0x14, 0x14), MAKE_MESSID(0x14, 0x19), MAKE_MESSID(0x14, 0x00), MAKE_MESSID(0x14, 0x00),
MAKE_MESSID(0x14, 0x00)
};
// sbss
@ -145,9 +145,9 @@ static inline s32 setupObjGet(void) {
static void ExecMGSetup(void) {
s32 sp60[9] = {
0x750000, 0x760000, 0x770000,
0x780000, 0x790000, 0x7A0000,
0x7B0000, 0x7C0000, 0x7D0000
DATADIR_W01, DATADIR_W02, DATADIR_W03,
DATADIR_W04, DATADIR_W05, DATADIR_W06,
DATADIR_W10, DATADIR_W20, DATADIR_W21
};
Vec sp54;
u16 var_r24;
@ -255,8 +255,8 @@ static void ExecMGSetup(void) {
while (setupObjGet() != 7) {
HuPrcVSleep();
}
HuDataDirClose(0x70000);
HuDataDirClose(0x20000);
HuDataDirClose(DATADIR_BOARD);
HuDataDirClose(DATADIR_BGUEST);
HuDataDirClose(sp60[GWBoardGet()]);
HuPrcSleep(2);
if (_CheckFlag(FLAG_ID_MAKE(0, 11)) != 0) {
@ -319,8 +319,8 @@ static void DetermineMGList(bitcopy* arg0) {
}
}
mgListAll[var_r24] = -1;
temp_r26 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 4, 0x10000000U);
temp_r25 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 2, 0x10000000U);
temp_r26 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 4, MEMORY_DEFAULT_NUM);
temp_r25 = HuMemDirectMallocNum(HEAP_SYSTEM, var_r27 * 2, MEMORY_DEFAULT_NUM);
var_r31 = mgInfoTbl;
for (var_r29 = var_r30 = 0; var_r30 < var_r27; var_r30++, var_r31++) {
@ -630,7 +630,7 @@ static void CreateMGSetup(void) {
temp_r29->unk_02 = 0;
temp_r29->unk_03 = 0;
temp_r29->unk_04 = 0;
temp_r28->unk_0C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x154, 0x10000000U);
temp_r28->unk_0C = HuMemDirectMallocNum(HEAP_SYSTEM, 0x154, MEMORY_DEFAULT_NUM);
temp_r31 = temp_r28->unk_0C;
temp_r31->unk_00[0] = HuSprGrpCreate(0xD);
@ -1066,7 +1066,7 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) {
if (activeMG[var_r23].unk_03 != 0) {
sp14 = activeMG[var_r23].unk_04;
} else {
sp14 = 0x90001;
sp14 = MAKE_MESSID(9, 1);
}
HuWinMesSet(temp_r3, sp14);
activeMG[var_r23].unk_00 = temp_r3;

View file

@ -161,9 +161,9 @@ static void MushroomMain(void) {
WaitItemGive();
if (itemResult != 0) {
var_r27 = 0x50001;
var_r27 = MAKE_MESSID(5, 1);
} else {
var_r27 = 0x50002;
var_r27 = MAKE_MESSID(5, 2);
}
BoardPlayerMotionShiftSet(curPlayer, 0xC, 0.0f, 4.0f, 0);
@ -341,7 +341,7 @@ static void CenterBox(ItemGiveWork2* arg0, omObjData* arg1) {
static void InitBox(s32 arg0) {
Vec sp10;
s32 sp8[2] = {0x0007006D, 0x0007006E};
s32 sp8[2] = {DATA_MAKE_NUM(DATADIR_BOARD, 0x6D), DATA_MAKE_NUM(DATADIR_BOARD, 0x6E)};
s32 var_r29;
s32 var_r28;
s32 var_r27;
@ -367,7 +367,7 @@ static void InitBox(s32 arg0) {
boxObj[i]->rot.x = 0.0f;
boxObj[i]->rot.y = 180.0f;
boxObj[i]->rot.z = 0.0f;
temp_r31->unk_02 = BoardModelCreate(0x70005, NULL, 0);
temp_r31->unk_02 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 5), NULL, 0);
BoardModelPosSet(temp_r31->unk_02, boxObj[i]->trans.x, boxObj[i]->trans.y, boxObj[i]->trans.z);
BoardModelMotionSpeedSet(temp_r31->unk_02, 0.0f);
BoardModelLayerSet(temp_r31->unk_02, 2U);
@ -558,4 +558,4 @@ static void WaitItemGive(void) {
while (temp_r31->unk00_field2 != 1) {
HuPrcVSleep();
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -110,16 +110,16 @@ static HsfanimStruct00 diceEffParam = {
};
static s32 diceDigitMdlTbl[10] = {
0x0007000C,
0x0007000D,
0x0007000E,
0x0007000F,
0x00070010,
0x00070011,
0x00070012,
0x00070013,
0x00070014,
0x00070015
DATA_MAKE_NUM(DATADIR_BOARD, 0x0C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x0F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x10),
DATA_MAKE_NUM(DATADIR_BOARD, 0x11),
DATA_MAKE_NUM(DATADIR_BOARD, 0x12),
DATA_MAKE_NUM(DATADIR_BOARD, 0x13),
DATA_MAKE_NUM(DATADIR_BOARD, 0x14),
DATA_MAKE_NUM(DATADIR_BOARD, 0x15)
};
s32 BoardRollExec(s32 arg0) {
@ -226,12 +226,12 @@ static void RollMain(void) {
var_r27 += BoardPlayerItemCount(temp_r25);
}
if (BoardItemPrevGet() != -1 || var_r27 == 0 || _CheckFlag(FLAG_ID_MAKE(1, 9)) || BoardMegaDoubleDiceCheck()) {
var_r29 = 0x90004;
var_r29 = MAKE_MESSID(0x09, 0x04);
} else {
var_r29 = 0x90002;
var_r29 = MAKE_MESSID(0x09, 0x02);
}
if (inputTimer != 0) {
var_r29 = 0x300025;
var_r29 = MAKE_MESSID(0x30, 0x25);
}
HuWinMesMaxSizeGet(1, sp8, var_r29);
switch (GWGameStat.language) {
@ -313,10 +313,10 @@ static void DiceCreate(s32 arg0) {
DiceWork *temp_r30;
s32 sp8;
s32 spC[4] = {
0x00070018,
0x00070019,
0x0007001A,
0x0007001B
DATA_MAKE_NUM(DATADIR_BOARD, 0x18),
DATA_MAKE_NUM(DATADIR_BOARD, 0x19),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1B)
};
sp8 = 0;
@ -575,7 +575,7 @@ s16 BoardDiceEffectCreate(void) {
AnimData *temp_r29;
void *temp_r28;
temp_r28 = HuDataSelHeapReadNum(0x7006B, MEMORY_DEFAULT_NUM, HEAP_DATA);
temp_r28 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_BOARD, 0x6B), MEMORY_DEFAULT_NUM, HEAP_DATA);
temp_r29 = HuSprAnimRead(temp_r28);
temp_r31 = Hu3DParManCreate(temp_r29, 0x64, &diceEffParam);
Hu3DParManAttrSet(temp_r31, 0x108);

View file

@ -115,15 +115,15 @@ static s8 defaultItemTbl[5] = {
};
static s32 hostMessTbl[] = {
0x000F0004,
0x000F0007,
0x000F000A,
0x000F000D,
0x000F0010,
0x000F0013,
0x000F0004,
0x000F0024,
0x000F0024
MAKE_MESSID(0x0F, 0x04),
MAKE_MESSID(0x0F, 0x07),
MAKE_MESSID(0x0F, 0x0A),
MAKE_MESSID(0x0F, 0x0D),
MAKE_MESSID(0x0F, 0x10),
MAKE_MESSID(0x0F, 0x13),
MAKE_MESSID(0x0F, 0x04),
MAKE_MESSID(0x0F, 0x24),
MAKE_MESSID(0x0F, 0x24)
};
static s8 itemPriceTbl[] = {
@ -134,15 +134,15 @@ static s8 itemPriceTbl[] = {
};
static s32 shopMotTbl[9][3] = {
{ 0x00020001, 0x00020003, 0x00020004 },
{ 0x00020009, 0x0002000B, 0x0002000C },
{ 0x0002000E, 0x00020010, 0x00020011 },
{ 0x00020018, 0x0002001A, 0x0002001B },
{ 0x0002001D, 0x0002001F, 0x00020020 },
{ 0x00020022, 0x00020024, 0x00020025 },
{ 0x00020009, 0x0002000B, 0x0002000C },
{ 0x0002002A, 0x0002002C, 0x0002002D },
{ 0x0002002A, 0x0002002C, 0x0002002D }
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x01), DATA_MAKE_NUM(DATADIR_BGUEST, 0x03), DATA_MAKE_NUM(DATADIR_BGUEST, 0x04) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x0E), DATA_MAKE_NUM(DATADIR_BGUEST, 0x10), DATA_MAKE_NUM(DATADIR_BGUEST, 0x11) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x18), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1B) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x1D), DATA_MAKE_NUM(DATADIR_BGUEST, 0x1F), DATA_MAKE_NUM(DATADIR_BGUEST, 0x20) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x22), DATA_MAKE_NUM(DATADIR_BGUEST, 0x24), DATA_MAKE_NUM(DATADIR_BGUEST, 0x25) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x09), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0B), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0C) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x2A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2C), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2D) },
{ DATA_MAKE_NUM(DATADIR_BGUEST, 0x2A), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2C), DATA_MAKE_NUM(DATADIR_BGUEST, 0x2D) }
};
void BoardShopHostSet(s16 arg0) {
@ -234,13 +234,13 @@ static void ExecShop(void) {
BoardPlayerIdleSet(shopPlayer);
var_r30 = 0;
if (BoardPlayerCoinsGet(shopPlayer) < 5) {
var_r30 = 0xF0003;
var_r30 = MAKE_MESSID(15, 3);
}
if (BoardPlayerItemCount(shopPlayer) == 3) {
var_r30 = 0xF0002;
var_r30 = MAKE_MESSID(15, 2);
}
if (GWSystem.turn == GWSystem.max_turn) {
var_r30 = 0xF0001;
var_r30 = MAKE_MESSID(15, 1);
}
if (var_r30 != 0) {
BoardWinCreate(0, var_r30, -1);
@ -307,7 +307,7 @@ static void ExecShop(void) {
BoardWinCreate(1, hostMessTbl[temp_r27] + 2, temp_r26);
BoardWinPriSet(1000);
for (i = 0; i < 5; i++) {
var_r30 = activeItemTbl[i] + 0xF0000;
var_r30 = MAKE_MESSID(15, activeItemTbl[i]);
var_r30 += 0x16;
BoardWinInsertMesSet(var_r30, i);
var_r29 = itemPriceTbl[activeItemTbl[i]];
@ -1003,7 +1003,7 @@ static void CreateShopItemChoice(s32 arg0, s32 arg1) {
if (GWPlayer[arg0].com) {
var_r31->unk01 = GWMessDelayGet();
}
BoardSpriteCreate(0x70055, 0x3DE, NULL, &spC);
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x55), 0x3DE, NULL, &spC);
HuSprGrpMemberSet(var_r31->unk06, 0, spC);
HuSprAttrSet(var_r31->unk06, 0, 8);
HuSprPosSet(var_r31->unk06, 0, temp_r30->trans.x, temp_r30->trans.y);

View file

@ -90,21 +90,21 @@ static s32 hitFX[4] = {
};
static s32 startMesTbl[9][5] = {
{ 0x00150001, 0x00150007, 0x0015000D, 0x00150016, 0x0015001C },
{ 0x00150002, 0x00150008, 0x0015000E, 0x00150017, 0x0015001D },
{ 0x00150003, 0x00150009, 0x0015000F, 0x00150018, 0x0015001E },
{ 0x00150004, 0x0015000A, 0x00150010, 0x00150019, 0x0015001F },
{ 0x00150005, 0x0015000B, 0x00150011, 0x0015001A, 0x00150020 },
{ 0x00150006, 0x0015000C, 0x00150012, 0x0015001B, 0x00150021 },
{ 0x00150001, 0x00150007, 0x0015000D, 0x00150016, 0x0015001C },
{ 0x00150033, 0x00150034, 0x00150035, 0x00150036, 0x00150037 },
{ 0x0015003B, 0x0015003C, 0x0015003D, 0x0015003E, 0x0015003F }
{ MAKE_MESSID(0x15, 0x01), MAKE_MESSID(0x15, 0x07), MAKE_MESSID(0x15, 0x0D), MAKE_MESSID(0x15, 0x16), MAKE_MESSID(0x15, 0x1C) },
{ MAKE_MESSID(0x15, 0x02), MAKE_MESSID(0x15, 0x08), MAKE_MESSID(0x15, 0x0E), MAKE_MESSID(0x15, 0x17), MAKE_MESSID(0x15, 0x1D) },
{ MAKE_MESSID(0x15, 0x03), MAKE_MESSID(0x15, 0x09), MAKE_MESSID(0x15, 0x0F), MAKE_MESSID(0x15, 0x18), MAKE_MESSID(0x15, 0x1E) },
{ MAKE_MESSID(0x15, 0x04), MAKE_MESSID(0x15, 0x0A), MAKE_MESSID(0x15, 0x10), MAKE_MESSID(0x15, 0x19), MAKE_MESSID(0x15, 0x1F) },
{ MAKE_MESSID(0x15, 0x05), MAKE_MESSID(0x15, 0x0B), MAKE_MESSID(0x15, 0x11), MAKE_MESSID(0x15, 0x1A), MAKE_MESSID(0x15, 0x20) },
{ MAKE_MESSID(0x15, 0x06), MAKE_MESSID(0x15, 0x0C), MAKE_MESSID(0x15, 0x12), MAKE_MESSID(0x15, 0x1B), MAKE_MESSID(0x15, 0x21) },
{ MAKE_MESSID(0x15, 0x01), MAKE_MESSID(0x15, 0x07), MAKE_MESSID(0x15, 0x0D), MAKE_MESSID(0x15, 0x16), MAKE_MESSID(0x15, 0x1C) },
{ MAKE_MESSID(0x15, 0x33), MAKE_MESSID(0x15, 0x34), MAKE_MESSID(0x15, 0x35), MAKE_MESSID(0x15, 0x36), MAKE_MESSID(0x15, 0x37) },
{ MAKE_MESSID(0x15, 0x3B), MAKE_MESSID(0x15, 0x3C), MAKE_MESSID(0x15, 0x3D), MAKE_MESSID(0x15, 0x3E), MAKE_MESSID(0x15, 0x3F) }
};
static s32 logoSprTbl[] = {
0x00070057, 0x00070058, 0x00070059,
0x0007005A, 0x0007005B, 0x0007005C,
0x00070057, 0x0007005D, 0x0007005E
DATA_MAKE_NUM(DATADIR_BOARD, 0x57), DATA_MAKE_NUM(DATADIR_BOARD, 0x58), DATA_MAKE_NUM(DATADIR_BOARD, 0x59),
DATA_MAKE_NUM(DATADIR_BOARD, 0x5A), DATA_MAKE_NUM(DATADIR_BOARD, 0x5B), DATA_MAKE_NUM(DATADIR_BOARD, 0x5C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x57), DATA_MAKE_NUM(DATADIR_BOARD, 0x5D), DATA_MAKE_NUM(DATADIR_BOARD, 0x5E)
};
void BoardStartExec(void) {
@ -321,7 +321,7 @@ static void CreatePlayerStart(void) {
var_r30->unk06 = 2;
var_r30->unk04 = 1;
var_r30->unk0E = 0x3C;
var_r30->unk08 = BoardModelCreate(0x70018, NULL, 0);
var_r30->unk08 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x18), NULL, 0);
BoardModelVisibilitySet(var_r30->unk08, 0);
BoardModelMotionSpeedSet(var_r30->unk08, 0.0f);
OSs8tof32(&i, &temp_f30);
@ -460,15 +460,15 @@ static void PlayerDiceFall(omObjData *arg0, PlayerStartWork *arg1) {
}
static s32 digitMdlTbl[9] = {
0x0007000D, 0x0007000E, 0x0007000F,
0x00070010, 0x00070011, 0x00070012,
0x00070013, 0x00070014, 0x00070015
DATA_MAKE_NUM(DATADIR_BOARD, 0x0D), DATA_MAKE_NUM(DATADIR_BOARD, 0x0E), DATA_MAKE_NUM(DATADIR_BOARD, 0x0F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x10), DATA_MAKE_NUM(DATADIR_BOARD, 0x11), DATA_MAKE_NUM(DATADIR_BOARD, 0x12),
DATA_MAKE_NUM(DATADIR_BOARD, 0x13), DATA_MAKE_NUM(DATADIR_BOARD, 0x14), DATA_MAKE_NUM(DATADIR_BOARD, 0x15)
};
static s32 playerOrderMesTbl[3] = {
0x00150013,
0x00150014,
0x00150015
MAKE_MESSID(0x15, 0x13),
MAKE_MESSID(0x15, 0x14),
MAKE_MESSID(0x15, 0x15)
};
static void PlayerDiceRoll(omObjData *arg0, PlayerStartWork *arg1) {
@ -787,7 +787,7 @@ static void InitCamera(void) {
camStartFocusPos.x -= 150.0f;
break;
}
camFocus = BoardModelCreate(0x7000A, NULL, 0);
camFocus = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 0);
BoardModelVisibilitySet(camFocus, 0);
BoardModelPosSetV(camFocus, &camStartFocusPos);
if (_CheckFlag(FLAG_ID_MAKE(1, 11))) {
@ -838,7 +838,7 @@ static void CreateTapWin(void) {
s32 var_r31;
if (!_CheckFlag(FLAG_ID_MAKE(1, 11))) {
var_r31 = 0x120014;
var_r31 = MAKE_MESSID(0x12, 0x14);
HuWinMesMaxSizeGet(1, sp8, var_r31);
var_f31 = -10000.0f;
var_f30 = 368.0f;

View file

@ -164,17 +164,17 @@ static s16 yourTurnSprGrp = -1;
static UnkUiStatusStruct uiStatus[4] = { 0 };
static s32 statusSprTbl[11] = {
0x00070027,
0x00070026,
0x00070029,
0x00070028,
0x00070028,
0x00070028,
0x0007002D,
0x00070028,
0x00070028,
0x00070028,
0x0007002C
DATA_MAKE_NUM(DATADIR_BOARD, 0x27),
DATA_MAKE_NUM(DATADIR_BOARD, 0x26),
DATA_MAKE_NUM(DATADIR_BOARD, 0x29),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x28),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2C)
};
static s16 statusSprPrioTbl[12] = {
@ -231,20 +231,20 @@ static float statusItemPosTbl[6][2] = {
};
static s32 itemMdlTbl[14] = {
0x00070083,
0x00070084,
0x00070085,
0x00070086,
0x00070087,
0x00070088,
0x00070089,
0x0007008A,
0x0007008B,
0x0007008C,
0x0007008D,
0x0007008E,
0x0007008F,
0x00070090
DATA_MAKE_NUM(DATADIR_BOARD, 0x83),
DATA_MAKE_NUM(DATADIR_BOARD, 0x84),
DATA_MAKE_NUM(DATADIR_BOARD, 0x85),
DATA_MAKE_NUM(DATADIR_BOARD, 0x86),
DATA_MAKE_NUM(DATADIR_BOARD, 0x87),
DATA_MAKE_NUM(DATADIR_BOARD, 0x88),
DATA_MAKE_NUM(DATADIR_BOARD, 0x89),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8B),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8C),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x8F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x90)
};
static Vec teamItemStatusPosTbl[2] = {
@ -254,20 +254,20 @@ static Vec teamItemStatusPosTbl[2] = {
s32 BoardItemModelGet(s32 arg0) {
s32 sp8[14] = {
0x0007006D,
0x0007006E,
0x0007006F,
0x00070070,
0x00070071,
0x00070072,
0x00070073,
0x00070074,
0x00070076,
0x00070077,
0x00070078,
0x00070079,
0x0007007A,
0x0007007B
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D),
DATA_MAKE_NUM(DATADIR_BOARD, 0x6E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x6F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x70),
DATA_MAKE_NUM(DATADIR_BOARD, 0x71),
DATA_MAKE_NUM(DATADIR_BOARD, 0x72),
DATA_MAKE_NUM(DATADIR_BOARD, 0x73),
DATA_MAKE_NUM(DATADIR_BOARD, 0x74),
DATA_MAKE_NUM(DATADIR_BOARD, 0x76),
DATA_MAKE_NUM(DATADIR_BOARD, 0x77),
DATA_MAKE_NUM(DATADIR_BOARD, 0x78),
DATA_MAKE_NUM(DATADIR_BOARD, 0x79),
DATA_MAKE_NUM(DATADIR_BOARD, 0x7A),
DATA_MAKE_NUM(DATADIR_BOARD, 0x7B)
};
return sp8[arg0];
@ -275,21 +275,21 @@ s32 BoardItemModelGet(s32 arg0) {
s32 BoardItemNameGet(s32 arg0) {
s32 sp8[15] = {
0x00120000,
0x00120001,
0x00120002,
0x00120003,
0x00120004,
0x00120005,
0x00120006,
0x00120007,
0x00120008,
0x00120009,
0x0012000A,
0x0012000B,
0x0012000C,
0x0012000D,
0x0012000E
DATA_MAKE_NUM(DATADIR_EFFECT, 0x00),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x01),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x02),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x03),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x04),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x05),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x06),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x07),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x08),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x09),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x0A),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x0B),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x0C),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x0D),
DATA_MAKE_NUM(DATADIR_EFFECT, 0x0E)
};
return sp8[arg0];
@ -427,10 +427,10 @@ void BoardStatusHammerCreate(s32 arg0) {
case 0:
return;
case 2:
var_r30 = 0x70093;
var_r30 = DATA_MAKE_NUM(DATADIR_BOARD, 0x93);
break;
case 1:
var_r30 = 0x70092;
var_r30 = DATA_MAKE_NUM(DATADIR_BOARD, 0x92);
break;
}
if (!temp_r31->unk00_bit6) {
@ -524,14 +524,14 @@ static void CreateBoardStatusSprite(s32 arg0, UnkUiStatusStruct *arg1) {
s32 temp_r27;
s16 temp_r26;
s32 spC[] = {
0x0007002E,
0x0007002F,
0x00070030,
0x00070031,
0x00070032,
0x00070033,
0x00070034,
0x00070035
DATA_MAKE_NUM(DATADIR_BOARD, 0x2E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x30),
DATA_MAKE_NUM(DATADIR_BOARD, 0x31),
DATA_MAKE_NUM(DATADIR_BOARD, 0x32),
DATA_MAKE_NUM(DATADIR_BOARD, 0x33),
DATA_MAKE_NUM(DATADIR_BOARD, 0x34),
DATA_MAKE_NUM(DATADIR_BOARD, 0x35)
};
s32 i;
@ -559,14 +559,14 @@ static void CreateBoardStatusSprite(s32 arg0, UnkUiStatusStruct *arg1) {
var_f31 = statusSprPosTbl[11][0];
var_f30 = statusSprPosTbl[11][1];
HuSprPosSet(arg1->unk02, 11, var_f31, var_f30);
BoardSpriteCreate(0x7002A, 0x5DC, NULL, &sp8);
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x2A), 0x5DC, NULL, &sp8);
HuSprGrpMemberSet(arg1->unk02, 0xC, sp8);
var_f31 = statusSprPosTbl[12][0];
var_f30 = statusSprPosTbl[12][1];
HuSprPosSet(arg1->unk02, 12, var_f31, var_f30);
HuSprAttrSet(arg1->unk02, 0xC, 8);
for (i = 0; i < 3; i++) {
BoardSpriteCreate(0x70091, 0x5DC, NULL, &sp8);
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x91), 0x5DC, NULL, &sp8);
HuSprGrpMemberSet(arg1->unk02, i + 0xD, sp8);
HuSprAttrSet(arg1->unk02, i + 0xD, 1);
HuSprAttrSet(arg1->unk02, i + 0xD, 8);
@ -704,14 +704,14 @@ void BoardPickerCreate(s32 arg0, s8 arg1, void *arg2, s8 arg3) {
s32 temp_r28;
s16 sp12;
s32 sp14[] = {
0x0007001E,
0x0007001F,
0x00070020,
0x00070021,
0x00070022,
0x00070023,
0x00070024,
0x00070025
DATA_MAKE_NUM(DATADIR_BOARD, 0x1E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x1F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x20),
DATA_MAKE_NUM(DATADIR_BOARD, 0x21),
DATA_MAKE_NUM(DATADIR_BOARD, 0x22),
DATA_MAKE_NUM(DATADIR_BOARD, 0x23),
DATA_MAKE_NUM(DATADIR_BOARD, 0x24),
DATA_MAKE_NUM(DATADIR_BOARD, 0x25)
};
temp_r28 = GWPlayer[arg0].character;
@ -899,14 +899,14 @@ void BoardYourTurnExec(s32 arg0) {
s32 temp_r29;
UnkUiWork02 *temp_r31;
s32 sp8[] = {
0x00070043,
0x00070044,
0x00070045,
0x00070046,
0x00070047,
0x00070048,
0x00070049,
0x0007004A
DATA_MAKE_NUM(DATADIR_BOARD, 0x43),
DATA_MAKE_NUM(DATADIR_BOARD, 0x44),
DATA_MAKE_NUM(DATADIR_BOARD, 0x45),
DATA_MAKE_NUM(DATADIR_BOARD, 0x46),
DATA_MAKE_NUM(DATADIR_BOARD, 0x47),
DATA_MAKE_NUM(DATADIR_BOARD, 0x48),
DATA_MAKE_NUM(DATADIR_BOARD, 0x49),
DATA_MAKE_NUM(DATADIR_BOARD, 0x4A)
};
temp_r29 = GWPlayer[arg0].character;
@ -1086,10 +1086,10 @@ static void ItemUseProc(void) {
itemTeamF = 0;
BoardFilterFadeOut(0x1E);
if (itemUsed == 0xA) {
var_r27 = 0x40000;
var_r27 = DATADIR_BKOOPASUIT;
}
if (itemUsed == 0xB) {
var_r27 = 0x90000;
var_r27 = DATADIR_BYOKODORI;
}
if (var_r27 != -1) {
var_r24 = BoardDataDirReadAsync(var_r27);
@ -1177,8 +1177,8 @@ static void DestroyItemUse(void) {
for (i = 0; i < 4; i++) {
GWPlayer[i].show_next = 1;
}
HuDataDirClose(0x40000);
HuDataDirClose(0x90000);
HuDataDirClose(DATADIR_BKOOPASUIT);
HuDataDirClose(DATADIR_BYOKODORI);
itemUseProc = NULL;
}
@ -1824,11 +1824,11 @@ static void CreateItemWindow(s32 arg0, s32 arg1) {
HuWinCenterPosSet(temp_r31->unk12[i], 0.0f, 48.0f);
HuWinMesSpeedSet(temp_r31->unk12[i], 0);
HuWinMesSet(temp_r31->unk12[i], BoardItemNameGet(temp_r28));
HuWinMesMaxSizeGet(1, sp8, temp_r28 + 0x8000E);
HuWinMesMaxSizeGet(1, sp8, temp_r28 + MAKE_MESSID(0x08, 0x0E));
temp_r31->unk1E[i] = HuWinCreate(temp_r31->unk2C[i].x, temp_r31->unk2C[i].y - (-94.0f), sp8[0], sp8[1], 0);
HuWinDrawNoSet(temp_r31->unk1E[i], 0x40);
HuWinMesSpeedSet(temp_r31->unk1E[i], 0);
HuWinMesSet(temp_r31->unk1E[i], temp_r28 + 0x8000E);
HuWinMesSet(temp_r31->unk1E[i], temp_r28 + MAKE_MESSID(0x08, 0x0E));
sp10.x = temp_r31->unk2C[i].x + 48.0f;
sp10.y = temp_r31->unk2C[i].y;
sp10.z = 400.0f;
@ -1964,9 +1964,9 @@ static void CreatePickerWindow(UnkUiWork01 *arg0, s32 arg1) {
break;
}
if (arg1 != 0) {
var_r30 = 0x10001A;
var_r30 = MAKE_MESSID(0x10, 0x1A);
} else {
var_r30 = 0x10001B;
var_r30 = MAKE_MESSID(0x10, 0x1B);
}
HuWinMesMaxSizeGet(1, spC, var_r30);
var_f30 = -10000.0f;

View file

@ -356,7 +356,7 @@ static void SetTargetView(void) {
Vec sp8;
BoardCameraBackup();
focusMdl = BoardModelCreate(0x7000A, 0, 0);
focusMdl = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), 0, 0);
BoardModelVisibilitySet(focusMdl, 0);
BoardModelPosSetV(focusMdl, &focusPos);
BoardCameraNearFarSet(10.0f, 30000.0f);
@ -399,10 +399,10 @@ static void CreateButtonWin(void) {
s32 var_r31;
if (viewControls != 2) {
var_r31 = 0x90005;
var_r31 = MAKE_MESSID(0x09, 0x05);
var_f31 = 286.0f;
} else {
var_r31 = 0x10004D;
var_r31 = MAKE_MESSID(0x10, 0x4D);
var_f31 = 328.0f;
}
HuWinMesMaxSizeGet(1, sp8, var_r31);
@ -429,14 +429,14 @@ static void InitOverheadView(void) {
float *temp_r30;
s32 i;
s32 sp1C[8] = {
0x0007002E,
0x0007002F,
0x00070030,
0x00070031,
0x00070032,
0x00070033,
0x00070034,
0x00070035
DATA_MAKE_NUM(DATADIR_BOARD, 0x2E),
DATA_MAKE_NUM(DATADIR_BOARD, 0x2F),
DATA_MAKE_NUM(DATADIR_BOARD, 0x30),
DATA_MAKE_NUM(DATADIR_BOARD, 0x31),
DATA_MAKE_NUM(DATADIR_BOARD, 0x32),
DATA_MAKE_NUM(DATADIR_BOARD, 0x33),
DATA_MAKE_NUM(DATADIR_BOARD, 0x34),
DATA_MAKE_NUM(DATADIR_BOARD, 0x35)
};
temp_r26 = omAddObjEx(boardObjMan, 0x1000, 0, 0, -1, UpdateOverheadView);
@ -459,13 +459,13 @@ static void InitOverheadView(void) {
} else {
GWCharColorGet(GWPlayer[i].character, &spA);
}
BoardSpriteCreate(0x7006C, 0x1770, 0, &sp8);
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x6C), 0x1770, 0, &sp8);
HuSprGrpMemberSet(temp_r31->unk02, i + 4, sp8);
HuSprPosSet(temp_r31->unk02, i + 4, temp_r30[0], temp_r30[1]);
HuSprColorSet(temp_r31->unk02, i + 4, spA.r, spA.g, spA.b);
}
temp_r30 = overhead2DPos[4];
temp_r31->unk04 = BoardModelCreate(0x70008, NULL, 0);
temp_r31->unk04 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x08), NULL, 0);
BoardModelMotionSpeedSet(temp_r31->unk04, 0.0f);
BoardModelLayerSet(temp_r31->unk04, 6);
BoardModelScaleSet(temp_r31->unk04, 0.4f, 0.4f, 0.4f);
@ -476,7 +476,7 @@ static void InitOverheadView(void) {
spA.r = 0xF8;
spA.g = 0xF0;
spA.b = 0x80;
BoardSpriteCreate(0x7006C, 0x1770, 0, &sp8);
BoardSpriteCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x6C), 0x1770, 0, &sp8);
HuSprGrpMemberSet(temp_r31->unk02, 8, sp8);
HuSprPosSet(temp_r31->unk02, 8, temp_r30[0], temp_r30[1]);
HuSprColorSet(temp_r31->unk02, 8, spA.r, spA.g, spA.b);

File diff suppressed because it is too large Load diff

View file

@ -3205,7 +3205,7 @@ static void PauseProc(void)
HuWinDispOn(window[2]);
HuWinMesSpeedSet(window[2], 0);
HuWinAttrSet(window[2], 0x800);
HuWinMesSet(window[2], 0x3300A1);
HuWinMesSet(window[2], MAKE_MESSID(0x33, 0xA1));
}
if(mgInfoTbl[mg].inst_mess[2]) {
s16 insert_idx;
@ -3545,4 +3545,4 @@ void MGSeqPracticeExitCheck(omObjData *object)
mgQuitExtraF = 1;
omDelObjEx(HuPrcCurrentGet(), object);
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -324,4 +324,4 @@ static void WipeFrameStill(GXColor color)
GXTexCoord2f32(0, 1);
GXEnd();
GXSetChanMatColor(GX_COLOR0A0, colorN);
}
}