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,21 +1,21 @@
#include "REL/w03Dll.h"
#include "game/data.h"
#include "game/board/main.h"
#include "game/board/space.h"
#include "game/board/player.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/board/window.h"
#include "game/data.h"
#include "game/hsfman.h"
#include "game/hsfdraw.h"
#include "game/hsfman.h"
#include "game/pad.h"
#include "game/wipe.h"
//structs
// structs
typedef struct w03UnkStruct5 {
/* 0x00 */ struct {
/* 0x00 */ struct {
u8 unk00_bit0 : 1;
u8 unk00_bit1 : 2;
u8 unk00_bit3 : 1;
@ -27,21 +27,21 @@ typedef struct w03UnkStruct5 {
} w03UnkStruct5;
typedef struct w03UnkStruct4 {
/* 0x00 */ struct {
/* 0x00 */ struct {
u8 unk00_bit0 : 1;
};
};
} w03UnkStruct4;
typedef struct w03StructUnk3 {
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 model;
/* 0x04 */ f32 unk_04;
/* 0x08 */ Vec unk_08;
/* 0x14 */ Vec unk_14;
/* 0x00 */ s16 unk_00;
/* 0x02 */ s16 model;
/* 0x04 */ f32 unk_04;
/* 0x08 */ Vec unk_08;
/* 0x14 */ Vec unk_14;
} w03StructUnk3;
typedef struct w03StructUnk2 {
/* 0x00 */ struct {
/* 0x00 */ struct {
u8 unkbit_00 : 1;
u8 unkbit_01 : 2;
u8 unkbit_03 : 1;
@ -52,10 +52,10 @@ typedef struct w03StructUnk2 {
u8 unk_03;
s16 model;
char unk_06[2];
w03StructUnk3* unk_08;
w03StructUnk3 *unk_08;
} w03StructUnk2;
//function signatures
// function signatures
void fn_1_313C(void);
void fn_1_3218(void);
void fn_1_3304(void);
@ -67,44 +67,40 @@ void fn_1_3F5C(s32);
void fn_1_4354(s32);
void fn_1_48EC(s32);
void fn_1_4A9C(void);
void fn_1_50D4(omObjData* arg0);
void fn_1_50D4(omObjData *arg0);
void fn_1_5838(s32);
void fn_1_5AC8(omObjData* arg0);
void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1);
void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1);
f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1);
void fn_1_5AC8(omObjData *arg0);
void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1);
void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1);
f32 fn_1_61A4(omObjData *arg0, w03UnkStruct5 *arg1);
void fn_1_629C(s8 arg0);
s32 fn_1_62D0(void);
void fn_1_62FC(void);
//bss
// bss
float lbl_1_bss_80[20][2];
s8 lbl_1_bss_7D;
s8 lbl_1_bss_7C;
omObjData *lbl_1_bss_78;
omObjData *lbl_1_bss_74;
Process* lbl_1_bss_70;
Process *lbl_1_bss_70;
//data
// data
s16 lbl_1_data_310 = -1;
s16 lbl_1_data_312 = -1;
s16 lbl_1_data_314 = -1;
s16 lbl_1_data_316 = -1;
s32 lbl_1_data_318[] = {
DATA_MAKE_NUM(DATADIR_W03, 0x0016),
DATA_MAKE_NUM(DATADIR_W03, 0x0017),
DATA_MAKE_NUM(DATADIR_W03, 0x0018),
DATA_MAKE_NUM(DATADIR_W03, 0x0019),
DATA_MAKE_NUM(DATADIR_W03, 0x001A),
DATA_NUM_LISTEND
};
s32 lbl_1_data_318[] = { DATA_MAKE_NUM(DATADIR_W03, 0x0016), DATA_MAKE_NUM(DATADIR_W03, 0x0017), DATA_MAKE_NUM(DATADIR_W03, 0x0018),
DATA_MAKE_NUM(DATADIR_W03, 0x0019), DATA_MAKE_NUM(DATADIR_W03, 0x001A), DATA_NUM_LISTEND };
void fn_1_3058(void) {
lbl_1_data_310 = BoardModelCreate(0x770015, lbl_1_data_318, 0);
void fn_1_3058(void)
{
lbl_1_data_310 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x15), lbl_1_data_318, 0);
fn_1_3304();
}
s32 fn_1_309C(void) {
s32 fn_1_309C(void)
{
BoardRollDispSet(0);
lbl_1_bss_70 = HuPrcChildCreate(fn_1_313C, 0x2003U, 0x2000U, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_70, fn_1_3218);
@ -112,12 +108,13 @@ s32 fn_1_309C(void) {
while (lbl_1_bss_70) {
HuPrcVSleep();
}
BoardRollDispSet(1);
return lbl_1_bss_7C;
}
void fn_1_313C(void) {
void fn_1_313C(void)
{
s32 temp_r31;
temp_r31 = GWSystem.player_curr;
@ -138,8 +135,8 @@ void fn_1_313C(void) {
HuPrcEnd();
}
void fn_1_3218(void) {
void fn_1_3218(void)
{
if (lbl_1_data_316 != -1) {
HuWinKill(lbl_1_data_316);
lbl_1_data_316 = -1;
@ -154,20 +151,21 @@ void fn_1_3218(void) {
BoardPlayerMotionKill(GWSystem.player_curr, lbl_1_data_312);
lbl_1_data_312 = -1;
}
lbl_1_bss_0->unk3 = 0;
lbl_1_bss_70 = 0;
}
void fn_1_3304(void) {
void fn_1_3304(void)
{
Vec sp8;
f32 temp_f31;
s32 var_r31;
if (lbl_1_bss_0->unk1 != 0) {
var_r31 = BoardSpaceFlagSearch(0, 0x4000);
} else {
}
else {
var_r31 = BoardSpaceFlagSearch(0, 0x8000);
}
@ -181,7 +179,8 @@ void fn_1_3304(void) {
BoardModelMotionStart(lbl_1_data_310, 2, 0x40000001);
}
s32 fn_1_3478(s32 arg0) {
s32 fn_1_3478(s32 arg0)
{
Vec sp38;
Vec sp2C;
Vec sp20;
@ -214,20 +213,20 @@ s32 fn_1_3478(s32 arg0) {
PSVECSubtract(&sp38, &sp2C, &sp20);
float_temp = atan2(sp20.x, sp20.z) / M_PI * 180.0f;
BoardPlayerMotBlendSet(arg0, (float_temp), 0xF);
while (BoardPlayerMotBlendCheck(arg0) == 0) {
HuPrcVSleep();
}
BoardPlayerIdleSet(arg0);
HuAudFXPlay(0x447);
BoardModelMotionShiftSet(lbl_1_data_310, 4, 0.0f, 5.0f, 0);
HuPrcSleep(6);
while (BoardModelMotionEndCheck(lbl_1_data_310) == 0) {
HuPrcVSleep();
}
BoardModelMotionShiftSet(lbl_1_data_310, 1, 0.0f, 5.0f, 0x40000001);
temp_r26 = BoardPlayerGetCharMess(arg0);
BoardWinCreate(2, MAKE_MESSID(22, 16), 8);
@ -245,26 +244,26 @@ s32 fn_1_3478(s32 arg0) {
while (var_r29 == 0) {
BoardWinCreateChoice(2, MAKE_MESSID(22, 17), 8, 0);
BoardWinAttrSet(0x10);
if (GWPlayer[arg0].com != 0) {
fn_1_4354(arg0);
}
BoardWinWait();
BoardWinKill();
switch (BoardWinChoiceGet()) {
case 0:
var_r29 = 1;
break;
case 2:
BoardViewMapExec(arg0);
break;
default:
case 1:
BoardWinCreate(2, MAKE_MESSID(22, 20), 8);
BoardWinWait();
BoardWinKill();
return 0;
case 0:
var_r29 = 1;
break;
case 2:
BoardViewMapExec(arg0);
break;
default:
case 1:
BoardWinCreate(2, MAKE_MESSID(22, 20), 8);
BoardWinWait();
BoardWinKill();
return 0;
}
}
@ -273,7 +272,7 @@ s32 fn_1_3478(s32 arg0) {
for (j = 0; j < 5; j++) {
BoardPlayerCoinsAdd(arg0, -1);
HuAudFXPlay(14);
HuPrcSleep(6);
HuPrcSleep(6);
}
HuAudFXPlay(15);
@ -281,7 +280,8 @@ s32 fn_1_3478(s32 arg0) {
return 1;
}
void fn_1_3814(s32 arg0) {
void fn_1_3814(s32 arg0)
{
Vec sp14;
Vec sp8;
f32 temp;
@ -289,11 +289,11 @@ void fn_1_3814(s32 arg0) {
BoardModelMotionShiftSet(lbl_1_data_310, 2, 0.0f, 10.0f, 0x40000001);
temp = (180.0f + BoardPlayerRotYGet(arg0));
BoardPlayerMotBlendSet(arg0, temp, 0xF);
while (BoardPlayerMotBlendCheck(arg0) == 0) {
HuPrcVSleep();
}
BoardCameraViewSet(1);
BoardCameraTargetPlayerSet(arg0);
@ -310,18 +310,21 @@ void fn_1_3814(s32 arg0) {
BoardCameraMotionWait();
}
void fn_1_3968(s32 arg0) {
void fn_1_3968(s32 arg0)
{
s32 var_r29 = 0;
s32 var_r28 = 0;
s32 sp48[] = {0x005F0065, 0x001A0065, 0x006D0065, 0x008A0065, 0x00850065, 0x00110065, 0x000D0065, 0x00810065};
s32 sp48[] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x65), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x65), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x65),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x65), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x65), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x65),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x65), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x65) };
Vec sp3C;
Vec sp30;
Vec sp24;
Vec sp18;
s32 sp10[2] = {0x00770013, 0x00770014};
s32 sp10[2] = { 0x00770013, 0x00770014 };
f32 spC;
s16 sp8;
f32 temp_f30;
f32 temp_f28;
f32 temp_f31;
@ -332,7 +335,7 @@ void fn_1_3968(s32 arg0) {
lbl_1_data_314 = BoardModelCreate(sp10[lbl_1_bss_0->unk1], NULL, 0);
character = GWPlayer[arg0].character;
lbl_1_data_312 = BoardPlayerMotionCreate(arg0, sp48[character]);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_310), "itemhook_oya", &sp3C);
BoardPlayerPosGet(arg0, &sp30);
temp_f30 = BoardVecDistXZCalc(&sp3C, &sp30);
@ -341,13 +344,13 @@ void fn_1_3968(s32 arg0) {
PSVECScale(&sp24, &sp24, temp_f30 / 45.0f);
BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 5.0f, 0);
HuPrcSleep(5);
spC = BoardPlayerRotYGet(arg0);
temp_f27 = 180.0f + spC;
var_r29 = 0;
sp8 = 0;
temp_f28 = 40.0f;
while (1) {
temp_f31 = __OSs16tof32(&sp8);
sp24.y = temp_f28 + (-0.08166667f * (0.75f * (temp_f31 * temp_f31)));
@ -359,16 +362,17 @@ void fn_1_3968(s32 arg0) {
sp30.x = sp3C.x;
sp30.z = sp3C.z;
}
if (var_r29 == 0) {
if (sp3C.y < sp30.y) {
var_r29 = 1;
}
} else {
}
else {
BoardDAngleCalcRange(&spC, temp_f27, 5.142857f);
BoardPlayerRotYSet(arg0, spC);
}
if (sp30.y <= sp3C.y && var_r29 != 0) {
sp30.y = sp3C.y;
break;
@ -376,39 +380,40 @@ void fn_1_3968(s32 arg0) {
BoardPlayerPosSetV(arg0, &sp30);
HuPrcVSleep();
sp8 += 1;
sp8 += 1;
}
BoardMusStart(1, 0x18, 0x7F, 0);
BoardPlayerPosSet(arg0, 0.0f, 0.0f, 0.0f);
BoardModelHookSet(lbl_1_data_310, "itemhook_oya", BoardPlayerModelGet(arg0));
BoardModelHookSet(lbl_1_data_310, "itemhook_oya", BoardPlayerModelGet(arg0));
BoardPlayerMotionStart(arg0, lbl_1_data_312, 0x40000001);
HuAudFXPlay(0x44F);
BoardModelMotionShiftSet(lbl_1_data_310, 5, 0.0f, 5.0f, 0);
sp18.x = -15.0f;
sp18.y = 180.0f;
sp18.z = 0.0f;
BoardCameraMotionStartEx(lbl_1_data_310, &sp18, NULL, 4000.0f, -1.0f, 336);
for (var_r28 = 0, sp8 = 0; ; sp8++) {
for (var_r28 = 0, sp8 = 0;; sp8++) {
if (var_r28 == 0) {
if (sp8 == 0x78U) {
WipeColorSet(0, 0, 0);
WipeCreate(WIPE_MODE_OUT, WIPE_TYPE_NORMAL, -1);
var_r28 = 1;
}
} else if (WipeStatGet() == 0) {
}
else if (WipeStatGet() == 0) {
break;
}
HuPrcVSleep();
}
}
void fn_1_3E88(s32 arg0) {
void fn_1_3E88(s32 arg0)
{
lbl_1_bss_7D = 0;
fn_1_48EC(arg0);
fn_1_5838(arg0);
@ -433,7 +438,8 @@ void fn_1_3E88(s32 arg0) {
BoardAudSeqPause(0, 0, 0x3E8);
}
void fn_1_3F5C(s32 arg0) {
void fn_1_3F5C(s32 arg0)
{
Mtx sp38;
Vec sp2C;
Vec sp20;
@ -447,7 +453,8 @@ void fn_1_3F5C(s32 arg0) {
if (lbl_1_bss_0->unk1 != 0) {
lbl_1_bss_0->unk1 = 0;
var_r30 = BoardSpaceFlagSearch(0, 0x8000);
} else {
}
else {
lbl_1_bss_0->unk1 = 1;
var_r30 = BoardSpaceFlagSearch(0, 0x4000);
}
@ -458,7 +465,8 @@ void fn_1_3F5C(s32 arg0) {
if (lbl_1_bss_0->unk1 != 0) {
var_r31 = BoardSpaceFlagSearch(0, 0x4000);
} else {
}
else {
var_r31 = BoardSpaceFlagSearch(0, 0x8000);
}
@ -506,19 +514,21 @@ void fn_1_3F5C(s32 arg0) {
BoardWinKill();
}
void fn_1_4354(s32 arg0) {
void fn_1_4354(s32 arg0)
{
s32 sp8;
s32 starPos;
s32 var_r30;
var_r30 = 0;
starPos = GWSystem.star_pos;
if (lbl_1_bss_0->unk1 != 0) {
if ((starPos == 1) || (starPos == 2) || (starPos == 3) || (starPos == 4)) {
var_r30 = 1;
}
} else if ((starPos == 0) || (starPos == 5) || (starPos == 6) || (starPos == 7)) {
}
else if ((starPos == 0) || (starPos == 5) || (starPos == 6) || (starPos == 7)) {
var_r30 = 1;
}
@ -534,12 +544,10 @@ void fn_1_4354(s32 arg0) {
BoardComKeySetRight();
}
char *lbl_1_data_34C[] = {
"jyanA",
"jyanB"
};
char *lbl_1_data_34C[] = { "jyanA", "jyanB" };
void fn_1_4424(w03StructUnk2* arg0) {
void fn_1_4424(w03StructUnk2 *arg0)
{
Mtx sp108;
Mtx spD8;
Mtx spA8;
@ -562,9 +570,9 @@ void fn_1_4424(w03StructUnk2* arg0) {
f32 sp10;
f32 sp10_2;
s16 i;
char* temp_r22;
w03StructUnk3* temp_r27;
ModelData* temp_r28;
char *temp_r22;
w03StructUnk3 *temp_r27;
ModelData *temp_r28;
memset(&lbl_1_bss_80, 0, 0xA0);
sp48.x = sp54.x = 0.0f;
@ -576,7 +584,8 @@ void fn_1_4424(w03StructUnk2* arg0) {
if (lbl_1_bss_0->unk1 != 0) {
PSVECSubtract(&sp6C, &sp60, &sp3C);
} else {
}
else {
PSVECSubtract(&sp60, &sp6C, &sp3C);
}
@ -595,21 +604,21 @@ void fn_1_4424(w03StructUnk2* arg0) {
for (i = var_r25 = 0; i < 20;) {
Hu3DMotionExec(temp_r23, temp_r28->unk_08, temp_r28->unk_64, 0);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_data_314), temp_r22, &sp54);
temp_r28->unk_64 = (f32) (temp_r28->unk_64 + temp_r28->unk_68);
temp_r28->unk_64 = (f32)(temp_r28->unk_64 + temp_r28->unk_68);
if (temp_r28->unk_64 > 400.0f) {
break;
}
if (var_r25 % 4 == 0 && ((s16) var_r25 != 0)) {
if (var_r25 % 4 == 0 && ((s16)var_r25 != 0)) {
temp_r27 = &arg0->unk_08[i];
temp_r27->unk_00 = 1;
temp_f30 = (0.5f - BoardRandFloat()) * 90;
OSf32tos16(&temp_f30, &sp8);
sp8 = (sp8 / 10) * 10;
OSs16tof32(&sp8, &temp_f30);
lbl_1_bss_80[i+1][0] = temp_f30;
lbl_1_bss_80[i+1][1] = temp_r28->unk_64;
lbl_1_bss_80[i + 1][0] = temp_f30;
lbl_1_bss_80[i + 1][1] = temp_r28->unk_64;
sp30 = sp48;
sp18 = sp54;
BoardMTXCalcLookAt(spA8, &sp18, &sp24, &sp30);
@ -632,12 +641,13 @@ void fn_1_4424(w03StructUnk2* arg0) {
arg0->unk_03 = i;
}
void fn_1_48EC(s32 arg0) {
void fn_1_48EC(s32 arg0)
{
Vec spC;
omObjData* obj;
omObjData *obj;
s32 i;
w03StructUnk2* temp_r31;
w03StructUnk3* temp_r30;
w03StructUnk2 *temp_r31;
w03StructUnk3 *temp_r30;
obj = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_50D4);
lbl_1_bss_74 = obj;
@ -648,9 +658,9 @@ void fn_1_48EC(s32 arg0) {
temp_r31->unkbit_04 = 0;
temp_r31->unk_02 = -1;
temp_r31->unkbit_01 = arg0;
temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA00, 0x10000000U);
temp_r31->unk_08 = HuMemDirectMallocNum(HEAP_SYSTEM, 0xA00, MEMORY_DEFAULT_NUM);
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &spC);
temp_r31->model = BoardModelCreate(0x770007, NULL, 0);
temp_r31->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x07), NULL, 0);
BoardModelVisibilitySet(temp_r31->model, 0);
BoardModelPosSetV(temp_r31->model, &spC);
BoardModelLayerSet(temp_r31->model, 2U);
@ -658,24 +668,26 @@ void fn_1_48EC(s32 arg0) {
for (i = 0; i < 80; i++) {
temp_r30 = &temp_r31->unk_08[i];
temp_r30->model = BoardModelCreate(0x70009, 0, 1);
temp_r30->model = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x09), 0, 1);
BoardModelVisibilitySet(temp_r30->model, 0);
BoardModelMotionStart(temp_r30->model, 0, 0x40000001U);
BoardModelMotionStart(temp_r30->model, 0, 0x40000001U);
}
fn_1_4424(temp_r31);
}
void fn_1_4A9C(void) {
void fn_1_4A9C(void)
{
OM_GET_WORK_PTR(lbl_1_bss_74, w03UnkStruct4)->unk00_bit0 = 1;
}
void fn_1_4ABC(w03StructUnk2* arg0) {
void fn_1_4ABC(w03StructUnk2 *arg0)
{
Vec sp8;
f32 temp_f31;
w03StructUnk3* temp_r31;
w03StructUnk3 *temp_r31;
s32 i;
BoardModelPosGet(lbl_1_data_310, &sp8);
sp8.y += 250.0f;
@ -691,10 +703,10 @@ void fn_1_4ABC(w03StructUnk2* arg0) {
HuAudFXPlay(7);
}
BoardModelPosSetV(temp_r31->model, &temp_r31->unk_08);
}
}
}
//reg alloc hack
// reg alloc hack
(void)i;
(void)i;
@ -710,22 +722,25 @@ void fn_1_4ABC(w03StructUnk2* arg0) {
if (temp_r31->unk_08.y < -300.0f) {
temp_r31->unk_00 = -1;
BoardModelVisibilitySet(temp_r31->model, 0);
} else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) {
}
else if (BoardVecMinDistCheck(&sp8, &temp_r31->unk_08, 200.0f) != 0) {
temp_r31->unk_00 = -1;
BoardModelVisibilitySet(temp_r31->model, 0);
BoardPlayerCoinsAdd(arg0->unkbit_01, 1);
CharModelLayerSetAll(2);
CharModelCoinEffectCreate(1, &temp_r31->unk_08);
HuAudFXPlay(7);
} else {
}
else {
BoardModelPosSetV(temp_r31->model, &temp_r31->unk_08);
}
}
}
}
}
s32 fn_1_4D0C(w03StructUnk3** arg0, s16* arg1) {
w03StructUnk2* temp_r31;
s32 fn_1_4D0C(w03StructUnk3 **arg0, s16 *arg1)
{
w03StructUnk2 *temp_r31;
if (!(lbl_1_bss_74)) {
return 0;
@ -737,13 +752,14 @@ s32 fn_1_4D0C(w03StructUnk3** arg0, s16* arg1) {
return 1;
}
void fn_1_4D60(w03StructUnk2* arg0) {
void fn_1_4D60(w03StructUnk2 *arg0)
{
Vec sp8;
f32 temp_f31;
f32 temp_f30;
s32 i;
s32 j;
w03StructUnk3* temp_r31;
w03StructUnk3 *temp_r31;
if (arg0->unk_02 == 1) {
Hu3DModelObjPosGet(BoardModelIDGet(lbl_1_bss_C[2]), "coin", &sp8);
@ -769,20 +785,23 @@ void fn_1_4D60(w03StructUnk2* arg0) {
}
}
void fn_1_4F24(w03StructUnk2* arg0) {
void fn_1_4F24(w03StructUnk2 *arg0)
{
s32 var_r30 = 0;
s32 sp8[4] = {5, 10, 30, 40};
s32 sp8[4] = { 5, 10, 30, 40 };
s32 temp_r29;
s32 temp_r28;
if (arg0->unk_02 == -1) {
if (GWTeamGet()) {
if (GWPlayer[arg0->unkbit_01].rank == 0) {
var_r30 = 5;
} else if (GWPlayer[arg0->unkbit_01].rank == 1) {
}
else if (GWPlayer[arg0->unkbit_01].rank == 1) {
var_r30 = 20;
}
} else {
}
else {
var_r30 = sp8[GWPlayer[arg0->unkbit_01].rank];
}
@ -792,10 +811,12 @@ void fn_1_4F24(w03StructUnk2* arg0) {
if (temp_r29 < var_r30) {
if (temp_r28 < 30) {
arg0->unk_02 = 2;
} else {
}
else {
arg0->unk_02 = 1;
}
} else {
}
else {
arg0->unk_02 = 0;
}
@ -805,12 +826,13 @@ void fn_1_4F24(w03StructUnk2* arg0) {
}
}
void fn_1_50D4(omObjData* arg0) {
void fn_1_50D4(omObjData *arg0)
{
Vec sp50;
Vec sp44;
Vec sp38;
PlayerState* sp18;
PlayerState* sp14;
PlayerState *sp18;
PlayerState *sp14;
s16 sp10[2];
s16 spC[2];
f32 temp_f31;
@ -819,12 +841,12 @@ void fn_1_50D4(omObjData* arg0) {
s32 i, j, k;
s32 temp_r22;
s32 temp_r23;
w03StructUnk3* temp_r30;
w03StructUnk2* temp_r31;
w03StructUnk3* temp;
w03StructUnk3 *temp_r30;
w03StructUnk2 *temp_r31;
w03StructUnk3 *temp;
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_74, w03StructUnk2);
if ((temp_r31->unkbit_00 != 0) || (BoardIsKill() != 0)) {
for (i = 0; i < 80; i++) {
temp = &temp_r31->unk_08[i];
@ -834,28 +856,26 @@ void fn_1_50D4(omObjData* arg0) {
for (i = 0; i < 4; i++) {
BoardModelVisibilitySet(BoardPlayerModelGet(i), 1);
}
BoardModelKill(temp_r31->model);
HuMemDirectFree(temp_r31->unk_08);
lbl_1_bss_74 = 0;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
if (lbl_1_data_314 != -1) {
temp_f31 = BoardModelMotionTimeGet(lbl_1_data_314);
if (temp_r31->unk_01 == 0) {
if ((lbl_1_bss_0->unk1 != 0) &&
((temp_f31 >= 212.0f)) ||
(lbl_1_bss_0->unk1 == 0) &&
((temp_f31 >= 86.0f))) {
if ((lbl_1_bss_0->unk1 != 0) && ((temp_f31 >= 212.0f)) || (lbl_1_bss_0->unk1 == 0) && ((temp_f31 >= 86.0f))) {
temp_r31->unk_01 = 1;
}
} else {
}
else {
fn_1_4F24(temp_r31);
}
if (temp_r31->unk_01 != 0) {
if (BoardModelMotionEndCheck(lbl_1_bss_C[2]) != 0) {
BoardModelMotionStart(lbl_1_bss_C[2], 0, 0x40000001);
@ -865,12 +885,13 @@ void fn_1_50D4(omObjData* arg0) {
BoardModelVisibilitySet(temp_r31->model, 0);
}
}
if (BoardModelMotionTimeGet(lbl_1_bss_C[2]) >= 170.0f) {
if (temp_r31->unkbit_04 == 0) {
if (temp_r31->unkbit_03 == 0) {
HuAudFXPlay(0x43C);
} else {
}
else {
HuAudFXPlay(0x43D);
}
temp_r31->unkbit_04 = 1;
@ -878,16 +899,17 @@ void fn_1_50D4(omObjData* arg0) {
if (temp_r31->unk_02 == 1) {
omVibrate(GWSystem.player_curr, 0xC, 4, 2);
fn_1_4D60(temp_r31);
} else if ((temp_r31->unk_02 == 2) && (temp_r31->unkbit_03 == 0)) {
}
else if ((temp_r31->unk_02 == 2) && (temp_r31->unkbit_03 == 0)) {
omVibrate(GWSystem.player_curr, 0xC, 0xC, 0);
BoardModelVisibilitySet(temp_r31->model, 1);
BoardModelMotionStart(temp_r31->model, 0, 0);
temp_r31->unkbit_03 = 1;
}
}
fn_1_4ABC(temp_r31);
for (i = 0; i < 4; i++) {
if (i != GWSystem.player_curr) {
BoardPlayerPosGet(i, &sp50);
@ -895,7 +917,8 @@ void fn_1_50D4(omObjData* arg0) {
PSVECSubtract(&sp50, &sp44, &sp38);
if (PSVECMag(&sp38) >= 2000.0f) {
BoardModelVisibilitySet(BoardPlayerModelGet(i), 0);
} else {
}
else {
BoardModelVisibilitySet(BoardPlayerModelGet(i), 1);
}
}
@ -903,11 +926,12 @@ void fn_1_50D4(omObjData* arg0) {
}
}
void fn_1_5838(s32 arg0) {
void fn_1_5838(s32 arg0)
{
Vec sp18;
Vec spC;
omObjData* obj;
w03UnkStruct5* temp_r31;
omObjData *obj;
w03UnkStruct5 *temp_r31;
obj = omAddObjEx(boardObjMan, 0x7E01, 0, 0, -1, &fn_1_5AC8);
lbl_1_bss_78 = obj;
@ -918,18 +942,18 @@ void fn_1_5838(s32 arg0) {
temp_r31->unk00_bit3 = 0;
switch (GWPlayer[temp_r31->unk00_bit1].diff) {
case 0:
temp_r31->unk_08 = (-15.0f + (-30.0f * BoardRandFloat()));
break;
case 1:
temp_r31->unk_08 = (-5.0f + (-10.0f * BoardRandFloat()));
break;
case 2:
temp_r31->unk_08 = (-2.0f + (-5.0f * BoardRandFloat()));
break;
case 3:
temp_r31->unk_08 = 0.0f;
break;
case 0:
temp_r31->unk_08 = (-15.0f + (-30.0f * BoardRandFloat()));
break;
case 1:
temp_r31->unk_08 = (-5.0f + (-10.0f * BoardRandFloat()));
break;
case 2:
temp_r31->unk_08 = (-2.0f + (-5.0f * BoardRandFloat()));
break;
case 3:
temp_r31->unk_08 = 0.0f;
break;
}
BoardCameraMoveSet(0);
@ -950,9 +974,10 @@ void fn_1_5838(s32 arg0) {
BoardCameraTargetModelSet(-1);
}
void fn_1_5AC8(omObjData* arg0) {
void fn_1_5AC8(omObjData *arg0)
{
s32 temp_r0;
w03UnkStruct5* temp_r31;
w03UnkStruct5 *temp_r31;
temp_r31 = OM_GET_WORK_PTR(arg0, w03UnkStruct5);
@ -971,32 +996,29 @@ void fn_1_5AC8(omObjData* arg0) {
}
switch (temp_r31->unk00_bit4) {
case 1:
if (lbl_1_bss_7D != 0) {
fn_1_629C(2);
fn_1_62FC();
BoardCameraTargetModelSet(lbl_1_data_310);
BoardCameraMoveSet(1);
}
break;
case 2:
fn_1_5C5C(arg0, (w03UnkStruct5* ) temp_r31);
break;
case 3:
BoardCameraTargetModelSet(-1);
BoardCameraMoveSet(0);
temp_r31->unk00_bit0 = 1;
break;
case 1:
if (lbl_1_bss_7D != 0) {
fn_1_629C(2);
fn_1_62FC();
BoardCameraTargetModelSet(lbl_1_data_310);
BoardCameraMoveSet(1);
}
break;
case 2:
fn_1_5C5C(arg0, (w03UnkStruct5 *)temp_r31);
break;
case 3:
BoardCameraTargetModelSet(-1);
BoardCameraMoveSet(0);
temp_r31->unk00_bit0 = 1;
break;
}
}
char *lbl_1_data_35C[] = {
"jyanA",
"jyanB"
};
char *lbl_1_data_35C[] = { "jyanA", "jyanB" };
void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
void fn_1_5C5C(omObjData *arg0, w03UnkStruct5 *arg1)
{
Mtx sp110;
Mtx spE0;
Mtx spB0;
@ -1009,8 +1031,8 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
Vec sp14;
Vec sp8;
s16 temp_r3;
char* temp_r27;
ModelData* temp_r30;
char *temp_r27;
ModelData *temp_r30;
if (((WipeStatGet() == 0) && (arg1->unk00_bit3) || (BoardModelMotionEndCheck(lbl_1_data_314) != 0))) {
fn_1_629C(3);
@ -1037,7 +1059,8 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
if (0.0f != temp_r30->unk_64) {
PSVECSubtract(&sp38, &sp44, &sp2C);
} else {
}
else {
sp2C.x = sp2C.y = sp2C.z = 0.0f;
}
@ -1068,14 +1091,16 @@ void fn_1_5C5C(omObjData* arg0, w03UnkStruct5* arg1) {
BoardCameraRotSet(-20.0f, (180.0 * (atan2(sp2C.x, sp2C.z) / M_PI)));
}
void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1) {
void fn_1_602C(omObjData *arg0, w03UnkStruct5 *arg1)
{
f32 temp_f31 = 0.0f;
f32 var_f30;
f32 var_f29;
if (GWPlayer[arg1->unk00_bit1].com == 0) {
var_f30 = HuPadStkX[GWPlayer[arg1->unk00_bit1].port];
} else {
}
else {
var_f30 = fn_1_61A4(arg0, arg1);
}
@ -1083,7 +1108,8 @@ void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1) {
if (temp_f31 < 0.0f) {
var_f29 = -temp_f31;
} else {
}
else {
var_f29 = temp_f31;
}
@ -1095,13 +1121,14 @@ void fn_1_602C(omObjData* arg0, w03UnkStruct5* arg1) {
BoardDAngleCalcRange(&arg1->unk_04, temp_f31, 1.0f);
}
f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1) {
w03StructUnk3* sp8;
f32 fn_1_61A4(omObjData *arg0, w03UnkStruct5 *arg1)
{
w03StructUnk3 *sp8;
f32 temp_f31;
s16 i;
w03StructUnk2* temp_r29;
w03StructUnk2 *temp_r29;
s16 var_r28;
f32* temp_r31;
f32 *temp_r31;
if (lbl_1_bss_74) {
temp_r29 = OM_GET_WORK_PTR(lbl_1_bss_74, w03StructUnk2);
@ -1116,28 +1143,31 @@ f32 fn_1_61A4(omObjData* arg0, w03UnkStruct5* arg1) {
temp_r31 = lbl_1_bss_80[i];
if ((temp_r31[1] < temp_f31) && (temp_r31[3] > temp_f31)) {
return -1.5f * temp_r31[2];
}
}
}
return 0.0f;
}
void fn_1_629C(s8 arg0) {
w03UnkStruct5* temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5);
void fn_1_629C(s8 arg0)
{
w03UnkStruct5 *temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5);
temp_r31->unk00_bit4 = arg0;
}
s32 fn_1_62D0(void) {
w03UnkStruct5* temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5);
s32 fn_1_62D0(void)
{
w03UnkStruct5 *temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_78, w03UnkStruct5);
return temp_r31->unk00_bit4;
}
void fn_1_62FC(void) {
void fn_1_62FC(void)
{
f32 widthHeight[2];
s32 messageID = 0x000D0005;
s32 messageID = DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x05);
f32 x;
f32 y;
HuWinMesMaxSizeGet(1, widthHeight, messageID);
x = -10000.0f;
y = 392.0f;

View file

@ -125,24 +125,24 @@ void BoardCreate(void) {
lbl_1_bss_0 = (w03State*)&GWSystem.board_data;
lbl_1_bss_0->unk3 = 0;
BoardSpaceInit(0x770000);
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W03, 0x00));
lbl_1_data_1E0 = BoardModelCreate(0x770001, NULL, 0);
lbl_1_data_1E0 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x01), NULL, 0);
fn_8006DDE8(lbl_1_data_1E0, -1.0f);
BoardModelPosSet(lbl_1_data_1E0, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_1E0, 0, 0x40000001);
lbl_1_data_1E8 = BoardModelCreate(0x770003, NULL, 0);
lbl_1_data_1E8 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x03), NULL, 0);
fn_8006DDE8(lbl_1_data_1E8, -1.0f);
BoardModelPosSet(lbl_1_data_1E8, 0.0f, 0.0f, 0.0f);
BoardModelLayerSet(lbl_1_data_1E8, 2);
lbl_1_data_1E2 = BoardModelCreate(0x770002, NULL, 0);
lbl_1_data_1E2 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x02), NULL, 0);
fn_8006DDE8(lbl_1_data_1E2, -1.0f);
BoardModelPosSet(lbl_1_data_1E2, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_1E2, 0, 0x40000001);
lbl_1_data_1E4 = BoardModelCreate(0x77001B, lbl_1_data_20C, 0);
lbl_1_data_1E4 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x1B), lbl_1_data_20C, 0);
BoardModelPosSet(lbl_1_data_1E4, 0.0f, 0.0f, 0.0f);
BoardModelMotionStart(lbl_1_data_1E4, 1, 0x40000001);
@ -473,4 +473,4 @@ void fn_1_10E4(omObjData* arg0) {
}
HuAudFXListnerUpdate(&sp14, &sp8);
}
}

View file

@ -1,17 +1,17 @@
#include "dolphin.h"
#include "game/chrman.h"
#include "game/object.h"
#include "REL/w03Dll.h"
#include "dolphin.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/minigame_seq.h"
#include "game/chrman.h"
#include "game/hsfdraw.h"
#include "game/minigame_seq.h"
#include "game/object.h"
#include "game/pad.h"
//structs
typedef struct someBits3 { //make sure this is defined correctly
// structs
typedef struct someBits3 { // make sure this is defined correctly
/* 0x00 */ struct {
u8 unk00_bit0 : 1;
u8 unk00_bit1 : 4;
@ -42,58 +42,61 @@ typedef struct unkTemp2 {
s8 unk4;
char unk_05[3];
f32 unk8;
unkTemp* unk_0C;
unkTemp *unk_0C;
} unkTemp2;
//function signatures
// function signatures
void fn_1_7C98(void);
void fn_1_7C38(void);
s32 fn_1_7D18(s32 arg0);
void fn_1_8140(s32 arg0);
void fn_1_81E0(s32 arg0);
void fn_1_8530(omObjData* arg0);
void fn_1_8530(omObjData *arg0);
void fn_1_84A8(s32 arg0);
void fn_1_8698(omObjData* arg0, someBits3* arg1);
void fn_1_8C08(omObjData* arg0, someBits3* arg1);
void fn_1_8E44(omObjData* arg0, someBits3* arg1);
void fn_1_9044(omObjData* arg0, someBits3* arg1);
void fn_1_8698(omObjData *arg0, someBits3 *arg1);
void fn_1_8C08(omObjData *arg0, someBits3 *arg1);
void fn_1_8E44(omObjData *arg0, someBits3 *arg1);
void fn_1_9044(omObjData *arg0, someBits3 *arg1);
void fn_1_91B8(void);
void fn_1_9230(s32 arg0);
void fn_1_9384(void);
void fn_1_9474(s32 arg0);
void fn_1_97F8(s32 arg0);
void fn_1_9A1C(unkTemp2* arg0);
void fn_1_9A1C(unkTemp2 *arg0);
//data
// data
s32 lbl_1_data_450 = -1;
s16 lbl_1_data_454 = -1;
s16 lbl_1_data_456 = -1;
s16 lbl_1_data_458 = -1;
s32 lbl_1_data_45C[] = {0x00770021, 0x00770022, -1};
s32 lbl_1_data_45C[] = { DATA_MAKE_NUM(DATADIR_W03, 0x21), DATA_MAKE_NUM(DATADIR_W03, 0x22), DATA_NUM_LISTEND };
//BSS
// BSS
char lbl_1_bss_150[0x30];
s16 lbl_1_bss_14E;
s8 lbl_1_bss_14C;
omObjData* lbl_1_bss_148;
omObjData* lbl_1_bss_144;
Process* lbl_1_bss_140;
omObjData *lbl_1_bss_148;
omObjData *lbl_1_bss_144;
Process *lbl_1_bss_140;
void fn_1_7ABC(void) {
lbl_1_data_456 = BoardModelCreate(0x770020, lbl_1_data_45C, 0);
void fn_1_7ABC(void)
{
lbl_1_data_456 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x20), lbl_1_data_45C, 0);
BoardModelHookSet(lbl_1_bss_C[7], "phei", lbl_1_data_456);
BoardModelMotionStart(lbl_1_data_456, 2, 0x40000002);
BoardModelRotYSet(lbl_1_data_456, -45.0f);
}
void fn_1_7B58(void) {
void fn_1_7B58(void)
{
if (lbl_1_data_456 != -1) {
BoardModelKill(lbl_1_data_456);
lbl_1_data_456 = -1;
}
}
void fn_1_7BA8(void) {
void fn_1_7BA8(void)
{
BoardRollDispSet(0);
lbl_1_bss_140 = HuPrcChildCreate(&fn_1_7C98, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_140, &fn_1_7C38);
@ -103,7 +106,8 @@ void fn_1_7BA8(void) {
BoardRollDispSet(1);
}
void fn_1_7C38(void) {
void fn_1_7C38(void)
{
if (lbl_1_data_454 != -1) {
HuWinKill(lbl_1_data_454);
lbl_1_data_454 = -1;
@ -111,7 +115,8 @@ void fn_1_7C38(void) {
lbl_1_bss_140 = 0;
}
void fn_1_7C98(void) {
void fn_1_7C98(void)
{
s32 temp_r31;
temp_r31 = GWSystem.player_curr;
@ -125,7 +130,8 @@ void fn_1_7C98(void) {
HuPrcEnd();
}
s32 fn_1_7D18(s32 arg0) {
s32 fn_1_7D18(s32 arg0)
{
Point3d sp38;
Point3d sp2C;
Point3d sp20;
@ -136,7 +142,7 @@ s32 fn_1_7D18(s32 arg0) {
s16 space;
s16 temp_r28;
f32 arctan;
BoardWinCreateChoice(2, MAKE_MESSID(22, 21), 2, 0);
if (GWPlayer[arg0].com != 0) {
@ -176,7 +182,8 @@ s32 fn_1_7D18(s32 arg0) {
if (GWPlayer[arg0].character == 5) {
var_f31 = 54.000004f;
} else {
}
else {
var_f31 = 39.0f;
}
@ -204,9 +211,10 @@ s32 fn_1_7D18(s32 arg0) {
return 1;
}
void fn_1_8140(s32 arg0) {
void fn_1_8140(s32 arg0)
{
s16 temp_r31;
fn_1_81E0(arg0);
BoardMusStart(1, 0x16, 0x7F, 0);
temp_r31 = MGSeqStartCreate();
@ -226,35 +234,36 @@ void fn_1_8140(s32 arg0) {
}
s32 lbl_1_data_470[] = {
0x005F0066,
0x001A0066,
0x006D0066,
0x008A0066,
0x00850066,
0x00110066,
0x000D0066,
0x00810066
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x66),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x66),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x66),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x66),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x66),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x66),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x66),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x66),
};
s32 lbl_1_data_490[] = {
0x005F0067,
0x001A0067,
0x006D0067,
0x008A0067,
0x00850067,
0x00110067,
0x000D0067,
0x00810067
DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x67),
DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x67),
DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x67),
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x67),
DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x67),
DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x67),
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x67),
DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x67),
};
void fn_1_81E0(s32 arg0) {
void fn_1_81E0(s32 arg0)
{
Point3d sp8;
omObjData* temp_r3;
omObjData *temp_r3;
f32 temp_f31;
s32 temp_r28;
s32 temp_r5;
s32 temp_r5_2;
someBits3* temp_r31;
someBits3 *temp_r31;
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_8530);
lbl_1_bss_144 = temp_r3;
@ -273,7 +282,7 @@ void fn_1_81E0(s32 arg0) {
temp_r31->unk_06[1] = BoardPlayerMotionCreate(arg0, lbl_1_data_470[temp_r28]);
temp_r31->unk_06[2] = BoardPlayerMotionCreate(arg0, lbl_1_data_490[temp_r28]);
temp_f31 = 0.3f;
temp_r31->unk_06[0] = BoardModelCreate(0x770009, NULL, 0);
temp_r31->unk_06[0] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x09), NULL, 0);
BoardModelVisibilitySet(temp_r31->unk_06[0], 0);
BoardPlayerPosGet(arg0, &sp8);
BoardModelPosSetV(temp_r31->unk_06[0], &sp8);
@ -283,10 +292,11 @@ void fn_1_81E0(s32 arg0) {
BoardModelMotionSpeedSet(lbl_1_data_456, temp_r3->trans.x);
BoardPlayerMotionStart(arg0, temp_r31->unk_06[1], 0x40000001);
BoardPlayerMotionSpeedSet(arg0, temp_r3->trans.x);
lbl_1_data_458 = BoardModelMotionCreate(lbl_1_bss_C[10], 0x770025);
lbl_1_data_458 = BoardModelMotionCreate(lbl_1_bss_C[10], DATA_MAKE_NUM(DATADIR_W03, 0x25));
}
void fn_1_8434(someBits3* arg0) {
void fn_1_8434(someBits3 *arg0)
{
if (arg0->unk_06[1] != -1) {
BoardPlayerMotionKill(arg0->unk00_bit5, arg0->unk_06[1]);
}
@ -298,9 +308,10 @@ void fn_1_8434(someBits3* arg0) {
}
}
void fn_1_84A8(s32 arg0) {
someBits3* temp_r31;
void fn_1_84A8(s32 arg0)
{
someBits3 *temp_r31;
if (lbl_1_bss_144) {
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_144, someBits3);
temp_r31->unk00_bit1 = arg0;
@ -310,12 +321,13 @@ void fn_1_84A8(s32 arg0) {
}
}
void fn_1_8530(omObjData* arg0) {
void fn_1_8530(omObjData *arg0)
{
s32 temp_r0;
someBits3* temp_r31;
someBits3 *temp_r31;
temp_r31 = OM_GET_WORK_PTR(arg0, someBits3);
if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) {
if (temp_r31->unk_04 != -1) {
MGSeqParamSet(temp_r31->unk_04, 2, -1);
@ -330,7 +342,7 @@ void fn_1_8530(omObjData* arg0) {
BoardModelKill(temp_r31->unk_06[0]);
}
lbl_1_bss_144 = NULL;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
@ -341,24 +353,25 @@ void fn_1_8530(omObjData* arg0) {
}
switch (temp_r31->unk00_bit1) {
case 0:
fn_1_8698(arg0, temp_r31);
return;
case 1:
fn_1_8C08(arg0, temp_r31);
return;
case 2:
fn_1_8E44(arg0, temp_r31);
return;
case 3:
fn_1_9044(arg0, temp_r31);
/* fallthrough */
case 4:
break;
case 0:
fn_1_8698(arg0, temp_r31);
return;
case 1:
fn_1_8C08(arg0, temp_r31);
return;
case 2:
fn_1_8E44(arg0, temp_r31);
return;
case 3:
fn_1_9044(arg0, temp_r31);
/* fallthrough */
case 4:
break;
}
}
void fn_1_8698(omObjData* arg0, someBits3* arg1) {
void fn_1_8698(omObjData *arg0, someBits3 *arg1)
{
s32 temp_r27;
u32 var_r28;
u32 var_r26;
@ -367,10 +380,12 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
if (arg1->unk3 != 0) {
arg1->unk3--;
} else {
}
else {
if (arg1->unk2 != 0) {
arg1->unk2--;
} else {
}
else {
MGSeqParamSet(arg1->unk_04, 2, -1);
arg1->unk_04 = -1;
arg1->unk00_bit1 = 1;
@ -384,7 +399,7 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
lbl_1_bss_14E = 30;
}
OSu16tof32((u16*)&lbl_1_bss_14E, &arg0->rot.x); //??
OSu16tof32((u16 *)&lbl_1_bss_14E, &arg0->rot.x); //??
BoardModelAttrReset(lbl_1_data_456, 0x40000002);
BoardModelAttrReset(lbl_1_bss_C[7], 0x40000002);
BoardModelAttrReset(lbl_1_bss_C[10], 0x40000002);
@ -407,35 +422,35 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
MGSeqParamSet(arg1->unk_04, 1, arg1->unk2);
arg1->unk3 = 60;
}
var_r26 = GWPlayer[arg1->unk00_bit5].port;
var_r28 = 0;
if ((GWPlayer[arg1->unk00_bit5].com) != 0) {
temp_r27 = BoardRandMod(100);
switch (GWPlayer[arg1->unk00_bit5].diff) {
case 0:
if (temp_r27 < 12) {
case 0:
if (temp_r27 < 12) {
var_r28 = 0x100;
}
break;
case 1:
if (temp_r27 < 22) {
var_r28 = 0x100;
}
break;
case 2:
if (temp_r27 < 50) {
var_r28 = 0x100;
}
break;
case 3:
var_r28 = 0x100;
}
break;
case 1:
if (temp_r27 < 22) {
var_r28 = 0x100;
}
break;
case 2:
if (temp_r27 < 50) {
var_r28 = 0x100;
}
break;
case 3:
var_r28 = 0x100;
break;
break;
}
} else {
}
else {
var_r28 = HuPadBtnDown[var_r26] & 0x100;
}
@ -450,7 +465,8 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
lbl_1_bss_14E += 1;
BoardModelVisibilitySet(arg1->unk_06[0], 1);
BoardModelRotYSet(arg1->unk_06[0], BoardPlayerRotYGet(arg1->unk00_bit5));
} else {
}
else {
arg0->trans.x *= 0.98f;
arg0->trans.y = 0.0f;
if (arg0->trans.x <= 1.0f) {
@ -477,15 +493,10 @@ void fn_1_8698(omObjData* arg0, someBits3* arg1) {
}
s8 lbl_1_data_4B0 = -1;
s32 lbl_1_data_4B4[] = {
0x00000440,
0x00000441,
0x00000442,
0x00000443,
0x00000444
};
s32 lbl_1_data_4B4[] = { 0x00000440, 0x00000441, 0x00000442, 0x00000443, 0x00000444 };
void fn_1_8C08(omObjData* arg0, someBits3* arg1) {
void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
{
Point3d spC;
f32 temp_f31;
f32 temp_f30;
@ -520,7 +531,8 @@ void fn_1_8C08(omObjData* arg0, someBits3* arg1) {
BoardPlayerMotionTimeSet(arg1->unk00_bit5, 2.0f * temp_f30);
}
void fn_1_8E44(omObjData* arg0, someBits3* arg1) {
void fn_1_8E44(omObjData *arg0, someBits3 *arg1)
{
Point3d sp8;
f32 temp_f1;
f32 temp_f31;
@ -558,7 +570,8 @@ void fn_1_8E44(omObjData* arg0, someBits3* arg1) {
BoardModelPosSetV(lbl_1_data_456, &sp8);
}
void fn_1_9044(omObjData* arg0, someBits3* arg1) {
void fn_1_9044(omObjData *arg0, someBits3 *arg1)
{
Vec sp8;
BoardModelRotGet(lbl_1_data_456, &sp8);
@ -580,9 +593,10 @@ void fn_1_9044(omObjData* arg0, someBits3* arg1) {
BoardModelRotSetV(lbl_1_data_456, &sp8);
}
s8 lbl_1_data_4C8[] = {1, 5, 10, 15, 20, 20};
s8 lbl_1_data_4C8[] = { 1, 5, 10, 15, 20, 20 };
void fn_1_91B8(void) {
void fn_1_91B8(void)
{
s8 temp_r3;
if (lbl_1_bss_14E == 0) {
@ -593,7 +607,8 @@ void fn_1_91B8(void) {
lbl_1_bss_14C = lbl_1_data_4C8[temp_r3];
}
void fn_1_9230(s32 arg0) {
void fn_1_9230(s32 arg0)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
@ -620,20 +635,22 @@ void fn_1_9230(s32 arg0) {
BoardCameraMotionWait();
}
void fn_1_9384(void) {
void fn_1_9384(void)
{
f32 widthHeight[2];
f32 x, y;
HuWinMesMaxSizeGet(1, widthHeight, 0x160019);
HuWinMesMaxSizeGet(1, widthHeight, MAKE_MESSID(0x16, 0x19));
x = -10000.0f;
y = 288.0f;
lbl_1_data_454 = HuWinCreate(x, y, widthHeight[0], widthHeight[1], 0);
HuWinBGTPLvlSet(lbl_1_data_454, 0.0f);
HuWinMesSpeedSet(lbl_1_data_454, 0);
HuWinMesSet(lbl_1_data_454, 0x160019U);
HuWinMesSet(lbl_1_data_454, MAKE_MESSID(0x16, 0x19));
}
void fn_1_9474(s32 arg0) {
void fn_1_9474(s32 arg0)
{
sprintf(lbl_1_bss_150, "%d", lbl_1_bss_14C);
BoardWinCreate(2, MAKE_MESSID(22, 23), 2);
BoardWinInsertMesSet((u32)lbl_1_bss_150, 4);
@ -664,14 +681,15 @@ void fn_1_9474(s32 arg0) {
BoardModelMotionStart(lbl_1_bss_C[7], 0, 0x40000002);
}
void fn_1_95B8(omObjData* arg0) {
void fn_1_95B8(omObjData *arg0)
{
f32 temp_f31;
s32 var_r25;
s32 var_r26;
s32 var_r27;
s32 var_r28;
unkTemp* var_r30;
unkTemp2* temp_r29;
unkTemp *var_r30;
unkTemp2 *temp_r29;
s32 i;
s32 temp;
@ -679,14 +697,14 @@ void fn_1_95B8(omObjData* arg0) {
if ((temp_r29->unk00_bit0 != 0) || (BoardIsKill() != 0)) {
fn_1_9A1C(temp_r29);
HuMemDirectFree((void*)temp_r29->unk_0C);
HuMemDirectFree((void *)temp_r29->unk_0C);
lbl_1_bss_148 = 0;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
var_r30 = temp_r29->unk_0C;
for (var_r27 = i = 0; i < 20; i++, var_r30++) {
if (var_r30->unk0 == 0) {
var_r27++;
@ -697,7 +715,7 @@ void fn_1_95B8(omObjData* arg0) {
temp_r29->unk00_bit0 = 1;
return;
}
var_r25 = 0;
for (i = 0; i < 20; i++) {
var_r30 = &temp_r29->unk_0C[i];
@ -725,23 +743,23 @@ void fn_1_95B8(omObjData* arg0) {
}
}
void fn_1_97F8(s32 arg0) {
void fn_1_97F8(s32 arg0)
{
Point3d sp8;
f32 temp_f2;
f32 var_f31;
f64 temp_f1;
omObjData* temp_r3;
omObjData *temp_r3;
s32 i;
unkTemp2* temp_r30;
unkTemp* temp_r31;
unkTemp2 *temp_r30;
unkTemp *temp_r31;
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_95B8);
lbl_1_bss_148 = temp_r3;
temp_r30 = OM_GET_WORK_PTR(temp_r3, unkTemp2);
temp_r30->unk00_bit0 = 0;
temp_r30->unk4 = arg0;
temp_r30->unk_0C = HuMemDirectMallocNum(0, 0x190, 0x10000000);
temp_r30->unk_0C = HuMemDirectMallocNum(0, 0x190, MEMORY_DEFAULT_NUM);
BoardPlayerPosGet(arg0, &sp8);
temp_r30->unk8 = (80.0f + sp8.y);
memset(temp_r30->unk_0C, 0, 0x190);
@ -749,7 +767,8 @@ void fn_1_97F8(s32 arg0) {
for (i = 0; i < lbl_1_bss_14C; i++) {
if (i == 0) {
var_f31 = 0.0f;
} else {
}
else {
var_f31 = BoardRandFloat();
}
temp_r31 = &temp_r30->unk_0C[i];
@ -759,13 +778,14 @@ void fn_1_97F8(s32 arg0) {
temp_r31->unk8.y = 600.0f + sp8.y + (500.0f * BoardRandFloat());
temp_r31->unk1 = 0;
temp_r31->unk4 = BoardRandFloat() * 360.0f;
temp_r31->unk_02 = BoardModelCreate(0x7000A, NULL, 1);
temp_r31->unk_02 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1);
}
}
void fn_1_9A1C(unkTemp2* arg0) {
void fn_1_9A1C(unkTemp2 *arg0)
{
s32 i;
unkTemp* temp;
unkTemp *temp;
for (i = 0; i < 20; i++) {
temp = &arg0->unk_0C[i];

View file

@ -1,25 +1,25 @@
#include "dolphin.h"
#include "REL/executor.h"
#include "game/process.h"
#include "game/data.h"
#include "game/gamework_data.h"
#include "REL/w03Dll.h"
#include "dolphin.h"
#include "dolphin/os/OSFastCast.h"
#include "ext_math.h"
#include "game/board/main.h"
#include "game/board/model.h"
#include "game/board/player.h"
#include "game/board/space.h"
#include "game/data.h"
#include "game/frand.h"
#include "game/gamework_data.h"
#include "game/hsfdraw.h"
#include "game/hsfman.h"
#include "game/hsfmotion.h"
#include "game/minigame_seq.h"
#include "game/object.h"
#include "game/objsub.h"
#include "game/sprite.h"
#include "game/board/player.h"
#include "math.h"
#include "game/hsfman.h"
#include "dolphin/os/OSFastCast.h"
#include "game/minigame_seq.h"
#include "game/hsfdraw.h"
#include "game/hsfmotion.h"
#include "game/pad.h"
#include "game/frand.h"
#include "ext_math.h"
#include "game/process.h"
#include "game/sprite.h"
#include "math.h"
typedef struct someBits {
/* 0x00 */ struct {
@ -58,11 +58,11 @@ typedef struct w03UnkMG {
/* 0x16 */ s16 unk_16;
} w03UnkMG;
//external symbols
// external symbols
extern u16 HuPadBtnDown[4];
//function signatures
// function signatures
s32 BoardVecDAngleCalcRange(float *value, float min, float range);
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix);
@ -70,23 +70,23 @@ void fn_1_BDAC(void);
void fn_1_BC7C(s16 arg0);
void fn_1_BBF8(void);
s32 fn_1_BBC4(void);
void fn_1_BB74(s8* arg0);
void fn_1_BB74(s8 *arg0);
s32 fn_1_BB48(void);
void fn_1_B8E8(s32 arg0);
void fn_1_B748(omObjData* arg0, someBits2* arg1);
void fn_1_B688(omObjData* arg0, someBits2* arg1);
void fn_1_B4AC(omObjData* arg0, someBits2* arg1);
void fn_1_B350(omObjData* arg0);
void fn_1_B748(omObjData *arg0, someBits2 *arg1);
void fn_1_B688(omObjData *arg0, someBits2 *arg1);
void fn_1_B4AC(omObjData *arg0, someBits2 *arg1);
void fn_1_B350(omObjData *arg0);
void fn_1_B0A4(s32 arg0);
u32 fn_1_AF24(s32 arg0);
s32 fn_1_AE4C(s32 arg0, s8* arg1);
s32 fn_1_AE4C(s32 arg0, s8 *arg1);
s32 fn_1_AE20(void);
void fn_1_ACD8(s32 arg0);
void fn_1_ABD0(omObjData* arg0, someBits* arg1);
void fn_1_AB18(omObjData* arg0, someBits* arg1);
void fn_1_ABD0(omObjData *arg0, someBits *arg1);
void fn_1_AB18(omObjData *arg0, someBits *arg1);
void fn_1_A8AC(s32 arg0);
void fn_1_A7A0(s32 arg0);
void fn_1_A994(omObjData* arg0);
void fn_1_A994(omObjData *arg0);
void fn_1_A5E0(s32 arg0);
void fn_1_A6B0(void);
void fn_1_A44C(s32 arg0);
@ -96,17 +96,15 @@ s32 fn_1_9CF4(s32 arg0);
void fn_1_9F78(void);
void fn_1_9FE4(void);
//data
// data
s16 lbl_1_data_4D8 = -1;
s16 lbl_1_data_4DA = -1;
s16 lbl_1_data_4DC = -1;
s32 lbl_1_data_4E0 = -1;
s16 lbl_1_data_4E4 = -1;
s8 lbl_1_data_4E6[] = {1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0};
s8 lbl_1_data_4E6[] = { 1, 1, 3, 3, 2, 2, 2, 1, 2, 3, 0, 4, 5, 0 };
char* lbl_1_data_508[] = {
"item", "item1", "item2"
};
char *lbl_1_data_508[] = { "item", "item1", "item2" };
s32 lbl_1_data_514[] = {
DATA_MAKE_NUM(DATADIR_BOARD, 0x6D),
@ -125,23 +123,23 @@ s32 lbl_1_data_514[] = {
DATA_MAKE_NUM(DATADIR_BOARD, 0x7B),
};
//BSS
// BSS
s8 lbl_1_bss_194[3];
AnimData* lbl_1_bss_190;
AnimData *lbl_1_bss_190;
s8 lbl_1_bss_18C;
omObjData* lbl_1_bss_188;
omObjData* lbl_1_bss_184;
Process* lbl_1_bss_180;
omObjData *lbl_1_bss_188;
omObjData *lbl_1_bss_184;
Process *lbl_1_bss_180;
void fn_1_9A7C(void) {
void fn_1_9A7C(void)
{
fn_1_BBF8();
}
void fn_1_9A9C(void) {
void fn_1_9A9C(void) { }
}
void fn_1_9AA0(void) {
void fn_1_9AA0(void)
{
BoardRollDispSet(0);
lbl_1_bss_180 = HuPrcChildCreate(fn_1_9C8C, 0x2003, 0x2000, 0, boardMainProc);
HuPrcDestructorSet2(lbl_1_bss_180, fn_1_9B30);
@ -153,7 +151,8 @@ void fn_1_9AA0(void) {
BoardRollDispSet(1);
}
void fn_1_9B30(void) {
void fn_1_9B30(void)
{
fn_1_BDAC();
if (lbl_1_bss_188) {
@ -173,7 +172,7 @@ void fn_1_9B30(void) {
BoardModelMotionKill(lbl_1_bss_C[11], lbl_1_data_4DC);
lbl_1_data_4DC = -1;
}
if (lbl_1_data_4DA != -1) {
BoardModelMotionKill(lbl_1_bss_C[11], lbl_1_data_4DA);
lbl_1_data_4DA = -1;
@ -187,7 +186,8 @@ void fn_1_9B30(void) {
lbl_1_bss_180 = 0;
}
void fn_1_9C8C(void) {
void fn_1_9C8C(void)
{
s32 temp_r31;
temp_r31 = GWSystem.player_curr;
@ -201,7 +201,8 @@ void fn_1_9C8C(void) {
HuPrcEnd();
}
s32 fn_1_9CF4(s32 arg0) {
s32 fn_1_9CF4(s32 arg0)
{
Vec sp38;
Vec sp2C;
Vec sp20;
@ -248,7 +249,7 @@ s32 fn_1_9CF4(s32 arg0) {
BoardSpacePosGet(0, temp_r29, &sp38);
PSVECSubtract(&sp38, &sp2C, &sp20);
PSVECNormalize(&sp20, &sp20);
BoardPlayerRotYSet(arg0, (f32) (180.0 * (atan2(-sp20.x, -sp20.z) / M_PI)));
BoardPlayerRotYSet(arg0, (f32)(180.0 * (atan2(-sp20.x, -sp20.z) / M_PI)));
BoardPlayerPosLerpStart(arg0, &sp2C, &sp38, 0x14);
while (GWPlayer[arg0].moving != 0) {
@ -264,12 +265,14 @@ s32 fn_1_9CF4(s32 arg0) {
return 1;
}
void fn_1_9F78(void) {
lbl_1_data_4DA = BoardModelMotionCreate(lbl_1_bss_C[11], 0x770023);
lbl_1_data_4DC = BoardModelMotionCreate(lbl_1_bss_C[11], 0x770024);
void fn_1_9F78(void)
{
lbl_1_data_4DA = BoardModelMotionCreate(lbl_1_bss_C[11], DATA_MAKE_NUM(DATADIR_W03, 0x23));
lbl_1_data_4DC = BoardModelMotionCreate(lbl_1_bss_C[11], DATA_MAKE_NUM(DATADIR_W03, 0x24));
}
void fn_1_9FE4(void) {
void fn_1_9FE4(void)
{
Vec sp30;
Vec sp24;
Vec sp18;
@ -340,7 +343,8 @@ void fn_1_9FE4(void) {
BoardModelMotionShiftSet(lbl_1_bss_C[11], 1, 0.0f, 10.0, 0x40000001);
}
void fn_1_A44C(s32 arg0) {
void fn_1_A44C(s32 arg0)
{
s16 temp_r30;
s32 temp_r29;
s32 temp_r28;
@ -391,7 +395,8 @@ void fn_1_A44C(s32 arg0) {
BoardWinKill();
}
void fn_1_A5E0(s32 arg0) {
void fn_1_A5E0(s32 arg0)
{
Vec sp14;
Vec sp8;
s16 spaceCur;
@ -409,26 +414,28 @@ void fn_1_A5E0(s32 arg0) {
BoardCameraMotionWait();
}
void fn_1_A6B0(void) {
void fn_1_A6B0(void)
{
f32 sp8[2];
f32 val1, val2;
HuWinMesMaxSizeGet(1, sp8, 0x16001F);
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x16, 0x1F));
val1 = -10000.0f;
val2 = 392.0f;
lbl_1_data_4D8 = HuWinCreate(val1, val2, sp8[0], sp8[1], 0);
HuWinBGTPLvlSet(lbl_1_data_4D8, 0.0f);
HuWinMesSpeedSet(lbl_1_data_4D8, 0);
HuWinMesSet(lbl_1_data_4D8, 0x16001F);
HuWinMesSet(lbl_1_data_4D8, MAKE_MESSID(0x16, 0x1F));
}
void fn_1_A7A0(s32 arg0) {
someBits* temp_r31;
omObjData* temp_r3;
void fn_1_A7A0(s32 arg0)
{
someBits *temp_r31;
omObjData *temp_r3;
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void*)fn_1_A994);
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void *)fn_1_A994);
lbl_1_bss_188 = temp_r3;
temp_r31 = (someBits*)&temp_r3->work[0];
temp_r31 = (someBits *)&temp_r3->work[0];
temp_r31->unk00_bit0 = 0;
temp_r31->unk00_bit6 = 0;
temp_r31->unk00_bit4 = arg0;
@ -440,7 +447,8 @@ void fn_1_A7A0(s32 arg0) {
lbl_1_bss_18C = fn_1_AE4C(arg0, lbl_1_bss_194);
}
void fn_1_A8AC(s32 arg0) {
void fn_1_A8AC(s32 arg0)
{
Vec sp14;
Vec sp8;
f32 playerYRot;
@ -462,18 +470,19 @@ void fn_1_A8AC(s32 arg0) {
}
}
void fn_1_A994(omObjData* arg0) {
void fn_1_A994(omObjData *arg0)
{
s32 temp_r0;
someBits* temp_r31;
someBits *temp_r31;
temp_r31 = (someBits*)&lbl_1_bss_188->work[0];
if ((temp_r31->unk00_bit0 != 0)|| (BoardIsKill() != 0)) {
temp_r31 = (someBits *)&lbl_1_bss_188->work[0];
if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) {
if (temp_r31->unk4 != -1) {
MGSeqParamSet(temp_r31->unk4, 2, -1U);
temp_r31->unk4 = -1;
}
lbl_1_bss_188 = NULL;
omDelObjEx(HuPrcCurrentGet(), arg0);
return;
}
@ -481,10 +490,12 @@ void fn_1_A994(omObjData* arg0) {
if (temp_r31->unk00_bit6 == 0) {
if (temp_r31->unk2 != 0) {
temp_r31->unk2--;
} else {
}
else {
if (temp_r31->unk1 != 0) {
temp_r31->unk1--;
} else {
}
else {
fn_1_ACD8(2);
}
MGSeqParamSet(temp_r31->unk4, 1, temp_r31->unk1);
@ -493,27 +504,29 @@ void fn_1_A994(omObjData* arg0) {
}
switch (temp_r31->unk00_bit1) {
case 1:
fn_1_AB18(arg0, temp_r31);
return;
case 2:
fn_1_ABD0(arg0, temp_r31);
return;
case 3:
if (BoardPlayerMotionEndCheck(temp_r31->unk00_bit4) != 0) {
temp_r31->unk00_bit0 = 1;
}
case 0:
break;
case 1:
fn_1_AB18(arg0, temp_r31);
return;
case 2:
fn_1_ABD0(arg0, temp_r31);
return;
case 3:
if (BoardPlayerMotionEndCheck(temp_r31->unk00_bit4) != 0) {
temp_r31->unk00_bit0 = 1;
}
case 0:
break;
}
}
void fn_1_AB18(omObjData* arg0, someBits* arg1) {
void fn_1_AB18(omObjData *arg0, someBits *arg1)
{
u32 var_r31 = 0;
if (GWPlayer[arg1->unk00_bit4].com != 0) {
var_r31 = fn_1_AF24(arg1->unk00_bit4);
} else {
}
else {
var_r31 = HuPadBtnDown[GWPlayer[arg1->unk00_bit4].port];
}
if (var_r31 == 0x100) {
@ -521,14 +534,15 @@ void fn_1_AB18(omObjData* arg0, someBits* arg1) {
}
}
//TODO properly use inlines
void fn_1_ABD0(omObjData* arg0, someBits* arg1) {
// TODO properly use inlines
void fn_1_ABD0(omObjData *arg0, someBits *arg1)
{
s16 boardModelID;
PlayerState* playerStateCopy;
PlayerState *playerStateCopy;
s32 bit;
PlayerState* playerState;
PlayerState *playerState;
s16 temp, temp2;
bit = arg1->unk00_bit4;
playerState = &GWPlayer[bit];
playerStateCopy = playerState;
@ -551,40 +565,43 @@ void fn_1_ABD0(omObjData* arg0, someBits* arg1) {
}
}
void fn_1_ACD8(s32 arg0) {
someBits* temp_r31;
void fn_1_ACD8(s32 arg0)
{
someBits *temp_r31;
temp_r31 = (someBits*)&lbl_1_bss_188->work[0];
temp_r31 = (someBits *)&lbl_1_bss_188->work[0];
temp_r31->unk00_bit1 = arg0;
switch (arg0) {
case 0:
BoardPlayerIdleSet(temp_r31->unk00_bit4);
return;
case 2:
temp_r31->unk00_bit6 = 1;
if (lbl_1_data_4D8 != -1) {
HuWinKill(lbl_1_data_4D8);
lbl_1_data_4D8 = -1;
}
if (temp_r31->unk4 != -1) {
MGSeqParamSet(temp_r31->unk4, 2, -1U);
temp_r31->unk4 = -1;
}
BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 0xB, 0.0f, 10.0f, 0);
return;
case 3:
BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 7, 0.0f, 10.0f, 0);
break;
case 0:
BoardPlayerIdleSet(temp_r31->unk00_bit4);
return;
case 2:
temp_r31->unk00_bit6 = 1;
if (lbl_1_data_4D8 != -1) {
HuWinKill(lbl_1_data_4D8);
lbl_1_data_4D8 = -1;
}
if (temp_r31->unk4 != -1) {
MGSeqParamSet(temp_r31->unk4, 2, -1U);
temp_r31->unk4 = -1;
}
BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 0xB, 0.0f, 10.0f, 0);
return;
case 3:
BoardPlayerMotionShiftSet(temp_r31->unk00_bit4, 7, 0.0f, 10.0f, 0);
break;
}
}
s32 fn_1_AE20(void) {
someBits* temp_r31 = (someBits*)&lbl_1_bss_188->work[0];
s32 fn_1_AE20(void)
{
someBits *temp_r31 = (someBits *)&lbl_1_bss_188->work[0];
return temp_r31->unk00_bit1;
}
s32 fn_1_AE4C(s32 arg0, s8* arg1) {
s32 fn_1_AE4C(s32 arg0, s8 *arg1)
{
s32 temp_r30;
s32 temp_r29;
s32 temp_r28;
@ -597,23 +614,29 @@ s32 fn_1_AE4C(s32 arg0, s8* arg1) {
if (temp_r29 > temp_r28) {
if (temp_r29 > temp_r30) {
var_r31 = 0;
} else if (temp_r30 > temp_r28) {
}
else if (temp_r30 > temp_r28) {
var_r31 = 2;
} else {
}
else {
var_r31 = 1;
}
} else if (temp_r28 > temp_r30) {
}
else if (temp_r28 > temp_r30) {
var_r31 = 1;
} else if (temp_r30 > temp_r29) {
}
else if (temp_r30 > temp_r29) {
var_r31 = 2;
} else {
}
else {
var_r31 = 0;
}
return var_r31;
}
u32 fn_1_AF24(s32 arg0) {
u32 fn_1_AF24(s32 arg0)
{
s32 spC;
s32 sp8;
s16 temp_r31;
@ -623,18 +646,18 @@ u32 fn_1_AF24(s32 arg0) {
spC = 0;
switch (GWPlayer[arg0].diff) {
case 3:
var_r30 = 0;
break;
case 2:
var_r30 = 5;
break;
case 1:
var_r30 = 15;
break;
case 0:
var_r30 = 40;
break;
case 3:
var_r30 = 0;
break;
case 2:
var_r30 = 5;
break;
case 1:
var_r30 = 15;
break;
case 0:
var_r30 = 40;
break;
}
if ((var_r30 != 0) && (BoardRandMod(100) < var_r30)) {
return 0x100U;
@ -643,38 +666,39 @@ u32 fn_1_AF24(s32 arg0) {
temp_r31 = BoardModelMotionTimeGet(lbl_1_bss_C[9]);
switch (lbl_1_bss_18C) {
case 0:
if ((temp_r31 < 33) || (temp_r31 > 35)) {
case 0:
if ((temp_r31 < 33) || (temp_r31 > 35)) {
break;
}
return 0x100U;
case 1:
if (((temp_r31 >= 40) && (temp_r31 <= 42)) || ((temp_r31 >= 20) && (temp_r31 <= 22))) {
return 0x100U;
}
break;
case 2:
if (temp_r31 >= 50) {
return 0x100U;
}
break;
}
return 0x100U;
case 1:
if (((temp_r31 >= 40) && (temp_r31 <= 42)) || ((temp_r31 >= 20) && (temp_r31 <= 22))) {
return 0x100U;
}
break;
case 2:
if (temp_r31 >= 50) {
return 0x100U;
}
break;
}
return 0;
}
void fn_1_B0A4(s32 arg0) {
void fn_1_B0A4(s32 arg0)
{
Mtx sp18;
s32 spC[3];
s32 j;
s32 i;
s32 var_r31_2;
s32 temp_r29;
someBits2* temp_r30;
omObjData* temp_r3;
someBits2 *temp_r30;
omObjData *temp_r3;
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, (void*)fn_1_B350);
lbl_1_bss_184 = (void*)temp_r3;
temp_r30 = (someBits2*)&temp_r3->work[0];
temp_r3 = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, (void *)fn_1_B350);
lbl_1_bss_184 = (void *)temp_r3;
temp_r30 = (someBits2 *)&temp_r3->work[0];
temp_r30->unk00_bit0 = 0;
temp_r30->unk00_bit1 = 0;
@ -691,14 +715,15 @@ void fn_1_B0A4(s32 arg0) {
if (spC[i] == -1) {
continue;
}
} else {
}
else {
continue;
}
i++;
}
fn_1_BBF8();
for (i = 0; i < ARRAY_COUNT(spC); i++) {
temp_r29 = spC[i];
temp_r30->unk3[i] = temp_r29;
@ -722,11 +747,12 @@ void fn_1_B0A4(s32 arg0) {
}
}
void fn_1_B350(omObjData* arg0) {
void fn_1_B350(omObjData *arg0)
{
s32 i;
someBits2* temp_r31;
someBits2 *temp_r31;
temp_r31 = (someBits2*)&arg0->work[0];
temp_r31 = (someBits2 *)&arg0->work[0];
if ((temp_r31->unk00_bit0 != 0) || (BoardIsKill() != 0)) {
BoardModelHookReset(lbl_1_bss_C[9]);
@ -740,27 +766,28 @@ void fn_1_B350(omObjData* arg0) {
}
switch (temp_r31->unk00_bit1) {
case 1:
if (!(BoardModelMotionTimeGet(lbl_1_bss_C[9]) < 20.0f)) {
BoardModelMotionStartEndSet(lbl_1_bss_C[9], 0x14, 0x3A);
fn_1_B8E8(0);
case 1:
if (!(BoardModelMotionTimeGet(lbl_1_bss_C[9]) < 20.0f)) {
BoardModelMotionStartEndSet(lbl_1_bss_C[9], 0x14, 0x3A);
fn_1_B8E8(0);
return;
}
case 0:
break;
case 2:
fn_1_B4AC(arg0, temp_r31);
return;
}
case 0:
break;
case 2:
fn_1_B4AC(arg0, temp_r31);
return;
case 3:
fn_1_B688(arg0, temp_r31);
return;
case 4:
fn_1_B748(arg0, temp_r31);
break;
case 3:
fn_1_B688(arg0, temp_r31);
return;
case 4:
fn_1_B748(arg0, temp_r31);
break;
}
}
void fn_1_B4AC(omObjData* arg0, someBits2* arg1) {
void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
{
Point3d sp20;
Point3d sp14;
Point3d sp8;
@ -778,7 +805,7 @@ void fn_1_B4AC(omObjData* arg0, someBits2* arg1) {
sp8 = sp20;
arg1->unk2 = i;
break;
}
}
}
HuAudFXPlay(0x30C);
@ -792,7 +819,8 @@ void fn_1_B4AC(omObjData* arg0, someBits2* arg1) {
fn_1_BC7C(arg1->unk_06[arg1->unk2]);
}
void fn_1_B688(omObjData* arg0, someBits2* arg1) {
void fn_1_B688(omObjData *arg0, someBits2 *arg1)
{
Point3d sp8;
if (arg1->unk1-- != 0) {
@ -806,8 +834,9 @@ void fn_1_B688(omObjData* arg0, someBits2* arg1) {
fn_1_B8E8(0);
}
void fn_1_B748(omObjData* arg0, someBits2* arg1) {
void fn_1_B748(omObjData *arg0, someBits2 *arg1)
{
Vec sp14;
Point3d sp8;
f32 temp_f0;
@ -820,7 +849,7 @@ void fn_1_B748(omObjData* arg0, someBits2* arg1) {
}
if (arg1->unk1 < 90) {
OSu8tof32((u8*)&arg1->unk1, &temp_f0);
OSu8tof32((u8 *)&arg1->unk1, &temp_f0);
BoardModelPosGet(temp_r29, &sp8);
sp8.y += arg0->trans.y;
BoardModelPosSetV(temp_r29, &sp8);
@ -840,76 +869,81 @@ void fn_1_B748(omObjData* arg0, someBits2* arg1) {
fn_1_B8E8(0);
}
void fn_1_B8E8(s32 arg0) {
void fn_1_B8E8(s32 arg0)
{
Point3d sp14;
Point3d sp8;
f32 temp_f31;
someBits2* temp_r31;
someBits2 *temp_r31;
f32 temp;
temp_r31 = (someBits2*)&lbl_1_bss_184->work[0];
temp_r31 = (someBits2 *)&lbl_1_bss_184->work[0];
temp_r31->unk00_bit1 = arg0;
switch (arg0) {
case 1:
temp_f31 = 0.31666666f;
BoardModelMotionStart(lbl_1_bss_C[9], 0, 0x40000001);
BoardModelMotionSpeedSet(lbl_1_bss_C[9], temp_f31);
BoardModelMotionTimeSet(lbl_1_bss_C[9], 8.0f);
return;
case 2:
temp_r31->unk00_bit6 = 1;
return;
case 3:
lbl_1_data_4E0 = HuAudFXPlay(0x35F);
BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8);
BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14);
temp = 50.0f + sp8.y;
lbl_1_bss_184->trans.x = (sp14.x - sp8.x) / 10.0f;
lbl_1_bss_184->trans.z = (sp14.z - sp8.z) / 10.0f;
lbl_1_bss_184->trans.y = (temp - sp8.y) / 10.0f;
temp_r31->unk1 = 10;
return;
case 4:
BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14);
sp14.y += 30.000002f;
BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8);
lbl_1_bss_184->trans.y = (sp14.y - sp8.y) / 22.0f;
temp_r31->unk1 = 0;
case 1:
temp_f31 = 0.31666666f;
BoardModelMotionStart(lbl_1_bss_C[9], 0, 0x40000001);
BoardModelMotionSpeedSet(lbl_1_bss_C[9], temp_f31);
BoardModelMotionTimeSet(lbl_1_bss_C[9], 8.0f);
return;
case 2:
temp_r31->unk00_bit6 = 1;
return;
case 3:
lbl_1_data_4E0 = HuAudFXPlay(0x35F);
BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8);
BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14);
temp = 50.0f + sp8.y;
lbl_1_bss_184->trans.x = (sp14.x - sp8.x) / 10.0f;
lbl_1_bss_184->trans.z = (sp14.z - sp8.z) / 10.0f;
lbl_1_bss_184->trans.y = (temp - sp8.y) / 10.0f;
temp_r31->unk1 = 10;
return;
case 4:
BoardPlayerPosGet(temp_r31->unk00_bit4, &sp14);
sp14.y += 30.000002f;
BoardModelPosGet(temp_r31->unk_06[temp_r31->unk2], &sp8);
lbl_1_bss_184->trans.y = (sp14.y - sp8.y) / 22.0f;
temp_r31->unk1 = 0;
}
}
s32 fn_1_BB48(void) {
someBits2* temp = (someBits2*)&lbl_1_bss_184->work[0];
s32 fn_1_BB48(void)
{
someBits2 *temp = (someBits2 *)&lbl_1_bss_184->work[0];
return temp->unk00_bit1;
}
void fn_1_BB74(s8* arg0) {
someBits2* bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2);
void fn_1_BB74(s8 *arg0)
{
someBits2 *bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2);
s32 i;
for (i = 0; i < ARRAY_COUNT(bits->unk3); i++) {
arg0[i] = bits->unk3[i];
}
}
s32 fn_1_BBC4(void) {
someBits2* bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2);
s32 fn_1_BBC4(void)
{
someBits2 *bits = OM_GET_WORK_PTR(lbl_1_bss_184, someBits2);
return bits->unk3[bits->unk2];
}
void fn_1_BBF8(void) {
void fn_1_BBF8(void)
{
BoardModelMotionStart(lbl_1_bss_C[9], 0, 0);
BoardModelMotionSpeedSet(lbl_1_bss_C[9], 0.0f);
BoardModelMotionTimeSet(lbl_1_bss_C[9], 0.0f);
BoardModelAttrReset(lbl_1_bss_C[9], 0x40000004);
}
void fn_1_BC7C(s16 arg0)
{
ParticleData *particle;
void fn_1_BC7C(s16 arg0) {
ParticleData* particle;
lbl_1_bss_190 = HuSprAnimReadFile(0x120000);
lbl_1_bss_190 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_EFFECT, 0x00));
HuSprAnimLock(lbl_1_bss_190);
lbl_1_data_4E4 = Hu3DParticleCreate(lbl_1_bss_190, 100);
Hu3DParticleHookSet(lbl_1_data_4E4, fn_1_BE30);
@ -921,7 +955,8 @@ void fn_1_BC7C(s16 arg0) {
particle->unk_02 = arg0;
}
void fn_1_BDAC(void) {
void fn_1_BDAC(void)
{
if (lbl_1_data_4E4 != -1) {
Hu3DModelKill(lbl_1_data_4E4);
lbl_1_data_4E4 = -1;
@ -932,12 +967,13 @@ void fn_1_BDAC(void) {
}
}
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) {
void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix)
{
Point3d sp8;
f32 temp_f30;
f32 temp_f29;
f32 temp_f31;
HsfanimStruct01* var_r31;
HsfanimStruct01 *var_r31;
s32 i, j;
if (particle->unk_34 == 0) {
@ -961,20 +997,20 @@ void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) {
}
}
if (j != particle->unk_30) {
temp_f30 = 360.0f * ((1.0f/255.0f) * frand8());
temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f/255.0f) * frand8())));
temp_f30 = 360.0f * ((1.0f / 255.0f) * frand8());
temp_f29 = temp_f31 * (20.0f + (60.0f * ((1.0f / 255.0f) * frand8())));
var_r31->unk34.x = (sp8.x + (temp_f29 * sind(temp_f30)));
var_r31->unk34.z = (sp8.z + (temp_f29 * cosd(temp_f30)));
var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f/255.0f) * frand8())))));
var_r31->unk08.x = (0.5f + (3.0f * ((1.0f/255.0f) * frand8())));
var_r31->unk08.y = (0.3f + (2.0f * ((1.0f/255.0f) * frand8())));
var_r31->unk34.y = (sp8.y + (temp_f31 * (-30.0f + (40.0f * ((1.0f / 255.0f) * frand8())))));
var_r31->unk08.x = (0.5f + (3.0f * ((1.0f / 255.0f) * frand8())));
var_r31->unk08.y = (0.3f + (2.0f * ((1.0f / 255.0f) * frand8())));
var_r31->unk40.a = 180;
var_r31->unk2C = (15.0f * temp_f31);
var_r31->unk2C = (15.0f * temp_f31);
}
}
var_r31 = particle->unk_48;
for (i = 0; i < particle->unk_30; i++, var_r31++) {
if (0.0f != var_r31->unk2C) {
var_r31->unk34.y = (var_r31->unk34.y - var_r31->unk08.x);
@ -982,6 +1018,6 @@ void fn_1_BE30(ModelData *model, ParticleData *particle, Mtx matrix) {
if (var_r31->unk2C <= 0.0f) {
var_r31->unk2C = 0.0f;
}
}
}
}
}

View file

@ -43,10 +43,10 @@ s16 lbl_1_data_388 = -1;
s16 lbl_1_data_38A = -1;
s16 lbl_1_data_38C = -1;
s32 lbl_1_data_390[] = {
0x00770026,
0x00770027,
0x00770028,
-1
DATA_MAKE_NUM(DATADIR_W03, 0x26),
DATA_MAKE_NUM(DATADIR_W03, 0x27),
DATA_MAKE_NUM(DATADIR_W03, 0x28),
DATA_NUM_LISTEND
};
void fn_1_63F4(s32 arg0) {
@ -70,8 +70,8 @@ void fn_1_6494(void) {
Vec sp8;
unkWorkStruct* temp_r31;
lbl_1_data_388 = BoardModelCreate(0x77000E, NULL, 0);
lbl_1_data_38C = BoardModelCreate(0x77000F, NULL, 0);
lbl_1_data_388 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0E), NULL, 0);
lbl_1_data_38C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0F), NULL, 0);
lbl_1_data_38A = BoardModelCreate(0x2000D, &lbl_1_data_390[0], 0);
BoardModelMotionStart(lbl_1_data_38A, 1, 0x40000001);
BoardModelHookSet(lbl_1_data_38A, "itemhook_R", lbl_1_data_38C);

View file

@ -31,7 +31,7 @@ void fn_1_785C(void) {
lbl_1_bss_138[0] = omAddObjEx(boardObjMan, 0x101, 0U, 0U, -1, fn_1_79E0);
temp_r31 = (w03UnkWorkStruct*)&lbl_1_bss_138[0]->work[0];
for (i = 0; i < ARRAY_COUNT(temp_r31->unk_00); i++) {
temp_r31->unk_00[i] = BoardModelCreate(0x770008, NULL, 0);
temp_r31->unk_00[i] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x08), NULL, 0);
temp_r29 = kemuri_strings[i];
if (0.0f == temp_r31->unk_0C) {

View file

@ -371,7 +371,7 @@ void fn_1_1ED4(s32 arg0) {
Point3d spC;
f32 sp8;
lbl_1_data_284 = BoardModelCreate(0x77000C, NULL, 0);
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0C), NULL, 0);
BoardModelVisibilitySet(lbl_1_data_284, 0);
BoardModelVisibilitySet(lbl_1_bss_6C, 0);
BoardModelPosGet(lbl_1_bss_6C, &spC);
@ -418,7 +418,7 @@ void fn_1_20E0(s32 arg0) {
f32 var_f31;
s32 i;
lbl_1_data_284 = BoardModelCreate(0x77000D, NULL, 0);
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0D), NULL, 0);
BoardModelVisibilitySet(lbl_1_data_284, 0);
BoardModelVisibilitySet(lbl_1_bss_6C, 0);
BoardModelPosGet(lbl_1_bss_6C, &spC);
@ -606,7 +606,7 @@ s32 fn_1_2930(s32 arg0) {
void fn_1_2A40(void) {
lbl_1_bss_30 = 0.0f;
lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, 0x10000000U);
lbl_1_bss_34 = HuMemDirectMallocNum(HEAP_SYSTEM, 0x96000, MEMORY_DEFAULT_NUM);
lbl_1_data_286 = Hu3DHookFuncCreate((void*)&fn_1_2B44);
Hu3DModelLayerSet(lbl_1_data_286, 3);
}