Applied DATA_MAKE_NUM and MAKE_MESSID macros
This commit is contained in:
parent
c1c506360c
commit
a0ebc7588d
116 changed files with 38174 additions and 37156 deletions
|
|
@ -17,16 +17,16 @@ void fn_1_2D04(void)
|
|||
m02GenDice spEC;
|
||||
m02GenDice sp4C;
|
||||
s32 sp24[10] = {
|
||||
0x0076001C,
|
||||
0x0076001D,
|
||||
0x0076001E,
|
||||
0x0076001F,
|
||||
0x00760020,
|
||||
0x00760021,
|
||||
0x00760022,
|
||||
0x00760023,
|
||||
0x00760024,
|
||||
0x00760025
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x1C),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x1D),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x1E),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x1F),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x20),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x21),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x22),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x23),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x24),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x25)
|
||||
};
|
||||
Vec sp18;
|
||||
Vec spC;
|
||||
|
|
@ -43,7 +43,7 @@ void fn_1_2D04(void)
|
|||
OSReport("gamble start %d\n", temp_r31);
|
||||
sp8 = BoardSpaceGet(0, GWPlayer[temp_r31].space_curr);
|
||||
BoardRollDispSet(0);
|
||||
temp_r28 = BoardModelCreate(0x76000F, NULL, 0);
|
||||
temp_r28 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x0F), NULL, 0);
|
||||
BoardModelVisibilitySet(temp_r28, 0);
|
||||
switch(lbl_1_bss_54) {
|
||||
case 0:
|
||||
|
|
@ -78,9 +78,9 @@ void fn_1_2D04(void)
|
|||
BoardModelHookReset(temp_r30);
|
||||
BoardModelPosGet(temp_r30, &sp18);
|
||||
BoardModelPosSetV(lbl_1_data_286, &sp18);
|
||||
fn_1_121C(0x13000A);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x0A));
|
||||
spEC.unk00 = 1;
|
||||
spEC.unk04 = 0x76001B;
|
||||
spEC.unk04 = DATA_MAKE_NUM(DATADIR_W02, 0x1B);
|
||||
spEC.unk08 = sp24;
|
||||
spEC.unk0C = sp18;
|
||||
spEC.unk18 = 1;
|
||||
|
|
@ -140,9 +140,9 @@ void fn_1_2D04(void)
|
|||
temp_r27 = spEC.unk94;
|
||||
if(temp_r27 == 10) {
|
||||
HuAudPlayerVoicePlay(temp_r31, 302);
|
||||
fn_1_121C(0x130010);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x10));
|
||||
} else {
|
||||
fn_1_121C(0x13000C);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x0C));
|
||||
}
|
||||
BoardPlayerMotBlendSet(temp_r31, 0, 15);
|
||||
while(!BoardPlayerMotBlendCheck(temp_r31)) {
|
||||
|
|
@ -189,10 +189,10 @@ void fn_1_2D04(void)
|
|||
HuPrcVSleep();
|
||||
}
|
||||
if(sp4C.unk94 > temp_r27) {
|
||||
fn_1_121C(0x13000D);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x0D));
|
||||
} else {
|
||||
HuAudPlayerVoicePlay(temp_r31, 302);
|
||||
fn_1_121C(0x13000F);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x0F));
|
||||
}
|
||||
} else {
|
||||
sp4C.unk94 = 0;
|
||||
|
|
@ -214,7 +214,7 @@ void fn_1_2D04(void)
|
|||
HuAudFXPlay(7);
|
||||
HuPrcSleep(6);
|
||||
}
|
||||
fn_1_121C(0x13000E);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x0E));
|
||||
} else {
|
||||
temp_r26 = GWPlayer[temp_r31].space_curr;
|
||||
BoardCameraTargetSpaceSet(temp_r26);
|
||||
|
|
@ -320,4 +320,4 @@ void fn_1_394C(s32 arg0) {
|
|||
while (lbl_1_bss_50) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,20 +3,20 @@
|
|||
|
||||
typedef struct {
|
||||
union {
|
||||
/* 0x00 */ struct {
|
||||
u8 unk7 : 1;
|
||||
u8 unk6 : 1;
|
||||
u8 unk3 : 3;
|
||||
u8 unk1 : 2;
|
||||
u8 unk0 : 1;
|
||||
/* 0x00 */ struct {
|
||||
u8 unk7 : 1;
|
||||
u8 unk6 : 1;
|
||||
u8 unk3 : 3;
|
||||
u8 unk1 : 2;
|
||||
u8 unk0 : 1;
|
||||
};
|
||||
u8 unk00;
|
||||
};
|
||||
u8 unk00;
|
||||
};
|
||||
/* 0x01 */ u8 unk01;
|
||||
/* 0x02 */ u8 unk02;
|
||||
/* 0x03 */ u8 unk03;
|
||||
/* 0x04 */ s16 unk04;
|
||||
/* 0x06 */ s16 unk06;
|
||||
/* 0x01 */ u8 unk01;
|
||||
/* 0x02 */ u8 unk02;
|
||||
/* 0x03 */ u8 unk03;
|
||||
/* 0x04 */ s16 unk04;
|
||||
/* 0x06 */ s16 unk06;
|
||||
} WorkGenDice;
|
||||
|
||||
/* EXTERN FUNCTIONS */
|
||||
|
|
@ -24,7 +24,7 @@ void fn_1_13D0(void);
|
|||
void fn_1_1574(m02GenDice *arg0);
|
||||
void fn_1_1794(m02GenDice *arg0);
|
||||
void fn_1_1850(omObjData *object);
|
||||
void fn_1_1F94(m02GenDice* arg0, s32 arg1);
|
||||
void fn_1_1F94(m02GenDice *arg0, s32 arg1);
|
||||
void fn_1_2030(m02GenDice *arg0);
|
||||
void fn_1_2100(m02GenDice *arg0, s32 arg1);
|
||||
void fn_1_2220(m02GenDice *arg0);
|
||||
|
|
@ -34,7 +34,8 @@ void fn_1_23B4(m02GenDice *arg0, s32 arg1);
|
|||
void fn_1_272C(m02GenDice *arg0);
|
||||
|
||||
/* LOCAL FUNCTIONS */
|
||||
void fn_1_1254(m02GenDice* arg0) {
|
||||
void fn_1_1254(m02GenDice *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
s32 i;
|
||||
|
||||
|
|
@ -61,11 +62,12 @@ void fn_1_1254(m02GenDice* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
void fn_1_13D0(void) {
|
||||
void fn_1_13D0(void)
|
||||
{
|
||||
s32 var_r29;
|
||||
s32 i;
|
||||
s32 var_r30_2;
|
||||
m02GenDice* temp_r31;
|
||||
m02GenDice *temp_r31;
|
||||
|
||||
temp_r31 = HuPrcCurrentGet()->user_data;
|
||||
temp_r31->unk36[0] = temp_r31->unk36[1] = temp_r31->unk36[2] = 0;
|
||||
|
|
@ -74,17 +76,17 @@ void fn_1_13D0(void) {
|
|||
while (temp_r31->unk96 < temp_r31->unk00) {
|
||||
fn_1_1574(temp_r31);
|
||||
fn_1_1794(temp_r31);
|
||||
while (temp_r31->unk9C == 0) {
|
||||
while (temp_r31->unk9C == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
fn_1_2220(temp_r31);
|
||||
while (temp_r31->unk9C != 0) {
|
||||
}
|
||||
fn_1_2220(temp_r31);
|
||||
while (temp_r31->unk9C != 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
temp_r31->unk96 += 1;
|
||||
}
|
||||
temp_r31->unk96 += 1;
|
||||
}
|
||||
|
||||
for ( i = 0; i < temp_r31->unk00; i++) {
|
||||
for (i = 0; i < temp_r31->unk00; i++) {
|
||||
var_r29 += temp_r31->unk36[i];
|
||||
}
|
||||
OSReport("Dice res: %d\n", var_r29);
|
||||
|
|
@ -92,7 +94,7 @@ void fn_1_13D0(void) {
|
|||
while (fn_1_233C(temp_r31) == 0) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
temp_r31->unk94 = (s16) var_r29;
|
||||
temp_r31->unk94 = (s16)var_r29;
|
||||
temp_r31->unk28 = 1;
|
||||
if (temp_r31->unk22 != 0) {
|
||||
for (i = 0; i < temp_r31->unk00; i++) {
|
||||
|
|
@ -102,11 +104,12 @@ void fn_1_13D0(void) {
|
|||
HuPrcEnd();
|
||||
}
|
||||
while (TRUE) {
|
||||
HuPrcVSleep();
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_1518(m02GenDice* arg0) {
|
||||
void fn_1_1518(m02GenDice *arg0)
|
||||
{
|
||||
OSReport("m02GenDiceKill\n");
|
||||
if (arg0->unk2C) {
|
||||
HuPrcKill(arg0->unk2C);
|
||||
|
|
@ -115,12 +118,13 @@ void fn_1_1518(m02GenDice* arg0) {
|
|||
fn_1_272C(arg0);
|
||||
}
|
||||
|
||||
void fn_1_1574(m02GenDice* arg0) {
|
||||
void fn_1_1574(m02GenDice *arg0)
|
||||
{
|
||||
Vec sp8;
|
||||
f32 temp_f0;
|
||||
omObjData* temp_r3;
|
||||
omObjData *temp_r3;
|
||||
s32 temp_r28;
|
||||
WorkGenDice* temp_r29;
|
||||
WorkGenDice *temp_r29;
|
||||
|
||||
temp_r28 = arg0->unk96;
|
||||
arg0->unk30[temp_r28] = BoardModelCreate(arg0->unk04, NULL, 0);
|
||||
|
|
@ -129,7 +133,7 @@ void fn_1_1574(m02GenDice* arg0) {
|
|||
BoardModelMotionSpeedSet(arg0->unk30[temp_r28], 0);
|
||||
BoardModelMotionTimeSet(arg0->unk30[temp_r28], arg0->unk98);
|
||||
temp_r3 = omAddObjEx(boardObjMan, 0x102, 0U, 0U, -1, fn_1_1850);
|
||||
temp_r29 = (WorkGenDice*) temp_r3->work;
|
||||
temp_r29 = (WorkGenDice *)temp_r3->work;
|
||||
|
||||
temp_r29->unk7 = 0;
|
||||
temp_r29->unk6 = 0;
|
||||
|
|
@ -139,7 +143,7 @@ void fn_1_1574(m02GenDice* arg0) {
|
|||
temp_r29->unk04 = 0;
|
||||
temp_r29->unk01 = 3;
|
||||
temp_r29->unk02 = 0;
|
||||
temp_r3->unk10 = (u32) arg0;
|
||||
temp_r3->unk10 = (u32)arg0;
|
||||
arg0->unk3C[temp_r28] = temp_r3;
|
||||
sp8 = arg0->unk0C;
|
||||
sp8.y += (250.0f * arg0->unk24);
|
||||
|
|
@ -153,8 +157,9 @@ void fn_1_1574(m02GenDice* arg0) {
|
|||
HuAudFXPlay(0x302);
|
||||
}
|
||||
|
||||
void fn_1_1794(m02GenDice* arg0) {
|
||||
WorkGenDice* temp_r30;
|
||||
void fn_1_1794(m02GenDice *arg0)
|
||||
{
|
||||
WorkGenDice *temp_r30;
|
||||
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0->unk3C[arg0->unk96], WorkGenDice);
|
||||
while (temp_r30->unk3 != 1) {
|
||||
|
|
@ -162,10 +167,10 @@ void fn_1_1794(m02GenDice* arg0) {
|
|||
}
|
||||
}
|
||||
|
||||
s32 fn_1_17F4(m02GenDice* arg0)
|
||||
s32 fn_1_17F4(m02GenDice *arg0)
|
||||
{
|
||||
WorkGenDice* temp;
|
||||
if ( arg0->unk96 < 0) {
|
||||
WorkGenDice *temp;
|
||||
if (arg0->unk96 < 0) {
|
||||
return 0;
|
||||
}
|
||||
temp = OM_GET_WORK_PTR(arg0->unk3C[arg0->unk96], WorkGenDice);
|
||||
|
|
@ -177,121 +182,126 @@ s32 fn_1_17F4(m02GenDice* arg0)
|
|||
|
||||
void fn_1_1850(omObjData *object)
|
||||
{
|
||||
WorkGenDice *temp_r29;
|
||||
m02GenDice *temp_r27;
|
||||
s16 temp_r26;
|
||||
s16 temp_r25;
|
||||
float temp_f29;
|
||||
float temp_f28;
|
||||
float temp_f27;
|
||||
temp_r27 = (m02GenDice *)object->unk10;
|
||||
temp_r29 = OM_GET_WORK_PTR(object, WorkGenDice);
|
||||
if(temp_r29->unk7 || BoardIsKill()) {
|
||||
fn_1_1F94(temp_r27, temp_r29->unk1);
|
||||
temp_r27->unk3C[temp_r29->unk1] = NULL;
|
||||
omDelObjEx(HuPrcCurrentGet(), object);
|
||||
return;
|
||||
}
|
||||
if(BoardPauseActiveCheck()) {
|
||||
return;
|
||||
}
|
||||
switch(temp_r29->unk3) {
|
||||
case 0:
|
||||
if(temp_r29->unk06 >= 1080) {
|
||||
temp_r29->unk3 = 1;
|
||||
object->scale.x = object->scale.y = object->scale.z = 1;
|
||||
|
||||
object->rot.y = temp_r29->unk04 = 0;
|
||||
} else {
|
||||
if(!temp_r29->unk04 && temp_r27->unk88[temp_r29->unk1] == -1) {
|
||||
temp_r27->unk88[temp_r29->unk1] = HuAudFXPlay(768);
|
||||
}
|
||||
object->rot.y = temp_r29->unk06%360;
|
||||
temp_r29->unk06 += 25;
|
||||
if(temp_r29->unk04 < 180) {
|
||||
temp_f27 = 0;
|
||||
temp_f28 = 1;
|
||||
} else {
|
||||
temp_f27 = 1;
|
||||
temp_f28 = 0.5f;
|
||||
}
|
||||
object->scale.x = (temp_f28*sind((float)(temp_r29->unk04%180)))+temp_f27;
|
||||
object->scale.y = object->scale.x;
|
||||
object->scale.z = object->scale.x;
|
||||
if(temp_r29->unk04 <= 360) {
|
||||
if(temp_r29->unk04 < 180) {
|
||||
temp_r29->unk04 += 6;
|
||||
} else {
|
||||
temp_r29->unk04 += 18;
|
||||
}
|
||||
if(temp_r29->unk04 > 360) {
|
||||
temp_r29->unk04 = 360;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
temp_r29->unk04 += 4;
|
||||
if(temp_r29->unk04 > 360) {
|
||||
temp_r29->unk04 -= 360;
|
||||
}
|
||||
OSs16tof32(&temp_r29->unk04, &temp_f29);
|
||||
object->trans.y += sind(temp_f29)*0.2f;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
temp_r29->unk04++;
|
||||
if(temp_r29->unk04 >= 8) {
|
||||
if(temp_r27->unk88[temp_r29->unk1] != -1) {
|
||||
HuAudFXStop(temp_r27->unk88[temp_r29->unk1]);
|
||||
temp_r27->unk88[temp_r29->unk1] = -1;
|
||||
}
|
||||
HuAudFXPlay(771);
|
||||
HuAudFXPlay(780);
|
||||
temp_r29->unk3 = 3;
|
||||
temp_r29->unk04 = 0;
|
||||
fn_1_23FC(temp_r27, temp_r27->unk36[temp_r29->unk1]);
|
||||
fn_1_2100(temp_r27, temp_r29->unk1);
|
||||
Hu3DParManPosSet(temp_r27->unk48[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z);
|
||||
BoardModelVisibilitySet(temp_r27->unk30[temp_r29->unk1], 0);
|
||||
} else {
|
||||
OSs16tof32(&temp_r29->unk04, &temp_f29);
|
||||
if(temp_r29->unk04 < 4) {
|
||||
object->trans.y += (0.5f*temp_f29)+10.0f;
|
||||
object->scale.x += (0.1f*sind(4.0f*temp_f29));
|
||||
object->scale.y = object->scale.x;
|
||||
object->scale.z = object->scale.x;
|
||||
} else {
|
||||
BoardModelAlphaSet(temp_r27->unk30[temp_r29->unk1], 255-(temp_r29->unk04*32));
|
||||
}
|
||||
object->trans.y += -0.49f*temp_f29*temp_f29;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if(++temp_r29->unk04 >= 150) {
|
||||
temp_r29->unk7 = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if(!temp_r29->unk6 || temp_r29->unk3 != 3) {
|
||||
if(temp_r29->unk02++ > temp_r29->unk01) {
|
||||
temp_r29->unk02 = 0;
|
||||
temp_r25 = BoardModelMotionTimeGet(temp_r27->unk30[temp_r29->unk1]);
|
||||
do {
|
||||
temp_r26 = BoardRandMod(temp_r27->unk1A);
|
||||
} while(temp_r26 == temp_r25);
|
||||
BoardModelMotionTimeSet(temp_r27->unk30[temp_r29->unk1], temp_r26+0.5f);
|
||||
}
|
||||
}
|
||||
BoardModelPosSet(temp_r27->unk30[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z);
|
||||
BoardModelRotSet(temp_r27->unk30[temp_r29->unk1], object->rot.x, object->rot.y, object->rot.z);
|
||||
BoardModelScaleSet(temp_r27->unk30[temp_r29->unk1], object->scale.x, object->scale.y, object->scale.z);
|
||||
WorkGenDice *temp_r29;
|
||||
m02GenDice *temp_r27;
|
||||
s16 temp_r26;
|
||||
s16 temp_r25;
|
||||
float temp_f29;
|
||||
float temp_f28;
|
||||
float temp_f27;
|
||||
temp_r27 = (m02GenDice *)object->unk10;
|
||||
temp_r29 = OM_GET_WORK_PTR(object, WorkGenDice);
|
||||
if (temp_r29->unk7 || BoardIsKill()) {
|
||||
fn_1_1F94(temp_r27, temp_r29->unk1);
|
||||
temp_r27->unk3C[temp_r29->unk1] = NULL;
|
||||
omDelObjEx(HuPrcCurrentGet(), object);
|
||||
return;
|
||||
}
|
||||
if (BoardPauseActiveCheck()) {
|
||||
return;
|
||||
}
|
||||
switch (temp_r29->unk3) {
|
||||
case 0:
|
||||
if (temp_r29->unk06 >= 1080) {
|
||||
temp_r29->unk3 = 1;
|
||||
object->scale.x = object->scale.y = object->scale.z = 1;
|
||||
|
||||
object->rot.y = temp_r29->unk04 = 0;
|
||||
}
|
||||
else {
|
||||
if (!temp_r29->unk04 && temp_r27->unk88[temp_r29->unk1] == -1) {
|
||||
temp_r27->unk88[temp_r29->unk1] = HuAudFXPlay(768);
|
||||
}
|
||||
object->rot.y = temp_r29->unk06 % 360;
|
||||
temp_r29->unk06 += 25;
|
||||
if (temp_r29->unk04 < 180) {
|
||||
temp_f27 = 0;
|
||||
temp_f28 = 1;
|
||||
}
|
||||
else {
|
||||
temp_f27 = 1;
|
||||
temp_f28 = 0.5f;
|
||||
}
|
||||
object->scale.x = (temp_f28 * sind((float)(temp_r29->unk04 % 180))) + temp_f27;
|
||||
object->scale.y = object->scale.x;
|
||||
object->scale.z = object->scale.x;
|
||||
if (temp_r29->unk04 <= 360) {
|
||||
if (temp_r29->unk04 < 180) {
|
||||
temp_r29->unk04 += 6;
|
||||
}
|
||||
else {
|
||||
temp_r29->unk04 += 18;
|
||||
}
|
||||
if (temp_r29->unk04 > 360) {
|
||||
temp_r29->unk04 = 360;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
temp_r29->unk04 += 4;
|
||||
if (temp_r29->unk04 > 360) {
|
||||
temp_r29->unk04 -= 360;
|
||||
}
|
||||
OSs16tof32(&temp_r29->unk04, &temp_f29);
|
||||
object->trans.y += sind(temp_f29) * 0.2f;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
temp_r29->unk04++;
|
||||
if (temp_r29->unk04 >= 8) {
|
||||
if (temp_r27->unk88[temp_r29->unk1] != -1) {
|
||||
HuAudFXStop(temp_r27->unk88[temp_r29->unk1]);
|
||||
temp_r27->unk88[temp_r29->unk1] = -1;
|
||||
}
|
||||
HuAudFXPlay(771);
|
||||
HuAudFXPlay(780);
|
||||
temp_r29->unk3 = 3;
|
||||
temp_r29->unk04 = 0;
|
||||
fn_1_23FC(temp_r27, temp_r27->unk36[temp_r29->unk1]);
|
||||
fn_1_2100(temp_r27, temp_r29->unk1);
|
||||
Hu3DParManPosSet(temp_r27->unk48[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z);
|
||||
BoardModelVisibilitySet(temp_r27->unk30[temp_r29->unk1], 0);
|
||||
}
|
||||
else {
|
||||
OSs16tof32(&temp_r29->unk04, &temp_f29);
|
||||
if (temp_r29->unk04 < 4) {
|
||||
object->trans.y += (0.5f * temp_f29) + 10.0f;
|
||||
object->scale.x += (0.1f * sind(4.0f * temp_f29));
|
||||
object->scale.y = object->scale.x;
|
||||
object->scale.z = object->scale.x;
|
||||
}
|
||||
else {
|
||||
BoardModelAlphaSet(temp_r27->unk30[temp_r29->unk1], 255 - (temp_r29->unk04 * 32));
|
||||
}
|
||||
object->trans.y += -0.49f * temp_f29 * temp_f29;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if (++temp_r29->unk04 >= 150) {
|
||||
temp_r29->unk7 = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (!temp_r29->unk6 || temp_r29->unk3 != 3) {
|
||||
if (temp_r29->unk02++ > temp_r29->unk01) {
|
||||
temp_r29->unk02 = 0;
|
||||
temp_r25 = BoardModelMotionTimeGet(temp_r27->unk30[temp_r29->unk1]);
|
||||
do {
|
||||
temp_r26 = BoardRandMod(temp_r27->unk1A);
|
||||
} while (temp_r26 == temp_r25);
|
||||
BoardModelMotionTimeSet(temp_r27->unk30[temp_r29->unk1], temp_r26 + 0.5f);
|
||||
}
|
||||
}
|
||||
BoardModelPosSet(temp_r27->unk30[temp_r29->unk1], object->trans.x, object->trans.y, object->trans.z);
|
||||
BoardModelRotSet(temp_r27->unk30[temp_r29->unk1], object->rot.x, object->rot.y, object->rot.z);
|
||||
BoardModelScaleSet(temp_r27->unk30[temp_r29->unk1], object->scale.x, object->scale.y, object->scale.z);
|
||||
}
|
||||
|
||||
void fn_1_1F94(m02GenDice* arg0, s32 arg1) {
|
||||
void fn_1_1F94(m02GenDice *arg0, s32 arg1)
|
||||
{
|
||||
if (arg0->unk30[arg1] != -1) {
|
||||
BoardModelKill(arg0->unk30[arg1]);
|
||||
arg0->unk30[arg1] = -1;
|
||||
|
|
@ -305,157 +315,134 @@ void fn_1_1F94(m02GenDice* arg0, s32 arg1) {
|
|||
|
||||
void fn_1_2030(m02GenDice *arg0)
|
||||
{
|
||||
fn_1_1F94(arg0, 0);
|
||||
fn_1_1F94(arg0, 1);
|
||||
fn_1_1F94(arg0, 2);
|
||||
fn_1_1F94(arg0, 0);
|
||||
fn_1_1F94(arg0, 1);
|
||||
fn_1_1F94(arg0, 2);
|
||||
}
|
||||
|
||||
|
||||
HsfanimStruct00 lbl_1_data_2D8 = {
|
||||
150,
|
||||
{ 0x00, 0x00 }, // padding?
|
||||
50,
|
||||
0,
|
||||
65.0f,
|
||||
{ 0.0f, -0.195f, 0.0f },
|
||||
100.0f,
|
||||
0.99f,
|
||||
40.0f,
|
||||
0.999f,
|
||||
0x0004,
|
||||
{
|
||||
0xFF, 0xFF, 0x20, 0xFF,
|
||||
0xFF, 0xFF, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0x80, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF
|
||||
},
|
||||
{
|
||||
0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0x00
|
||||
}
|
||||
};
|
||||
HsfanimStruct00 lbl_1_data_2D8 = { 150, { 0x00, 0x00 }, // padding?
|
||||
50, 0, 65.0f, { 0.0f, -0.195f, 0.0f }, 100.0f, 0.99f, 40.0f, 0.999f, 0x0004,
|
||||
{ 0xFF, 0xFF, 0x20, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },
|
||||
{ 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00 } };
|
||||
|
||||
void fn_1_2100(m02GenDice *arg0, s32 arg1)
|
||||
{
|
||||
s16 temp_r29;
|
||||
AnimData *temp_r28;
|
||||
void *temp_r27;
|
||||
temp_r27 = HuDataSelHeapReadNum(0x120001, MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
temp_r28 = HuSprAnimRead(temp_r27);
|
||||
arg0->unk48[arg1] = Hu3DParManCreate(temp_r28, 100, &lbl_1_data_2D8);
|
||||
Hu3DParManAttrSet(arg0->unk48[arg1], 0x108);
|
||||
Hu3DParManRotSet(arg0->unk48[arg1], 0, 0, 0);
|
||||
Hu3DParManVecSet(arg0->unk48[arg1], 0, 0.4f, 0.2f);
|
||||
temp_r29 = Hu3DParManModelIDGet(arg0->unk48[arg1]);
|
||||
Hu3DModelLayerSet(temp_r29, 2);
|
||||
Hu3DParticleBlendModeSet(temp_r29, 0);
|
||||
s16 temp_r29;
|
||||
AnimData *temp_r28;
|
||||
void *temp_r27;
|
||||
temp_r27 = HuDataSelHeapReadNum(DATA_MAKE_NUM(DATADIR_EFFECT, 0x01), MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
temp_r28 = HuSprAnimRead(temp_r27);
|
||||
arg0->unk48[arg1] = Hu3DParManCreate(temp_r28, 100, &lbl_1_data_2D8);
|
||||
Hu3DParManAttrSet(arg0->unk48[arg1], 0x108);
|
||||
Hu3DParManRotSet(arg0->unk48[arg1], 0, 0, 0);
|
||||
Hu3DParManVecSet(arg0->unk48[arg1], 0, 0.4f, 0.2f);
|
||||
temp_r29 = Hu3DParManModelIDGet(arg0->unk48[arg1]);
|
||||
Hu3DModelLayerSet(temp_r29, 2);
|
||||
Hu3DParticleBlendModeSet(temp_r29, 0);
|
||||
}
|
||||
|
||||
void fn_1_2220(m02GenDice *arg0)
|
||||
{
|
||||
s32 temp_r30;
|
||||
WorkGenDice *temp_r29;
|
||||
temp_r30 = arg0->unk96;
|
||||
temp_r29 = OM_GET_WORK_PTR(arg0->unk3C[temp_r30], WorkGenDice);
|
||||
temp_r29->unk3 = 2;
|
||||
temp_r29->unk04 = 0;
|
||||
BoardModelMotionSpeedSet(arg0->unk30[temp_r30], 0);
|
||||
|
||||
arg0->unk36[temp_r30] = arg0->unk1C[temp_r30];
|
||||
s32 temp_r30;
|
||||
WorkGenDice *temp_r29;
|
||||
temp_r30 = arg0->unk96;
|
||||
temp_r29 = OM_GET_WORK_PTR(arg0->unk3C[temp_r30], WorkGenDice);
|
||||
temp_r29->unk3 = 2;
|
||||
temp_r29->unk04 = 0;
|
||||
BoardModelMotionSpeedSet(arg0->unk30[temp_r30], 0);
|
||||
|
||||
arg0->unk36[temp_r30] = arg0->unk1C[temp_r30];
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
u8 field0_bit0 : 1;
|
||||
u8 field0_bit1 : 1;
|
||||
u8 field0_bit2 : 1;
|
||||
u8 field0_bit3 : 2;
|
||||
s8 unk01;
|
||||
s16 unk02;
|
||||
s16 unk04[2];
|
||||
float unk08;
|
||||
u8 field0_bit0 : 1;
|
||||
u8 field0_bit1 : 1;
|
||||
u8 field0_bit2 : 1;
|
||||
u8 field0_bit3 : 2;
|
||||
s8 unk01;
|
||||
s16 unk02;
|
||||
s16 unk04[2];
|
||||
float unk08;
|
||||
} WorkGenDiceNum;
|
||||
|
||||
void fn_1_22BC(m02GenDice *arg0)
|
||||
{
|
||||
s32 temp_r31;
|
||||
WorkGenDiceNum *temp_r30;
|
||||
for(temp_r31=0; temp_r31<arg0->unk00; temp_r31++) {
|
||||
if(arg0->unk50[temp_r31]) {
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum);
|
||||
temp_r30->field0_bit1 = 1;
|
||||
temp_r30->field0_bit2 = 1;
|
||||
temp_r30->unk02 = 0;
|
||||
}
|
||||
}
|
||||
s32 temp_r31;
|
||||
WorkGenDiceNum *temp_r30;
|
||||
for (temp_r31 = 0; temp_r31 < arg0->unk00; temp_r31++) {
|
||||
if (arg0->unk50[temp_r31]) {
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum);
|
||||
temp_r30->field0_bit1 = 1;
|
||||
temp_r30->field0_bit2 = 1;
|
||||
temp_r30->unk02 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s32 fn_1_233C(m02GenDice* arg0)
|
||||
s32 fn_1_233C(m02GenDice *arg0)
|
||||
{
|
||||
s32 temp_r31;
|
||||
WorkGenDiceNum *temp_r30;
|
||||
for(temp_r31=0; temp_r31<arg0->unk00; temp_r31++) {
|
||||
if(!arg0->unk50[temp_r31]) {
|
||||
continue;
|
||||
}
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum);
|
||||
if(temp_r30->field0_bit2) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
s32 temp_r31;
|
||||
WorkGenDiceNum *temp_r30;
|
||||
for (temp_r31 = 0; temp_r31 < arg0->unk00; temp_r31++) {
|
||||
if (!arg0->unk50[temp_r31]) {
|
||||
continue;
|
||||
}
|
||||
temp_r30 = OM_GET_WORK_PTR(arg0->unk50[temp_r31], WorkGenDiceNum);
|
||||
if (temp_r30->field0_bit2) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void fn_1_23B4(m02GenDice *arg0, s32 arg1)
|
||||
{
|
||||
WorkGenDiceNum *work;
|
||||
if(!arg0->unk50[arg1]) {
|
||||
return;
|
||||
}
|
||||
work = OM_GET_WORK_PTR(arg0->unk50[arg1], WorkGenDiceNum);
|
||||
work->field0_bit0 = 1;
|
||||
WorkGenDiceNum *work;
|
||||
if (!arg0->unk50[arg1]) {
|
||||
return;
|
||||
}
|
||||
work = OM_GET_WORK_PTR(arg0->unk50[arg1], WorkGenDiceNum);
|
||||
work->field0_bit0 = 1;
|
||||
}
|
||||
|
||||
void fn_1_25D0(omObjData *object);
|
||||
|
||||
void fn_1_23FC(m02GenDice *arg0, s32 arg1)
|
||||
{
|
||||
Vec spC;
|
||||
s16 sp8[2];
|
||||
WorkGenDiceNum *temp_r31;
|
||||
s16 temp_r29;
|
||||
omObjData *temp_r28;
|
||||
s32 temp_r26;
|
||||
s16 temp_r25;
|
||||
temp_r26 = arg0->unk96;
|
||||
if(arg1 > 99) {
|
||||
arg1 = 99;
|
||||
}
|
||||
sp8[0] = arg1%10;
|
||||
sp8[1] = arg1/10;
|
||||
spC = arg0->unk0C;
|
||||
spC.y += 300.0f;
|
||||
temp_r28 = omAddObjEx(boardObjMan, 258, 0, 0, -1, fn_1_25D0);
|
||||
temp_r28->unk10 = (u32)arg0;
|
||||
temp_r31 = OM_GET_WORK_PTR(temp_r28, WorkGenDiceNum);
|
||||
temp_r31->field0_bit0 = 0;
|
||||
temp_r31->field0_bit1 = 0;
|
||||
temp_r31->field0_bit2 = 0;
|
||||
temp_r31->field0_bit3 = temp_r26;
|
||||
temp_r31->unk08 = 0.3f;
|
||||
temp_r31->unk01 = arg1;
|
||||
temp_r31->unk02 = 360;
|
||||
for(temp_r29=0; temp_r29<2; temp_r29++) {
|
||||
temp_r25 = BoardModelCreate(arg0->unk08[sp8[temp_r29]], NULL, 0);
|
||||
BoardModelPosSetV(temp_r25, &spC);
|
||||
temp_r31->unk04[temp_r29] = temp_r25;
|
||||
}
|
||||
if(sp8[1] == 0) {
|
||||
BoardModelVisibilitySet(temp_r31->unk04[1], 0);
|
||||
}
|
||||
arg0->unk50[temp_r26] = temp_r28;
|
||||
|
||||
Vec spC;
|
||||
s16 sp8[2];
|
||||
WorkGenDiceNum *temp_r31;
|
||||
s16 temp_r29;
|
||||
omObjData *temp_r28;
|
||||
s32 temp_r26;
|
||||
s16 temp_r25;
|
||||
temp_r26 = arg0->unk96;
|
||||
if (arg1 > 99) {
|
||||
arg1 = 99;
|
||||
}
|
||||
sp8[0] = arg1 % 10;
|
||||
sp8[1] = arg1 / 10;
|
||||
spC = arg0->unk0C;
|
||||
spC.y += 300.0f;
|
||||
temp_r28 = omAddObjEx(boardObjMan, 258, 0, 0, -1, fn_1_25D0);
|
||||
temp_r28->unk10 = (u32)arg0;
|
||||
temp_r31 = OM_GET_WORK_PTR(temp_r28, WorkGenDiceNum);
|
||||
temp_r31->field0_bit0 = 0;
|
||||
temp_r31->field0_bit1 = 0;
|
||||
temp_r31->field0_bit2 = 0;
|
||||
temp_r31->field0_bit3 = temp_r26;
|
||||
temp_r31->unk08 = 0.3f;
|
||||
temp_r31->unk01 = arg1;
|
||||
temp_r31->unk02 = 360;
|
||||
for (temp_r29 = 0; temp_r29 < 2; temp_r29++) {
|
||||
temp_r25 = BoardModelCreate(arg0->unk08[sp8[temp_r29]], NULL, 0);
|
||||
BoardModelPosSetV(temp_r25, &spC);
|
||||
temp_r31->unk04[temp_r29] = temp_r25;
|
||||
}
|
||||
if (sp8[1] == 0) {
|
||||
BoardModelVisibilitySet(temp_r31->unk04[1], 0);
|
||||
}
|
||||
arg0->unk50[temp_r26] = temp_r28;
|
||||
}
|
||||
|
||||
void fn_1_2694(WorkGenDiceNum *arg0);
|
||||
|
|
@ -464,150 +451,147 @@ void fn_1_2BE4(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2);
|
|||
|
||||
void fn_1_25D0(omObjData *object)
|
||||
{
|
||||
WorkGenDiceNum *temp_r31;
|
||||
m02GenDice *temp_r30;
|
||||
temp_r30 = (m02GenDice *)object->unk10;
|
||||
temp_r31 = OM_GET_WORK_PTR(object, WorkGenDiceNum);
|
||||
if(temp_r31->field0_bit0 || BoardIsKill()) {
|
||||
fn_1_2694(temp_r31);
|
||||
temp_r30->unk50[temp_r31->field0_bit3] = NULL;
|
||||
omDelObjEx(HuPrcCurrentGet(), object);
|
||||
return;
|
||||
}
|
||||
if(BoardPauseActiveCheck()) {
|
||||
return;
|
||||
}
|
||||
fn_1_2830(temp_r30, temp_r31, temp_r31->field0_bit1);
|
||||
fn_1_2BE4(temp_r30, temp_r31, temp_r31->field0_bit1);
|
||||
WorkGenDiceNum *temp_r31;
|
||||
m02GenDice *temp_r30;
|
||||
temp_r30 = (m02GenDice *)object->unk10;
|
||||
temp_r31 = OM_GET_WORK_PTR(object, WorkGenDiceNum);
|
||||
if (temp_r31->field0_bit0 || BoardIsKill()) {
|
||||
fn_1_2694(temp_r31);
|
||||
temp_r30->unk50[temp_r31->field0_bit3] = NULL;
|
||||
omDelObjEx(HuPrcCurrentGet(), object);
|
||||
return;
|
||||
}
|
||||
if (BoardPauseActiveCheck()) {
|
||||
return;
|
||||
}
|
||||
fn_1_2830(temp_r30, temp_r31, temp_r31->field0_bit1);
|
||||
fn_1_2BE4(temp_r30, temp_r31, temp_r31->field0_bit1);
|
||||
}
|
||||
|
||||
void fn_1_2694(WorkGenDiceNum *arg0)
|
||||
{
|
||||
s32 i;
|
||||
for(i=0; i<2; i++) {
|
||||
if(arg0->unk04[i] == -1) {
|
||||
continue;
|
||||
}
|
||||
OSReport("%d:GenDiceNumExitOM Kill %d\n", i, arg0->unk04[i]);
|
||||
BoardModelKill(arg0->unk04[i]);
|
||||
arg0->unk04[i] = -1;
|
||||
(void)i;
|
||||
}
|
||||
s32 i;
|
||||
for (i = 0; i < 2; i++) {
|
||||
if (arg0->unk04[i] == -1) {
|
||||
continue;
|
||||
}
|
||||
OSReport("%d:GenDiceNumExitOM Kill %d\n", i, arg0->unk04[i]);
|
||||
BoardModelKill(arg0->unk04[i]);
|
||||
arg0->unk04[i] = -1;
|
||||
(void)i;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_272C(m02GenDice *arg0)
|
||||
{
|
||||
s32 i;
|
||||
WorkGenDiceNum *work;
|
||||
s32 j;
|
||||
for(i=0; i<3; i++) {
|
||||
if(!arg0->unk50[i]) {
|
||||
continue;
|
||||
}
|
||||
work = OM_GET_WORK_PTR(arg0->unk50[i], WorkGenDiceNum);
|
||||
for(j=0; j<2; j++) {
|
||||
if(work->unk04[j] == -1) {
|
||||
continue;
|
||||
}
|
||||
OSReport("%d:GenDiceNumOMKillAll %d\n", j, work->unk04[j]);
|
||||
BoardModelKill(work->unk04[j]);
|
||||
work->unk04[j] = -1;
|
||||
(void)j;
|
||||
}
|
||||
fn_1_23B4(arg0, i);
|
||||
}
|
||||
|
||||
s32 i;
|
||||
WorkGenDiceNum *work;
|
||||
s32 j;
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (!arg0->unk50[i]) {
|
||||
continue;
|
||||
}
|
||||
work = OM_GET_WORK_PTR(arg0->unk50[i], WorkGenDiceNum);
|
||||
for (j = 0; j < 2; j++) {
|
||||
if (work->unk04[j] == -1) {
|
||||
continue;
|
||||
}
|
||||
OSReport("%d:GenDiceNumOMKillAll %d\n", j, work->unk04[j]);
|
||||
BoardModelKill(work->unk04[j]);
|
||||
work->unk04[j] = -1;
|
||||
(void)j;
|
||||
}
|
||||
fn_1_23B4(arg0, i);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2830(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2)
|
||||
{
|
||||
float temp_f31;
|
||||
s16 temp_r31;
|
||||
Vec *temp_r29;
|
||||
s16 temp_r27;
|
||||
s32 sp8 = 0;
|
||||
Vec sp30;
|
||||
Vec sp24;
|
||||
Vec sp18 = { 288, 155, 1400 };
|
||||
Vec sp54[2];
|
||||
Vec sp3C[2] = {
|
||||
{ 144, 155, 1400 },
|
||||
{ 432, 155, 1400 }
|
||||
};
|
||||
Vec sp6C[3] = {
|
||||
{ 144, 155, 1400 },
|
||||
{ 432, 155, 1400 },
|
||||
{ 288, 155, 1400 }
|
||||
};
|
||||
Vec spC = { 288, 176, 1400 };
|
||||
temp_r27 = arg1->unk01/10;
|
||||
if(arg2) {
|
||||
temp_r29 = &spC;
|
||||
temp_f31 = -20.0f*arg1->field0_bit3;
|
||||
} else {
|
||||
switch(arg0->unk00) {
|
||||
case 1:
|
||||
temp_r29 = &arg0->unk7C;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case 3:
|
||||
temp_r29 = &arg0->unk64[arg1->field0_bit3];
|
||||
break;
|
||||
}
|
||||
temp_f31 = 0;
|
||||
}
|
||||
for(temp_r31=0; temp_r31<2; temp_r31++) {
|
||||
if(temp_r27 == 0) {
|
||||
sp54[temp_r31].x = temp_r29->x;
|
||||
} else {
|
||||
if(temp_r31) {
|
||||
sp54[temp_r31].x = temp_r29->x-30;
|
||||
} else {
|
||||
sp54[temp_r31].x = temp_r29->x+30;
|
||||
}
|
||||
}
|
||||
sp54[temp_r31].y = temp_r29->y;
|
||||
sp54[temp_r31].z = temp_r29->z+temp_f31;
|
||||
}
|
||||
for(temp_r31=0; temp_r31<2; temp_r31++) {
|
||||
BoardModelPosGet(arg1->unk04[temp_r31], &sp30);
|
||||
Hu3D2Dto3D(&sp54[temp_r31], 1, &sp54[temp_r31]);
|
||||
VECSubtract(&sp54[temp_r31], &sp30, &sp24);
|
||||
if(VECMag(&sp24) < 0.01f) {
|
||||
arg1->field0_bit2 = 0;
|
||||
if(arg2 && arg1->field0_bit3) {
|
||||
BoardModelVisibilitySet(arg1->unk04[temp_r31], 0);
|
||||
}
|
||||
} else {
|
||||
arg1->field0_bit2 = 1;
|
||||
}
|
||||
VECScale(&sp24, &sp24, arg1->unk08);
|
||||
VECAdd(&sp30, &sp24, &sp30);
|
||||
BoardModelPosSetV(arg1->unk04[temp_r31], &sp30);
|
||||
}
|
||||
float temp_f31;
|
||||
s16 temp_r31;
|
||||
Vec *temp_r29;
|
||||
s16 temp_r27;
|
||||
s32 sp8 = 0;
|
||||
Vec sp30;
|
||||
Vec sp24;
|
||||
Vec sp18 = { 288, 155, 1400 };
|
||||
Vec sp54[2];
|
||||
Vec sp3C[2] = { { 144, 155, 1400 }, { 432, 155, 1400 } };
|
||||
Vec sp6C[3] = { { 144, 155, 1400 }, { 432, 155, 1400 }, { 288, 155, 1400 } };
|
||||
Vec spC = { 288, 176, 1400 };
|
||||
temp_r27 = arg1->unk01 / 10;
|
||||
if (arg2) {
|
||||
temp_r29 = &spC;
|
||||
temp_f31 = -20.0f * arg1->field0_bit3;
|
||||
}
|
||||
else {
|
||||
switch (arg0->unk00) {
|
||||
case 1:
|
||||
temp_r29 = &arg0->unk7C;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
case 3:
|
||||
temp_r29 = &arg0->unk64[arg1->field0_bit3];
|
||||
break;
|
||||
}
|
||||
temp_f31 = 0;
|
||||
}
|
||||
for (temp_r31 = 0; temp_r31 < 2; temp_r31++) {
|
||||
if (temp_r27 == 0) {
|
||||
sp54[temp_r31].x = temp_r29->x;
|
||||
}
|
||||
else {
|
||||
if (temp_r31) {
|
||||
sp54[temp_r31].x = temp_r29->x - 30;
|
||||
}
|
||||
else {
|
||||
sp54[temp_r31].x = temp_r29->x + 30;
|
||||
}
|
||||
}
|
||||
sp54[temp_r31].y = temp_r29->y;
|
||||
sp54[temp_r31].z = temp_r29->z + temp_f31;
|
||||
}
|
||||
for (temp_r31 = 0; temp_r31 < 2; temp_r31++) {
|
||||
BoardModelPosGet(arg1->unk04[temp_r31], &sp30);
|
||||
Hu3D2Dto3D(&sp54[temp_r31], 1, &sp54[temp_r31]);
|
||||
VECSubtract(&sp54[temp_r31], &sp30, &sp24);
|
||||
if (VECMag(&sp24) < 0.01f) {
|
||||
arg1->field0_bit2 = 0;
|
||||
if (arg2 && arg1->field0_bit3) {
|
||||
BoardModelVisibilitySet(arg1->unk04[temp_r31], 0);
|
||||
}
|
||||
}
|
||||
else {
|
||||
arg1->field0_bit2 = 1;
|
||||
}
|
||||
VECScale(&sp24, &sp24, arg1->unk08);
|
||||
VECAdd(&sp30, &sp24, &sp30);
|
||||
BoardModelPosSetV(arg1->unk04[temp_r31], &sp30);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2BE4(m02GenDice *arg0, WorkGenDiceNum *arg1, s32 arg2)
|
||||
{
|
||||
s32 temp_r29;
|
||||
float temp_f30;
|
||||
if(arg2) {
|
||||
arg1->unk02 += 18;
|
||||
if(arg1->unk02 >= 360) {
|
||||
arg1->unk02 = 360;
|
||||
}
|
||||
} else {
|
||||
arg1->unk02 -= 18;
|
||||
if(arg1->unk02 <= 0) {
|
||||
arg1->unk02 = 0;
|
||||
}
|
||||
}
|
||||
OSs16tof32(&arg1->unk02, &temp_f30);
|
||||
for(temp_r29=0; temp_r29<2; temp_r29++) {
|
||||
if(arg1->unk04[temp_r29] == -1) {
|
||||
continue;
|
||||
}
|
||||
BoardModelRotSet(arg1->unk04[temp_r29], 0, temp_f30, 0);
|
||||
}
|
||||
}
|
||||
s32 temp_r29;
|
||||
float temp_f30;
|
||||
if (arg2) {
|
||||
arg1->unk02 += 18;
|
||||
if (arg1->unk02 >= 360) {
|
||||
arg1->unk02 = 360;
|
||||
}
|
||||
}
|
||||
else {
|
||||
arg1->unk02 -= 18;
|
||||
if (arg1->unk02 <= 0) {
|
||||
arg1->unk02 = 0;
|
||||
}
|
||||
}
|
||||
OSs16tof32(&arg1->unk02, &temp_f30);
|
||||
for (temp_r29 = 0; temp_r29 < 2; temp_r29++) {
|
||||
if (arg1->unk04[temp_r29] == -1) {
|
||||
continue;
|
||||
}
|
||||
BoardModelRotSet(arg1->unk04[temp_r29], 0, temp_f30, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,17 +89,17 @@ void BoardCreate(void) {
|
|||
|
||||
boardData = get_current_board();
|
||||
lbl_1_bss_0 = GWSystem.board_data;
|
||||
BoardSpaceInit(0x760000);
|
||||
lbl_1_data_280 = BoardModelCreate(0x760001, NULL, 0);
|
||||
BoardSpaceInit(DATA_MAKE_NUM(DATADIR_W02, 0x00));
|
||||
lbl_1_data_280 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x01), NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_280, -1.0f);
|
||||
BoardModelPosSet(lbl_1_data_280, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_280, 0, 0x40000001);
|
||||
BoardModelMotionSpeedSet(lbl_1_data_280, 0.1f);
|
||||
lbl_1_data_282 = BoardModelCreate(0x760002, NULL, 0);
|
||||
lbl_1_data_282 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x02), NULL, 0);
|
||||
fn_8006DDE8(lbl_1_data_282, -1.0f);
|
||||
BoardModelPosSet(lbl_1_data_282, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_282, 0, 0x40000001);
|
||||
lbl_1_data_284 = BoardModelCreate(0x760003, lbl_1_data_288, 0);
|
||||
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x03), lbl_1_data_288, 0);
|
||||
BoardModelPosSet(lbl_1_data_284, 0.0f, 0.0f, 0.0f);
|
||||
BoardModelMotionStart(lbl_1_data_284, 1, 0x40000001);
|
||||
lbl_1_data_286 = BoardModelCreate(0x20005, lbl_1_data_290, 0);
|
||||
|
|
@ -132,8 +132,8 @@ void BoardCreate(void) {
|
|||
fn_1_92C();
|
||||
BoardModelPosGet(lbl_1_bss_30[13], &lbl_1_bss_20);
|
||||
BoardModelPosGet(lbl_1_bss_30[14], &lbl_1_bss_14);
|
||||
lbl_1_bss_2E = BoardModelCreate(0x760010, NULL, 1);
|
||||
lbl_1_bss_2C = BoardModelCreate(0x760010, NULL, 1);
|
||||
lbl_1_bss_2E = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x10), NULL, 1);
|
||||
lbl_1_bss_2C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W02, 0x10), NULL, 1);
|
||||
fn_1_9250();
|
||||
BoardSpaceWalkEventFuncSet(fn_1_800);
|
||||
BoardSpaceWalkMiniEventFuncSet(fn_1_1128);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -69,11 +69,11 @@ void fn_1_BCFC(void) {
|
|||
HuPrcVSleep();
|
||||
}
|
||||
BoardModelRotYSet(lbl_1_bss_30[15], -90.0f);
|
||||
fn_1_121C(0x130000);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x00));
|
||||
HuAudFXPlay(0x44);
|
||||
temp_r29 = fn_1_BE88();
|
||||
BoardStatusShowSetAll(0);
|
||||
fn_1_121C(0x130001);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x01));
|
||||
temp_r30 = fn_1_C108(temp_r29);
|
||||
fn_1_CD04(temp_r30);
|
||||
BoardCameraViewSet(1);
|
||||
|
|
@ -104,7 +104,7 @@ s32 fn_1_BE88(void) {
|
|||
if (coinAmount < 5) {
|
||||
return var_r30;
|
||||
}
|
||||
fn_1_121C(0x130002);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x02));
|
||||
|
||||
do {
|
||||
BoardWinCreateChoice(2, MAKE_MESSID(19, 29), 4, 0);
|
||||
|
|
@ -153,17 +153,17 @@ s32 fn_1_BE88(void) {
|
|||
// Coin amount is now the bribe amount in coins
|
||||
switch (bribeChoice) {
|
||||
case 0:
|
||||
mesg = 0x130004;
|
||||
mesg = MAKE_MESSID(0x13, 0x04);
|
||||
coinAmount = 0x14;
|
||||
var_r30 = 0x5A; // 90%
|
||||
break;
|
||||
case 1:
|
||||
mesg = 0x130005;
|
||||
mesg = MAKE_MESSID(0x13, 0x05);
|
||||
coinAmount = 0xA;
|
||||
var_r30 = 0x3C; // 60%
|
||||
break;
|
||||
case 2:
|
||||
mesg = 0x130006;
|
||||
mesg = MAKE_MESSID(0x13, 0x06);
|
||||
coinAmount = 5;
|
||||
var_r30 = 0x1E; // 30%
|
||||
break;
|
||||
|
|
@ -183,7 +183,7 @@ s32 fn_1_BE88(void) {
|
|||
}
|
||||
} while (rouletteChoice == 2); // While viewing map
|
||||
if (var_r30 == -1) {
|
||||
fn_1_121C(0x130007);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x07));
|
||||
}
|
||||
return var_r30;
|
||||
}
|
||||
|
|
@ -516,12 +516,12 @@ void fn_1_D3AC(void)
|
|||
Vec sp20;
|
||||
Vec sp14;
|
||||
float sp8[3] = { 1.0f, 0.3f, 2.5f };
|
||||
fn_1_121C(0x130008);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x08));
|
||||
BoardStatusShowSetAll(1);
|
||||
BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15);
|
||||
BoardPlayerPosGet(lbl_1_bss_388, &sp14);
|
||||
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
||||
sp38[temp_r31] = BoardModelCreate(0x7000A, NULL, 1);
|
||||
sp38[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1);
|
||||
sp2C.x = (sp14.x-25.0f)+((1.0f/255.0f)*(frand8()*50.0f));
|
||||
sp2C.y = (sp14.y+1200.0f)+(temp_r31*130.0f)+((1.0f/255.0f)*(frand8()*60.0f));
|
||||
sp2C.z = (sp14.z-25.0f)+((1.0f/255.0f)*(frand8()*50.0f));
|
||||
|
|
@ -603,11 +603,11 @@ s32 fn_1_D8C4(void)
|
|||
s16 temp_r22;
|
||||
|
||||
u32 temp_r21;
|
||||
fn_1_121C(0x130009);
|
||||
fn_1_121C(MAKE_MESSID(0x13, 0x09));
|
||||
temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800));
|
||||
BoardModelPosGet(lbl_1_bss_30[3], &sp40);
|
||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
||||
sp14[temp_r31] = BoardModelCreate(0x70000, NULL, 1);
|
||||
sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1);
|
||||
BoardModelLayerSet(sp14[temp_r31], 2);
|
||||
for(temp_r28=0; temp_r28<temp_r29->link_cnt; temp_r28++) {
|
||||
temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1;
|
||||
|
|
@ -627,9 +627,9 @@ s32 fn_1_D8C4(void)
|
|||
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
|
||||
}
|
||||
temp_r25 = fn_1_E2AC();
|
||||
HuWinMesMaxSizeGet(1, spC, 0x13001E);
|
||||
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E));
|
||||
temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0);
|
||||
HuWinMesSet(temp_r30, 0x13001E);
|
||||
HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E));
|
||||
HuWinBGTPLvlSet(temp_r30, 0);
|
||||
HuWinMesSpeedSet(temp_r30, 0);
|
||||
temp_r23 = GWPlayer[lbl_1_bss_388].port;
|
||||
|
|
@ -811,4 +811,4 @@ void fn_1_E41C(void)
|
|||
while(lbl_1_bss_38C) {
|
||||
HuPrcVSleep();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,25 +25,25 @@ s16 lbl_1_bss_1AC;
|
|||
Vec lbl_1_bss_1A0;
|
||||
|
||||
s32 lbl_1_data_490[8] = {
|
||||
0x0076002E,
|
||||
0x0076002F,
|
||||
0x00760030,
|
||||
0x00760031,
|
||||
0x00760032,
|
||||
0x00760033,
|
||||
0x00760034,
|
||||
0x00760035
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2E),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2F),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x30),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x31),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x32),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x33),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x34),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x35)
|
||||
};
|
||||
|
||||
s32 lbl_1_data_4B0[8] = {
|
||||
0x00760026,
|
||||
0x00760027,
|
||||
0x00760028,
|
||||
0x00760029,
|
||||
0x0076002A,
|
||||
0x0076002B,
|
||||
0x0076002C,
|
||||
0x0076002D
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x26),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x27),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x28),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x29),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2A),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2B),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2C),
|
||||
DATA_MAKE_NUM(DATADIR_W02, 0x2D)
|
||||
};
|
||||
|
||||
s32 fn_1_9250(void)
|
||||
|
|
@ -135,9 +135,9 @@ void fn_1_94C0(void)
|
|||
BoardCameraRotSet(-10, -sp10.y);
|
||||
BoardCameraZoomSet(900);
|
||||
BoardStatusShowSetAll(0);
|
||||
HuWinMesMaxSizeGet(1, sp8, 0x13001C);
|
||||
HuWinMesMaxSizeGet(1, sp8, MAKE_MESSID(0x13, 0x1C));
|
||||
lbl_1_bss_1AC = HuWinCreate(-10000, 400, sp8[0], sp8[1], 0);
|
||||
HuWinMesSet(lbl_1_bss_1AC, 0x13001C);
|
||||
HuWinMesSet(lbl_1_bss_1AC, MAKE_MESSID(0x13, 0x1C));
|
||||
HuWinBGTPLvlSet(lbl_1_bss_1AC, 0);
|
||||
HuWinMesSpeedSet(lbl_1_bss_1AC, 0);
|
||||
fn_1_9EC4();
|
||||
|
|
@ -238,7 +238,7 @@ void fn_1_9EC4(void)
|
|||
s32 temp_r31;
|
||||
s32 temp_r30;
|
||||
for(temp_r31=0; temp_r31<15; temp_r31++) {
|
||||
lbl_1_bss_34C[temp_r31] = BoardModelCreate(0x7000A, NULL, 1);
|
||||
lbl_1_bss_34C[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), NULL, 1);
|
||||
BoardModelVisibilitySet(lbl_1_bss_34C[temp_r31], 0);
|
||||
lbl_1_bss_1C4[temp_r31] = 1;
|
||||
}
|
||||
|
|
@ -582,4 +582,4 @@ void fn_1_BB30(void)
|
|||
HuPrcVSleep();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue