Replace most of Point3d with Vec
This commit is contained in:
parent
dd2c167c8e
commit
eb35233505
19 changed files with 732 additions and 711 deletions
|
|
@ -30,7 +30,7 @@ void fn_1_1CA8(void);
|
||||||
void fn_1_1CAC(float, float, float);
|
void fn_1_1CAC(float, float, float);
|
||||||
void fn_1_1CD4(float *arg0, float *arg1, float *arg2);
|
void fn_1_1CD4(float *arg0, float *arg1, float *arg2);
|
||||||
s32 fn_1_1D88(void);
|
s32 fn_1_1D88(void);
|
||||||
void fn_1_1DB0(Point3d *arg0, Point3d *arg1, float *arg2, s32 arg3, s32 arg4);
|
void fn_1_1DB0(Vec *arg0, Vec *arg1, float *arg2, s32 arg3, s32 arg4);
|
||||||
|
|
||||||
void fn_1_2354(Process *arg0);
|
void fn_1_2354(Process *arg0);
|
||||||
void fn_1_2564(void);
|
void fn_1_2564(void);
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
#include "game/object.h"
|
#include "game/object.h"
|
||||||
#include "game/objsub.h"
|
#include "game/objsub.h"
|
||||||
|
|
||||||
|
|
||||||
#include "ext_math.h"
|
#include "ext_math.h"
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
@ -21,20 +20,20 @@ typedef struct {
|
||||||
} HuUnkF9C2;
|
} HuUnkF9C2;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
Point3d pos; // 0000
|
Vec pos; // 0000
|
||||||
Point3d rot; // 000C
|
Vec rot; // 000C
|
||||||
Point3d scale; // 0018
|
Vec scale; // 0018
|
||||||
s32 unk24;
|
s32 unk24;
|
||||||
s32 unk28;
|
s32 unk28;
|
||||||
s32 unk2C;
|
s32 unk2C;
|
||||||
HsfObject *obj; // 0030
|
HsfObject *obj; // 0030
|
||||||
} HuObjUnk;
|
} HuObjUnk;
|
||||||
|
|
||||||
extern Point3d CRot;
|
extern Vec CRot;
|
||||||
extern Point3d Center;
|
extern Vec Center;
|
||||||
extern float CZoom;
|
extern float CZoom;
|
||||||
void fn_1_29C();
|
void fn_1_29C();
|
||||||
void fn_1_28F8(Point3d *arg0, Point3d *arg1);
|
void fn_1_28F8(Vec *arg0, Vec *arg1);
|
||||||
void fn_1_37DC(omObjData *);
|
void fn_1_37DC(omObjData *);
|
||||||
void fn_1_439C(omObjData *);
|
void fn_1_439C(omObjData *);
|
||||||
void fn_1_46F0();
|
void fn_1_46F0();
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
#include "game/hsfformat.h"
|
#include "game/hsfformat.h"
|
||||||
#include "game/memory.h"
|
#include "game/memory.h"
|
||||||
|
|
||||||
|
|
||||||
#define HU3D_MODEL_MAX 512
|
#define HU3D_MODEL_MAX 512
|
||||||
#define HU3D_MOTION_MAX 256
|
#define HU3D_MOTION_MAX 256
|
||||||
#define HU3D_TEXANIM_MAX 256
|
#define HU3D_TEXANIM_MAX 256
|
||||||
|
|
@ -109,7 +108,7 @@ struct model_data {
|
||||||
u32 unk_4C;
|
u32 unk_4C;
|
||||||
u32 attr;
|
u32 attr;
|
||||||
u32 motion_attr;
|
u32 motion_attr;
|
||||||
Point3d unk_58;
|
Vec unk_58;
|
||||||
float unk_64;
|
float unk_64;
|
||||||
float unk_68;
|
float unk_68;
|
||||||
float unk_6C;
|
float unk_6C;
|
||||||
|
|
@ -164,8 +163,8 @@ typedef struct ThreeDProjectionStruct {
|
||||||
char unk_01[0x3];
|
char unk_01[0x3];
|
||||||
void *unk_04;
|
void *unk_04;
|
||||||
Vec unk_08;
|
Vec unk_08;
|
||||||
Point3d unk_14;
|
Vec unk_14;
|
||||||
Point3d unk_20;
|
Vec unk_20;
|
||||||
Vec unk_2C;
|
Vec unk_2C;
|
||||||
Mtx unk_38;
|
Mtx unk_38;
|
||||||
Mtx unk_68;
|
Mtx unk_68;
|
||||||
|
|
@ -271,12 +270,12 @@ void Hu3DLLightKill(s16, s16);
|
||||||
void Hu3DLightAllKill(void);
|
void Hu3DLightAllKill(void);
|
||||||
void Hu3DGLightColorSet(s16, u8, u8, u8, u8);
|
void Hu3DGLightColorSet(s16, u8, u8, u8, u8);
|
||||||
void Hu3DLLightColorSet(s16, s16, u8, u8, u8, u8);
|
void Hu3DLLightColorSet(s16, s16, u8, u8, u8, u8);
|
||||||
void Hu3DGLightPosSetV(s16, Vec *, Point3d *);
|
void Hu3DGLightPosSetV(s16, Vec *, Vec *);
|
||||||
void Hu3DLLightPosSetV(s16, s16, Vec *, Point3d *);
|
void Hu3DLLightPosSetV(s16, s16, Vec *, Vec *);
|
||||||
void Hu3DGLightPosSet(s16, float, float, float, float, float, float);
|
void Hu3DGLightPosSet(s16, float, float, float, float, float, float);
|
||||||
void Hu3DLLightPosSet(s16, s16, float, float, float, float, float, float);
|
void Hu3DLLightPosSet(s16, s16, float, float, float, float, float, float);
|
||||||
void Hu3DGLightPosAimSetV(s16, Point3d *, Point3d *);
|
void Hu3DGLightPosAimSetV(s16, Vec *, Vec *);
|
||||||
void Hu3DLLightPosAimSetV(s16, s16, Point3d *, Point3d *);
|
void Hu3DLLightPosAimSetV(s16, s16, Vec *, Vec *);
|
||||||
void Hu3DGLightPosAimSet(s16, float, float, float, float, float, float);
|
void Hu3DGLightPosAimSet(s16, float, float, float, float, float, float);
|
||||||
void Hu3DLLightPosAimSet(s16, s16, float, float, float, float, float, float);
|
void Hu3DLLightPosAimSet(s16, s16, float, float, float, float, float, float);
|
||||||
void Hu3DGLightStaticSet(s16, s32);
|
void Hu3DGLightStaticSet(s16, s32);
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,36 @@
|
||||||
#include "game/process.h"
|
|
||||||
#include "game/object.h"
|
|
||||||
#include "game/hsfdraw.h"
|
|
||||||
#include "ext_math.h"
|
#include "ext_math.h"
|
||||||
|
#include "game/hsfdraw.h"
|
||||||
|
#include "game/object.h"
|
||||||
|
#include "game/process.h"
|
||||||
|
|
||||||
|
|
||||||
typedef struct unkDominationData2 {
|
typedef struct unkDominationData2 {
|
||||||
/* 0x00 */ s32 unk_00;
|
/* 0x00 */ s32 unk_00;
|
||||||
/* 0x04 */ s32 unk_04;
|
/* 0x04 */ s32 unk_04;
|
||||||
/* 0x08 */ Point3d unk_08;
|
/* 0x08 */ Vec unk_08;
|
||||||
/* 0x14 */ Point3d unk_14;
|
/* 0x14 */ Vec unk_14;
|
||||||
/* 0x20 */ f32 unk_20;
|
/* 0x20 */ f32 unk_20;
|
||||||
/* 0x24 */ Point3d unk_24;
|
/* 0x24 */ Vec unk_24;
|
||||||
/* 0x30 */ Point3d unk_30;
|
/* 0x30 */ Vec unk_30;
|
||||||
/* 0x3C */ f32 unk_3C;
|
/* 0x3C */ f32 unk_3C;
|
||||||
/* 0x40 */ s32 unk_40;
|
/* 0x40 */ s32 unk_40;
|
||||||
/* 0x44 */ f32 unk_44;
|
/* 0x44 */ f32 unk_44;
|
||||||
/* 0x48 */ f32 unk_48;
|
/* 0x48 */ f32 unk_48;
|
||||||
} unkDominationData2; //sizeof 0x4C
|
} unkDominationData2; // sizeof 0x4C
|
||||||
|
|
||||||
//function signatures
|
// function signatures
|
||||||
void fn_1_1CAC(f32, f32, f32);
|
void fn_1_1CAC(f32, f32, f32);
|
||||||
void fn_1_1D08(f32, f32, f32);
|
void fn_1_1D08(f32, f32, f32);
|
||||||
void fn_1_1D64(f32);
|
void fn_1_1D64(f32);
|
||||||
void fn_1_2024(omObjData*);
|
void fn_1_2024(omObjData *);
|
||||||
|
|
||||||
//bss
|
// bss
|
||||||
Process* lbl_1_bss_34;
|
Process *lbl_1_bss_34;
|
||||||
omObjData* lbl_1_bss_30;
|
omObjData *lbl_1_bss_30;
|
||||||
|
|
||||||
void fn_1_1B1C(Process* arg0) {
|
void fn_1_1B1C(Process *arg0)
|
||||||
unkDominationData2* unkData;
|
{
|
||||||
|
unkDominationData2 *unkData;
|
||||||
|
|
||||||
lbl_1_bss_34 = arg0;
|
lbl_1_bss_34 = arg0;
|
||||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||||
|
|
@ -42,49 +44,55 @@ void fn_1_1B1C(Process* arg0) {
|
||||||
fn_1_1D64(0.0f);
|
fn_1_1D64(0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1CA8(void) {
|
void fn_1_1CA8(void) { }
|
||||||
|
|
||||||
}
|
void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA)
|
||||||
|
{
|
||||||
void fn_1_1CAC(f32 arg8, f32 arg9, f32 argA) {
|
|
||||||
Center.x = arg8;
|
Center.x = arg8;
|
||||||
Center.y = arg9;
|
Center.y = arg9;
|
||||||
Center.z = argA;
|
Center.z = argA;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1CD4(f32* arg0, f32* arg1, f32* arg2) {
|
void fn_1_1CD4(f32 *arg0, f32 *arg1, f32 *arg2)
|
||||||
|
{
|
||||||
*arg0 = Center.x;
|
*arg0 = Center.x;
|
||||||
*arg1 = Center.y;
|
*arg1 = Center.y;
|
||||||
*arg2 = Center.z;
|
*arg2 = Center.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1D08(f32 arg8, f32 arg9, f32 argA) {
|
void fn_1_1D08(f32 arg8, f32 arg9, f32 argA)
|
||||||
|
{
|
||||||
CRot.x = arg8;
|
CRot.x = arg8;
|
||||||
CRot.y = arg9;
|
CRot.y = arg9;
|
||||||
CRot.z = argA;
|
CRot.z = argA;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1D30(f32* arg0, f32* arg1, f32* arg2) {
|
void fn_1_1D30(f32 *arg0, f32 *arg1, f32 *arg2)
|
||||||
|
{
|
||||||
*arg0 = CRot.x;
|
*arg0 = CRot.x;
|
||||||
*arg1 = CRot.y;
|
*arg1 = CRot.y;
|
||||||
*arg2 = CRot.z;
|
*arg2 = CRot.z;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1D64(f32 arg8) {
|
void fn_1_1D64(f32 arg8)
|
||||||
|
{
|
||||||
CZoom = arg8;
|
CZoom = arg8;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1D74(f32* arg0) {
|
void fn_1_1D74(f32 *arg0)
|
||||||
|
{
|
||||||
*arg0 = CZoom;
|
*arg0 = CZoom;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_1D88(void) {
|
s32 fn_1_1D88(void)
|
||||||
unkDominationData2* unkData = lbl_1_bss_30->data;
|
{
|
||||||
|
unkDominationData2 *unkData = lbl_1_bss_30->data;
|
||||||
return unkData->unk_04;
|
return unkData->unk_04;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1DB0(Point3d* arg0, Point3d* arg1, f32* arg2, s32 arg3, s32 arg4) {
|
void fn_1_1DB0(Vec *arg0, Vec *arg1, f32 *arg2, s32 arg3, s32 arg4)
|
||||||
unkDominationData2* temp_r31;
|
{
|
||||||
|
unkDominationData2 *temp_r31;
|
||||||
|
|
||||||
temp_r31 = lbl_1_bss_30->data;
|
temp_r31 = lbl_1_bss_30->data;
|
||||||
temp_r31->unk_00 = arg4;
|
temp_r31->unk_00 = arg4;
|
||||||
|
|
@ -100,7 +108,8 @@ void fn_1_1DB0(Point3d* arg0, Point3d* arg1, f32* arg2, s32 arg3, s32 arg4) {
|
||||||
temp_r31->unk_04 = 1;
|
temp_r31->unk_04 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
f32 fn_1_1F1C(f32 arg8, f32 arg9) {
|
f32 fn_1_1F1C(f32 arg8, f32 arg9)
|
||||||
|
{
|
||||||
if (((arg8 > 0.0f) && (arg9 > 0.0f)) || ((arg8 < 0.0f) && (arg9 < 0.0f))) {
|
if (((arg8 > 0.0f) && (arg9 > 0.0f)) || ((arg8 < 0.0f) && (arg9 < 0.0f))) {
|
||||||
return abs(arg8 - arg9);
|
return abs(arg8 - arg9);
|
||||||
}
|
}
|
||||||
|
|
@ -108,38 +117,39 @@ f32 fn_1_1F1C(f32 arg8, f32 arg9) {
|
||||||
return abs(arg8) + abs(arg9);
|
return abs(arg8) + abs(arg9);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_2024(omObjData* arg0) {
|
void fn_1_2024(omObjData *arg0)
|
||||||
|
{
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
f32 cZoomTemp;
|
f32 cZoomTemp;
|
||||||
unkDominationData2* temp_r31;
|
unkDominationData2 *temp_r31;
|
||||||
|
|
||||||
temp_r31 = arg0->data;
|
temp_r31 = arg0->data;
|
||||||
if (temp_r31->unk_04 != 0) {
|
if (temp_r31->unk_04 != 0) {
|
||||||
switch (temp_r31->unk_00) {
|
switch (temp_r31->unk_00) {
|
||||||
case 0:
|
case 0:
|
||||||
var_f31 = temp_r31->unk_44;
|
var_f31 = temp_r31->unk_44;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
var_f31 = temp_r31->unk_44;
|
var_f31 = temp_r31->unk_44;
|
||||||
if (temp_r31->unk_48 > 0.5) {
|
if (temp_r31->unk_48 > 0.5) {
|
||||||
temp_r31->unk_00 = 2;
|
temp_r31->unk_00 = 2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
var_f31 = sind(90.0f * temp_r31->unk_44);
|
var_f31 = sind(90.0f * temp_r31->unk_44);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
var_f31 = sind(90.0f * temp_r31->unk_44);
|
var_f31 = sind(90.0f * temp_r31->unk_44);
|
||||||
if (temp_r31->unk_48 > 0.5) {
|
if (temp_r31->unk_48 > 0.5) {
|
||||||
temp_r31->unk_00 = 4;
|
temp_r31->unk_00 = 4;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
var_f31 = sind(90.0f * temp_r31->unk_44);
|
var_f31 = sind(90.0f * temp_r31->unk_44);
|
||||||
var_f31 *= var_f31;
|
var_f31 *= var_f31;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sp14.x = temp_r31->unk_24.x + (var_f31 * (temp_r31->unk_08.x - temp_r31->unk_24.x));
|
sp14.x = temp_r31->unk_24.x + (var_f31 * (temp_r31->unk_08.x - temp_r31->unk_24.x));
|
||||||
sp14.y = temp_r31->unk_24.y + (var_f31 * (temp_r31->unk_08.y - temp_r31->unk_24.y));
|
sp14.y = temp_r31->unk_24.y + (var_f31 * (temp_r31->unk_08.y - temp_r31->unk_24.y));
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,10 @@ s32 lbl_1_data_198[] = {
|
||||||
|
|
||||||
Vec lbl_1_data_1CC[] = { { 600.0f, 3.0f, -300.0f }, { 200.0f, 3.0f, -300.0f }, { -200.0f, 3.0f, -300.0f }, { -600.0f, 3.0f, -300.0f } };
|
Vec lbl_1_data_1CC[] = { { 600.0f, 3.0f, -300.0f }, { 200.0f, 3.0f, -300.0f }, { -200.0f, 3.0f, -300.0f }, { -600.0f, 3.0f, -300.0f } };
|
||||||
|
|
||||||
Point3d lbl_1_data_1FC = { 2000.0f, 3000.0f, 2000.0f };
|
Vec lbl_1_data_1FC = { 2000.0f, 3000.0f, 2000.0f };
|
||||||
Point3d lbl_1_data_208 = { -0.5f, -0.5f, -0.5f };
|
Vec lbl_1_data_208 = { -0.5f, -0.5f, -0.5f };
|
||||||
GXColor lbl_1_data_214 = { 255, 255, 255, 255 };
|
GXColor lbl_1_data_214 = { 255, 255, 255, 255 };
|
||||||
Point3d lbl_1_data_218 = { 0.0f, 1.0f, 0.0f };
|
Vec lbl_1_data_218 = { 0.0f, 1.0f, 0.0f };
|
||||||
|
|
||||||
void fn_1_14F0(Process *arg0, s32 arg1)
|
void fn_1_14F0(Process *arg0, s32 arg1)
|
||||||
{
|
{
|
||||||
|
|
@ -117,7 +117,7 @@ void fn_1_162C(omObjData *arg0)
|
||||||
|
|
||||||
void fn_1_1A8C(omObjData *arg0)
|
void fn_1_1A8C(omObjData *arg0)
|
||||||
{
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
|
|
||||||
sp8.x = lbl_1_data_1FC.x;
|
sp8.x = lbl_1_data_1FC.x;
|
||||||
sp8.y = lbl_1_data_1FC.y;
|
sp8.y = lbl_1_data_1FC.y;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
#include "game/sprite.h"
|
#include "game/sprite.h"
|
||||||
#include "string.h"
|
#include "string.h"
|
||||||
|
|
||||||
|
|
||||||
// STRUCT
|
// STRUCT
|
||||||
typedef struct _M424DllBallStruct {
|
typedef struct _M424DllBallStruct {
|
||||||
u8 unk0;
|
u8 unk0;
|
||||||
|
|
@ -1467,7 +1466,7 @@ void fn_1_79FC(Vec *arg0, Vec *arg1, f32 arg2, Vec *arg3, Vec *arg4, f32 arg5, f
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_7CA0(Vec arg0, Vec arg1, f32 arg2, Point3d *arg3)
|
void fn_1_7CA0(Vec arg0, Vec arg1, f32 arg2, Vec *arg3)
|
||||||
{
|
{
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -492,7 +492,7 @@ void fn_1_3B20(s8 arg0, s16 arg1)
|
||||||
Vec sp54[4] = { { 110.0f, -20.0f, 0.0f }, { -110.0f, -20.0f, 0.0f }, { 110.0f, -20.0f, 190.0f }, { -110.0f, -20.0f, 190.0f } };
|
Vec sp54[4] = { { 110.0f, -20.0f, 0.0f }, { -110.0f, -20.0f, 0.0f }, { 110.0f, -20.0f, 190.0f }, { -110.0f, -20.0f, 190.0f } };
|
||||||
Mtx sp24;
|
Mtx sp24;
|
||||||
f32 sp14[4] = { 135.0f, 225.0f, 45.0f, 315.0f };
|
f32 sp14[4] = { 135.0f, 225.0f, 45.0f, 315.0f };
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
s16 var_r29;
|
s16 var_r29;
|
||||||
s32 var_r27;
|
s32 var_r27;
|
||||||
|
|
|
||||||
|
|
@ -1166,7 +1166,7 @@ static inline f32 isEven(u32 arg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_8FFC(u32 arg0, Point3d *arg1, f32 arg2, f32 arg3)
|
void fn_1_8FFC(u32 arg0, Vec *arg1, f32 arg2, f32 arg3)
|
||||||
{
|
{
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
f32 var_f29;
|
f32 var_f29;
|
||||||
|
|
|
||||||
|
|
@ -157,9 +157,9 @@ void fn_1_50C(void)
|
||||||
|
|
||||||
void fn_1_5E8(s32 arg0)
|
void fn_1_5E8(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp24 = { 0.0f, 3000.0f, 800.0f };
|
Vec sp24 = { 0.0f, 3000.0f, 800.0f };
|
||||||
Point3d sp18 = { 0.0f, 0.0f, 640.0f };
|
Vec sp18 = { 0.0f, 0.0f, 640.0f };
|
||||||
Point3d spC = { 0.0f, 1.0f, 0.0f };
|
Vec spC = { 0.0f, 1.0f, 0.0f };
|
||||||
|
|
||||||
if (arg0 == 3) {
|
if (arg0 == 3) {
|
||||||
sp24.x = sp18.x = 1200.0f;
|
sp24.x = sp18.x = 1200.0f;
|
||||||
|
|
|
||||||
|
|
@ -163,8 +163,8 @@ HsfanimStruct00 lbl_1_data_258 = {
|
||||||
{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } },
|
{ /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 }, { /* r */ 0, /* g */ 0, /* b */ 0, /* a */ 0 } },
|
||||||
};
|
};
|
||||||
|
|
||||||
const Point3d lbl_1_rodata_38 = { 0.0f, 0.0f, 0.0f };
|
const Vec lbl_1_rodata_38 = { 0.0f, 0.0f, 0.0f };
|
||||||
const Point3d lbl_1_rodata_44 = { 0.0f, 1.0f, 0.0f };
|
const Vec lbl_1_rodata_44 = { 0.0f, 1.0f, 0.0f };
|
||||||
s16 lbl_1_bss_99C;
|
s16 lbl_1_bss_99C;
|
||||||
s16 lbl_1_bss_99A;
|
s16 lbl_1_bss_99A;
|
||||||
s16 lbl_1_bss_98A[8];
|
s16 lbl_1_bss_98A[8];
|
||||||
|
|
@ -196,9 +196,9 @@ static u8 unk_bss[8];
|
||||||
|
|
||||||
void fn_1_29C(omObjData *arg0)
|
void fn_1_29C(omObjData *arg0)
|
||||||
{
|
{
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
Mtx sp2C;
|
Mtx sp2C;
|
||||||
s16 var_r31;
|
s16 var_r31;
|
||||||
s16 temp_r27;
|
s16 temp_r27;
|
||||||
|
|
@ -337,7 +337,7 @@ void fn_1_F38(void)
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30)
|
static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
|
||||||
{
|
{
|
||||||
s8 temp_r28;
|
s8 temp_r28;
|
||||||
|
|
||||||
|
|
@ -364,10 +364,10 @@ const HuUnkF9C2 lbl_1_rodata_B8 = { { 8, 6, 4, 7, 9, 10, 11 } };
|
||||||
|
|
||||||
void fn_1_F9C(struct om_obj_data *omData)
|
void fn_1_F9C(struct om_obj_data *omData)
|
||||||
{
|
{
|
||||||
Point3d sp3C;
|
Vec sp3C;
|
||||||
Point3d sp30;
|
Vec sp30;
|
||||||
Point3d sp24;
|
Vec sp24;
|
||||||
Point3d sp18;
|
Vec sp18;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
s32 var_r31;
|
s32 var_r31;
|
||||||
s16 var_r30;
|
s16 var_r30;
|
||||||
|
|
@ -643,9 +643,9 @@ void fn_1_20F4(void)
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_28F8(Point3d *arg0, Point3d *arg1)
|
void fn_1_28F8(Vec *arg0, Vec *arg1)
|
||||||
{
|
{
|
||||||
Point3d spC;
|
Vec spC;
|
||||||
Mtx sp18;
|
Mtx sp18;
|
||||||
CameraData *cam;
|
CameraData *cam;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,26 @@
|
||||||
#include "math.h"
|
|
||||||
#include "game/chrman.h"
|
#include "game/chrman.h"
|
||||||
#include "game/wipe.h"
|
|
||||||
#include "game/pad.h"
|
#include "game/pad.h"
|
||||||
|
#include "game/wipe.h"
|
||||||
|
#include "math.h"
|
||||||
|
|
||||||
|
|
||||||
#include "REL/modeltestDll.h"
|
#include "REL/modeltestDll.h"
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
omObjData * unk_bss_9FC;
|
omObjData *unk_bss_9FC;
|
||||||
omObjData * lbl_1_bss_9F8;
|
omObjData *lbl_1_bss_9F8;
|
||||||
omObjData * lbl_1_bss_9F4;
|
omObjData *lbl_1_bss_9F4;
|
||||||
s16 lbl_1_bss_9EC[4];
|
s16 lbl_1_bss_9EC[4];
|
||||||
s16 lbl_1_bss_9AC[4][8];
|
s16 lbl_1_bss_9AC[4][8];
|
||||||
Process * lbl_1_bss_9A8;
|
Process *lbl_1_bss_9A8;
|
||||||
u16 lbl_1_data_358[4] = {1, 2, 4, 8};
|
u16 lbl_1_data_358[4] = { 1, 2, 4, 8 };
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_34B0()
|
void fn_1_34B0()
|
||||||
{
|
{
|
||||||
Process * temp_r30;
|
Process *temp_r30;
|
||||||
s16 var_r31;
|
s16 var_r31;
|
||||||
|
|
||||||
OSReport("******* MODELTESTObjectSetup *********\n");
|
OSReport("******* MODELTESTObjectSetup *********\n");
|
||||||
|
|
@ -33,8 +34,7 @@ void fn_1_34B0()
|
||||||
Center.z = 0.0f;
|
Center.z = 0.0f;
|
||||||
CZoom = 400.0f;
|
CZoom = 400.0f;
|
||||||
|
|
||||||
for (var_r31 = 0; var_r31 < 4; ++var_r31)
|
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
|
||||||
{
|
|
||||||
Hu3DCameraCreate(lbl_1_data_358[var_r31]);
|
Hu3DCameraCreate(lbl_1_data_358[var_r31]);
|
||||||
Hu3DCameraPerspectiveSet(lbl_1_data_358[var_r31], 45.0f, 20.0f, 20000.0f, 1.2f);
|
Hu3DCameraPerspectiveSet(lbl_1_data_358[var_r31], 45.0f, 20.0f, 20000.0f, 1.2f);
|
||||||
Hu3DCameraViewportSet(lbl_1_data_358[var_r31], (var_r31 & 1) * 320, ((var_r31 & 2) != 0) ? 0xF0 : 0, 320.0f, 240.0f, 0.0f, 1.0f);
|
Hu3DCameraViewportSet(lbl_1_data_358[var_r31], (var_r31 & 1) * 320, ((var_r31 & 2) != 0) ? 0xF0 : 0, 320.0f, 240.0f, 0.0f, 1.0f);
|
||||||
|
|
@ -51,7 +51,8 @@ void fn_1_34B0()
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) {
|
static inline void HuControlCamCenter(Vec *sp18, Vec *sp30)
|
||||||
|
{
|
||||||
s8 temp_r28;
|
s8 temp_r28;
|
||||||
|
|
||||||
temp_r28 = HuPadSubStkX[0] & 0xF8;
|
temp_r28 = HuPadSubStkX[0] & 0xF8;
|
||||||
|
|
@ -73,10 +74,10 @@ static inline void HuControlCamCenter(Point3d *sp18, Point3d *sp30) {
|
||||||
|
|
||||||
void fn_1_37DC(omObjData *)
|
void fn_1_37DC(omObjData *)
|
||||||
{
|
{
|
||||||
Point3d sp3C;
|
Vec sp3C;
|
||||||
Point3d sp30;
|
Vec sp30;
|
||||||
Point3d sp24;
|
Vec sp24;
|
||||||
Point3d sp18;
|
Vec sp18;
|
||||||
float temp_f31;
|
float temp_f31;
|
||||||
|
|
||||||
if ((HuPadBtnDown[0] & PAD_BUTTON_START) != 0) {
|
if ((HuPadBtnDown[0] & PAD_BUTTON_START) != 0) {
|
||||||
|
|
@ -115,15 +116,15 @@ void fn_1_37DC(omObjData *)
|
||||||
temp_f31 = CRot.z;
|
temp_f31 = CRot.z;
|
||||||
|
|
||||||
sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cosd(temp_f31))
|
sp18.x = sp24.x * (sp30.x * sp30.x + (1.0f - sp30.x * sp30.x) * cosd(temp_f31))
|
||||||
+ sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31))
|
+ sp24.y * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) - sp30.z * sind(temp_f31))
|
||||||
+ sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31));
|
+ sp24.z * (sp30.x * sp30.z * (1.0f - cosd(temp_f31)) + sp30.y * sind(temp_f31));
|
||||||
|
|
||||||
sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cosd(temp_f31))
|
sp18.y = sp24.y * (sp30.y * sp30.y + (1.0f - sp30.y * sp30.y) * cosd(temp_f31))
|
||||||
+ sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31))
|
+ sp24.x * (sp30.x * sp30.y * (1.0f - cosd(temp_f31)) + sp30.z * sind(temp_f31))
|
||||||
+ sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31));
|
+ sp24.z * (sp30.y * sp30.z * (1.0f - cosd(temp_f31)) - sp30.x * sind(temp_f31));
|
||||||
|
|
||||||
sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cosd(temp_f31))
|
sp18.z = sp24.z * (sp30.z * sp30.z + (1.0f - sp30.z * sp30.z) * cosd(temp_f31))
|
||||||
+ (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31))
|
+ (sp24.x * (sp30.x * sp30.z * (1.0 - cosd(temp_f31)) - sp30.y * sind(temp_f31))
|
||||||
+ sp24.y * (sp30.y * sp30.z * (1.0 - cosd(temp_f31)) + sp30.x * sind(temp_f31)));
|
+ sp24.y * (sp30.y * sp30.z * (1.0 - cosd(temp_f31)) + sp30.x * sind(temp_f31)));
|
||||||
|
|
||||||
VECCrossProduct(&sp24, &sp30, &sp30);
|
VECCrossProduct(&sp24, &sp30, &sp30);
|
||||||
|
|
@ -134,17 +135,16 @@ void fn_1_37DC(omObjData *)
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_439C(omObjData * )
|
void fn_1_439C(omObjData *)
|
||||||
{
|
{
|
||||||
s16 var_r31;
|
s16 var_r31;
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
f32 sp10;
|
f32 sp10;
|
||||||
Point3d sp2C;
|
Vec sp2C;
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
for (var_r31 = 0; var_r31 < 4; ++var_r31)
|
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
|
||||||
{
|
|
||||||
temp_f31 = CRot.x;
|
temp_f31 = CRot.x;
|
||||||
temp_f30 = CRot.y + (var_r31 * 90);
|
temp_f30 = CRot.y + (var_r31 * 90);
|
||||||
sp10 = CRot.z;
|
sp10 = CRot.z;
|
||||||
|
|
@ -160,22 +160,22 @@ void fn_1_439C(omObjData * )
|
||||||
sp14.y = cosd(temp_f31);
|
sp14.y = cosd(temp_f31);
|
||||||
sp14.z = cosd(temp_f30) * (sind(temp_f31));
|
sp14.z = cosd(temp_f30) * (sind(temp_f31));
|
||||||
|
|
||||||
Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z);
|
Hu3DCameraPosSet(lbl_1_data_358[var_r31], sp2C.x, sp2C.y, sp2C.z, sp14.x, sp14.y, sp14.z, sp20.x, sp20.y, sp20.z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
const Point3d lbl_1_rodata_18C = {0.0f, 0.0f, 0.0f};
|
const Vec lbl_1_rodata_18C = { 0.0f, 0.0f, 0.0f };
|
||||||
const Point3d lbl_1_rodata_198 = {0.0f, 1.0f, 0.0f};
|
const Vec lbl_1_rodata_198 = { 0.0f, 1.0f, 0.0f };
|
||||||
|
|
||||||
// -------------------------------------------------------------------------- //
|
// -------------------------------------------------------------------------- //
|
||||||
|
|
||||||
void fn_1_46F0(void)
|
void fn_1_46F0(void)
|
||||||
{
|
{
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
s16 var_r31;
|
s16 var_r31;
|
||||||
s16 var_r30;
|
s16 var_r30;
|
||||||
|
|
||||||
|
|
@ -192,8 +192,7 @@ void fn_1_46F0(void)
|
||||||
sp20.z = 1000.0f;
|
sp20.z = 1000.0f;
|
||||||
Hu3DShadowPosSet(&sp20, &sp8, &sp14);
|
Hu3DShadowPosSet(&sp20, &sp8, &sp14);
|
||||||
|
|
||||||
for (var_r31 = 0; var_r31 < 4; ++var_r31)
|
for (var_r31 = 0; var_r31 < 4; ++var_r31) {
|
||||||
{
|
|
||||||
var_r30 = var_r31;
|
var_r30 = var_r31;
|
||||||
lbl_1_bss_9EC[var_r31] = CharModelCreate(var_r30, 8);
|
lbl_1_bss_9EC[var_r31] = CharModelCreate(var_r30, 8);
|
||||||
Hu3DModelShadowSet(lbl_1_bss_9EC[var_r31]);
|
Hu3DModelShadowSet(lbl_1_bss_9EC[var_r31]);
|
||||||
|
|
@ -201,7 +200,7 @@ void fn_1_46F0(void)
|
||||||
CharModelMotionSet(var_r30, lbl_1_bss_9AC[var_r31][0]);
|
CharModelMotionSet(var_r30, lbl_1_bss_9AC[var_r31][0]);
|
||||||
Hu3DModelAttrSet(lbl_1_bss_9EC[var_r31], HU3D_MOTATTR_LOOP);
|
Hu3DModelAttrSet(lbl_1_bss_9EC[var_r31], HU3D_MOTATTR_LOOP);
|
||||||
Hu3DModelCameraSet(lbl_1_bss_9EC[var_r31], lbl_1_data_358[var_r31]);
|
Hu3DModelCameraSet(lbl_1_bss_9EC[var_r31], lbl_1_data_358[var_r31]);
|
||||||
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], ((( var_r31 / 4) * 200) - 100), 0.0f, (-( var_r31 % 4) * 150));
|
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], (((var_r31 / 4) * 200) - 100), 0.0f, (-(var_r31 % 4) * 150));
|
||||||
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], 0.0f, 0.0f, 0.0f);
|
Hu3DModelPosSet(lbl_1_bss_9EC[var_r31], 0.0f, 0.0f, 0.0f);
|
||||||
CharModelMotionDataClose(var_r30);
|
CharModelMotionDataClose(var_r30);
|
||||||
}
|
}
|
||||||
|
|
@ -210,15 +209,12 @@ void fn_1_46F0(void)
|
||||||
Hu3DModelScaleSet(var_r31, 5.0f, 5.0f, 5.0f);
|
Hu3DModelScaleSet(var_r31, 5.0f, 5.0f, 5.0f);
|
||||||
Hu3DModelShadowMapSet(var_r31);
|
Hu3DModelShadowMapSet(var_r31);
|
||||||
|
|
||||||
while (TRUE)
|
while (TRUE) {
|
||||||
{
|
|
||||||
if ((HuPadBtnDown[0] & PAD_BUTTON_Y) != 0) {
|
if ((HuPadBtnDown[0] & PAD_BUTTON_Y) != 0) {
|
||||||
Hu3DCameraKill(2);
|
Hu3DCameraKill(2);
|
||||||
Hu3DCameraKill(4);
|
Hu3DCameraKill(4);
|
||||||
Hu3DCameraKill(8);
|
Hu3DCameraKill(8);
|
||||||
sp20.x =
|
sp20.x = sp20.z = sp20.y = 0.0f;
|
||||||
sp20.z =
|
|
||||||
sp20.y = 0.0f;
|
|
||||||
sp20.y += 200.0f;
|
sp20.y += 200.0f;
|
||||||
CharModelCoinEffectCreate(4, &sp20);
|
CharModelCoinEffectCreate(4, &sp20);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,22 +2,22 @@
|
||||||
#include "game/frand.h"
|
#include "game/frand.h"
|
||||||
|
|
||||||
// Temporary defines
|
// Temporary defines
|
||||||
#define BOARD_ITEM_MINI 0x0
|
#define BOARD_ITEM_MINI 0x0
|
||||||
#define BOARD_ITEM_MEGA 0x1
|
#define BOARD_ITEM_MEGA 0x1
|
||||||
#define BOARD_ITEM_SUPERMINI 0x2
|
#define BOARD_ITEM_SUPERMINI 0x2
|
||||||
#define BOARD_ITEM_SUPERMEGA 0x3
|
#define BOARD_ITEM_SUPERMEGA 0x3
|
||||||
#define BOARD_ITEM_HAMMER 0x4
|
#define BOARD_ITEM_HAMMER 0x4
|
||||||
#define BOARD_ITEM_PIPE 0x5
|
#define BOARD_ITEM_PIPE 0x5
|
||||||
#define BOARD_ITEM_CARD 0x6
|
#define BOARD_ITEM_CARD 0x6
|
||||||
#define BOARD_ITEM_SPARKY 0x7
|
#define BOARD_ITEM_SPARKY 0x7
|
||||||
#define BOARD_ITEM_GADDLIGHT 0x8
|
#define BOARD_ITEM_GADDLIGHT 0x8
|
||||||
#define BOARD_ITEM_CHOMPCALL 0x9
|
#define BOARD_ITEM_CHOMPCALL 0x9
|
||||||
#define BOARD_ITEM_SUIT 0xA
|
#define BOARD_ITEM_SUIT 0xA
|
||||||
#define BOARD_ITEM_BOO 0xB
|
#define BOARD_ITEM_BOO 0xB
|
||||||
#define BOARD_ITEM_LAMP 0xC
|
#define BOARD_ITEM_LAMP 0xC
|
||||||
#define BOARD_ITEM_BAG 0xD
|
#define BOARD_ITEM_BAG 0xD
|
||||||
#define BOARD_ITEM_MAX 0xE
|
#define BOARD_ITEM_MAX 0xE
|
||||||
#define BOARD_ITEM_NONE -1
|
#define BOARD_ITEM_NONE -1
|
||||||
|
|
||||||
/* BSS */
|
/* BSS */
|
||||||
s16 lbl_1_bss_30[0x10]; // Model List
|
s16 lbl_1_bss_30[0x10]; // Model List
|
||||||
|
|
@ -25,30 +25,29 @@ s16 lbl_1_bss_2E;
|
||||||
s16 lbl_1_bss_2C;
|
s16 lbl_1_bss_2C;
|
||||||
Vec lbl_1_bss_20;
|
Vec lbl_1_bss_20;
|
||||||
Vec lbl_1_bss_14;
|
Vec lbl_1_bss_14;
|
||||||
s32* lbl_1_bss_10;
|
s32 *lbl_1_bss_10;
|
||||||
s16 lbl_1_bss_8[4]; // Item List
|
s16 lbl_1_bss_8[4]; // Item List
|
||||||
Process* lbl_1_bss_4;
|
Process *lbl_1_bss_4;
|
||||||
u8* lbl_1_bss_0;
|
u8 *lbl_1_bss_0;
|
||||||
|
|
||||||
/* DATA */
|
/* DATA */
|
||||||
static BoardMapObject lbl_1_data_0[0x10] = {
|
static BoardMapObject lbl_1_data_0[0x10]
|
||||||
{{2550.0f, 0.0f, -450.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000C)},
|
= { { { 2550.0f, 0.0f, -450.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000C) },
|
||||||
{{-3150.0f, 0.0f, -1350.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000D)},
|
{ { -3150.0f, 0.0f, -1350.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000D) },
|
||||||
{{-3150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000E)},
|
{ { -3150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000E) },
|
||||||
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0008)},
|
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0008) },
|
||||||
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0009)},
|
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0009) },
|
||||||
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000A)},
|
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000A) },
|
||||||
{{-150.0f, 0.0f, 900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x000B)},
|
{ { -150.0f, 0.0f, 900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x000B) },
|
||||||
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0011)},
|
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0011) },
|
||||||
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0012)},
|
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0012) },
|
||||||
{{1350.0f, 0.0f, -300.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0015)},
|
{ { 1350.0f, 0.0f, -300.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0015) },
|
||||||
{{-300.0f, 0.0f, -900.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_W02, 0x0016)},
|
{ { -300.0f, 0.0f, -900.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_W02, 0x0016) },
|
||||||
{{1175.0f, 0.0f, -125.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
|
{ { 1175.0f, 0.0f, -125.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
|
||||||
{{-525.0f, 0.0f, -825.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
|
{ { -525.0f, 0.0f, -825.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
|
||||||
{{-2225.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
|
{ { -2225.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
|
||||||
{{1925.0f, 0.0f, -2100.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)},
|
{ { 1925.0f, 0.0f, -2100.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) },
|
||||||
{{150.0f, 0.0f, 1650.0f}, {0.0f, 0.0f, 0.0f}, {1.0f, 1.0f, 1.0f}, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005)}
|
{ { 150.0f, 0.0f, 1650.0f }, { 0.0f, 0.0f, 0.0f }, { 1.0f, 1.0f, 1.0f }, DATA_MAKE_NUM(DATADIR_BGUEST, 0x0005) } };
|
||||||
};
|
|
||||||
|
|
||||||
// Special Models
|
// Special Models
|
||||||
s16 lbl_1_data_280 = -1;
|
s16 lbl_1_data_280 = -1;
|
||||||
|
|
@ -56,21 +55,15 @@ s16 lbl_1_data_282 = -1;
|
||||||
s16 lbl_1_data_284 = -1;
|
s16 lbl_1_data_284 = -1;
|
||||||
s16 lbl_1_data_286 = -1;
|
s16 lbl_1_data_286 = -1;
|
||||||
|
|
||||||
s32 lbl_1_data_288[] = {
|
s32 lbl_1_data_288[] = { DATA_MAKE_NUM(DATADIR_W02, 0x0004), DATA_NUM_LISTEND };
|
||||||
DATA_MAKE_NUM(DATADIR_W02, 0x0004),
|
|
||||||
DATA_NUM_LISTEND
|
|
||||||
};
|
|
||||||
s32 lbl_1_data_290[] = {
|
s32 lbl_1_data_290[] = {
|
||||||
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009),
|
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0009), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006), DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007),
|
||||||
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0006),
|
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008), DATA_NUM_LISTEND,
|
||||||
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0007),
|
|
||||||
DATA_MAKE_NUM(DATADIR_BGUEST, 0x0008),
|
|
||||||
DATA_NUM_LISTEND,
|
|
||||||
0x00000000 // Padding
|
0x00000000 // Padding
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Functions */
|
/* Functions */
|
||||||
//Actual externs
|
// Actual externs
|
||||||
extern void BoardMusStart(s32, s32, s32, s32);
|
extern void BoardMusStart(s32, s32, s32, s32);
|
||||||
extern void BoardAudSeqPause(s32, s32, s32);
|
extern void BoardAudSeqPause(s32, s32, s32);
|
||||||
s8 BoardComPreferItemCheck(s32, s8, s8, s8);
|
s8 BoardComPreferItemCheck(s32, s8, s8, s8);
|
||||||
|
|
@ -79,13 +72,15 @@ extern void BoardComKeySetRight();
|
||||||
extern void CharModelDataClose(s16);
|
extern void CharModelDataClose(s16);
|
||||||
|
|
||||||
// function is probably global. only inlined in rels?
|
// function is probably global. only inlined in rels?
|
||||||
inline s32 get_current_board(void) {
|
inline s32 get_current_board(void)
|
||||||
|
{
|
||||||
return GWSystem.board;
|
return GWSystem.board;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BoardCreate(void) {
|
void BoardCreate(void)
|
||||||
|
{
|
||||||
s32 i, boardData;
|
s32 i, boardData;
|
||||||
BoardMapObject* modelTransform;
|
BoardMapObject *modelTransform;
|
||||||
|
|
||||||
boardData = get_current_board();
|
boardData = get_current_board();
|
||||||
lbl_1_bss_0 = GWSystem.board_data;
|
lbl_1_bss_0 = GWSystem.board_data;
|
||||||
|
|
@ -106,12 +101,13 @@ void BoardCreate(void) {
|
||||||
BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001);
|
BoardModelMotionStart(lbl_1_data_286, 1, 0x40000001);
|
||||||
BoardLightHookSet(fn_1_72C, fn_1_770);
|
BoardLightHookSet(fn_1_72C, fn_1_770);
|
||||||
|
|
||||||
for(i = 0; i < 0x10; i++) {
|
for (i = 0; i < 0x10; i++) {
|
||||||
modelTransform = &lbl_1_data_0[i];
|
modelTransform = &lbl_1_data_0[i];
|
||||||
if (modelTransform->data_num != -1) {
|
if (modelTransform->data_num != -1) {
|
||||||
if ((i == 0xB) || (i == 0xC) || (i == 0xD) || (i == 0xE) || (i == 0xF)) {
|
if ((i == 0xB) || (i == 0xC) || (i == 0xD) || (i == 0xE) || (i == 0xF)) {
|
||||||
lbl_1_bss_10 = lbl_1_data_290;
|
lbl_1_bss_10 = lbl_1_data_290;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
lbl_1_bss_10 = NULL;
|
lbl_1_bss_10 = NULL;
|
||||||
}
|
}
|
||||||
lbl_1_bss_30[i] = BoardModelCreate(modelTransform->data_num, lbl_1_bss_10, 0);
|
lbl_1_bss_30[i] = BoardModelCreate(modelTransform->data_num, lbl_1_bss_10, 0);
|
||||||
|
|
@ -146,7 +142,8 @@ void BoardCreate(void) {
|
||||||
BoardJunctionMaskSet(0x30);
|
BoardJunctionMaskSet(0x30);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BoardDestroy(void) {
|
void BoardDestroy(void)
|
||||||
|
{
|
||||||
/* Kill Model List */
|
/* Kill Model List */
|
||||||
s32 i;
|
s32 i;
|
||||||
for (i = 0; i < 0x10; i++) {
|
for (i = 0; i < 0x10; i++) {
|
||||||
|
|
@ -176,17 +173,17 @@ void BoardDestroy(void) {
|
||||||
BoardSpaceDestroy();
|
BoardSpaceDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_72C(void) {
|
void fn_1_72C(void)
|
||||||
|
{
|
||||||
s16 var = BoardModelIDGet(lbl_1_data_280);
|
s16 var = BoardModelIDGet(lbl_1_data_280);
|
||||||
Hu3DModelLightInfoSet(var, 1);
|
Hu3DModelLightInfoSet(var, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_770(void) {
|
void fn_1_770(void) { }
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Decrement current space's [UNKNOWN] flag */
|
/* Decrement current space's [UNKNOWN] flag */
|
||||||
s32 fn_1_774(void) {
|
s32 fn_1_774(void)
|
||||||
|
{
|
||||||
u32 unkFlag;
|
u32 unkFlag;
|
||||||
u32 currPlayer;
|
u32 currPlayer;
|
||||||
u32 currSpace;
|
u32 currSpace;
|
||||||
|
|
@ -194,7 +191,7 @@ s32 fn_1_774(void) {
|
||||||
currPlayer = GWSystem.player_curr;
|
currPlayer = GWSystem.player_curr;
|
||||||
currSpace = GWPlayer[currPlayer].space_curr;
|
currSpace = GWPlayer[currPlayer].space_curr;
|
||||||
spaceFlags = BoardSpaceFlagGet(0, currSpace);
|
spaceFlags = BoardSpaceFlagGet(0, currSpace);
|
||||||
//temp_r31 = (temp_r)
|
// temp_r31 = (temp_r)
|
||||||
unkFlag = (spaceFlags & 0x1C0) >> 6;
|
unkFlag = (spaceFlags & 0x1C0) >> 6;
|
||||||
if (unkFlag != 0) {
|
if (unkFlag != 0) {
|
||||||
unkFlag--;
|
unkFlag--;
|
||||||
|
|
@ -203,8 +200,9 @@ s32 fn_1_774(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if can iteract with board object? */
|
/* Check if can iteract with board object? */
|
||||||
s32 fn_1_800(void) {
|
s32 fn_1_800(void)
|
||||||
BoardSpace* currSpace;
|
{
|
||||||
|
BoardSpace *currSpace;
|
||||||
s32 currPlayer;
|
s32 currPlayer;
|
||||||
s32 var_r29;
|
s32 var_r29;
|
||||||
|
|
||||||
|
|
@ -212,7 +210,6 @@ s32 fn_1_800(void) {
|
||||||
currSpace = BoardSpaceGet(0, GWPlayer[currPlayer].space_curr);
|
currSpace = BoardSpaceGet(0, GWPlayer[currPlayer].space_curr);
|
||||||
if ((currSpace->flag & 0x30) != 0) {
|
if ((currSpace->flag & 0x30) != 0) {
|
||||||
|
|
||||||
|
|
||||||
// If mega mushroom state return
|
// If mega mushroom state return
|
||||||
if (BoardPlayerSizeGet(currPlayer) == 2) {
|
if (BoardPlayerSizeGet(currPlayer) == 2) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -224,9 +221,11 @@ s32 fn_1_800(void) {
|
||||||
|
|
||||||
if ((currSpace->flag & 0x20) != 0 && (currSpace->flag & 0x10) != 0) {
|
if ((currSpace->flag & 0x20) != 0 && (currSpace->flag & 0x10) != 0) {
|
||||||
var_r29 = 2;
|
var_r29 = 2;
|
||||||
} else if ((currSpace->flag & 0x20) != 0) {
|
}
|
||||||
|
else if ((currSpace->flag & 0x20) != 0) {
|
||||||
var_r29 = 1;
|
var_r29 = 1;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
var_r29 = 0;
|
var_r29 = 0;
|
||||||
}
|
}
|
||||||
fn_1_394C(var_r29);
|
fn_1_394C(var_r29);
|
||||||
|
|
@ -239,22 +238,23 @@ s32 fn_1_800(void) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_92C(void) {
|
void fn_1_92C(void)
|
||||||
|
{
|
||||||
fn_1_39F4();
|
fn_1_39F4();
|
||||||
fn_1_5CF8();
|
fn_1_5CF8();
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_950(void) {
|
void fn_1_950(void) { }
|
||||||
|
|
||||||
}
|
void fn_1_954(void)
|
||||||
|
{
|
||||||
void fn_1_954(void) {
|
|
||||||
HuPrcSleep(0x3C);
|
HuPrcSleep(0x3C);
|
||||||
BoardMusStart(1, 0x12, 0x7F, 0);
|
BoardMusStart(1, 0x12, 0x7F, 0);
|
||||||
HuPrcEnd();
|
HuPrcEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_990(void) {
|
void fn_1_990(void)
|
||||||
|
{
|
||||||
Vec rotation;
|
Vec rotation;
|
||||||
Vec offset;
|
Vec offset;
|
||||||
Vec boardSpacePos;
|
Vec boardSpacePos;
|
||||||
|
|
@ -264,13 +264,13 @@ void fn_1_990(void) {
|
||||||
s32 currSpace;
|
s32 currSpace;
|
||||||
s32 spaceLinkFlag;
|
s32 spaceLinkFlag;
|
||||||
|
|
||||||
|
|
||||||
currPlayer = GWSystem.player_curr;
|
currPlayer = GWSystem.player_curr;
|
||||||
BoardWinCreateChoice(2, MAKE_MESSID(19, 17), 4, 0);
|
BoardWinCreateChoice(2, MAKE_MESSID(19, 17), 4, 0);
|
||||||
if (GWPlayer[currPlayer].com) {
|
if (GWPlayer[currPlayer].com) {
|
||||||
if (frandBool() != 0) {
|
if (frandBool() != 0) {
|
||||||
BoardComKeySetLeft();
|
BoardComKeySetLeft();
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardComKeySetRight();
|
BoardComKeySetRight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -317,7 +317,8 @@ void fn_1_990(void) {
|
||||||
BoardPlayerMotionStart(currPlayer, 1, 0x40000001);
|
BoardPlayerMotionStart(currPlayer, 1, 0x40000001);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_C50(void) {
|
void fn_1_C50(void)
|
||||||
|
{
|
||||||
Vec rotation;
|
Vec rotation;
|
||||||
Vec offset;
|
Vec offset;
|
||||||
s32 currSpace;
|
s32 currSpace;
|
||||||
|
|
@ -327,7 +328,7 @@ void fn_1_C50(void) {
|
||||||
s32 i, j;
|
s32 i, j;
|
||||||
|
|
||||||
currPlayer = GWSystem.player_curr;
|
currPlayer = GWSystem.player_curr;
|
||||||
if (BoardPlayerItemCount((s32) currPlayer) == 3) {
|
if (BoardPlayerItemCount((s32)currPlayer) == 3) {
|
||||||
BoardWinCreate(2, MAKE_MESSID(19, 26), 4);
|
BoardWinCreate(2, MAKE_MESSID(19, 26), 4);
|
||||||
BoardWinWait();
|
BoardWinWait();
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
|
|
@ -361,7 +362,8 @@ void fn_1_C50(void) {
|
||||||
if (GWPlayer[currPlayer].com) {
|
if (GWPlayer[currPlayer].com) {
|
||||||
if (BoardComPreferItemCheck(currPlayer, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) {
|
if (BoardComPreferItemCheck(currPlayer, lbl_1_bss_8[0], lbl_1_bss_8[1], lbl_1_bss_8[2]) != -1) {
|
||||||
BoardComKeySetLeft();
|
BoardComKeySetLeft();
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardComKeySetRight();
|
BoardComKeySetRight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -387,14 +389,14 @@ void fn_1_C50(void) {
|
||||||
offset.x = 0.0f;
|
offset.x = 0.0f;
|
||||||
offset.y = 0.0f;
|
offset.y = 0.0f;
|
||||||
offset.z = -250.0f;
|
offset.z = -250.0f;
|
||||||
BoardCameraMotionStartEx(lbl_1_bss_30[10], (Point3d* ) &rotation, (Point3d* ) &offset, 1500.0f, 25.0f, 0x15);
|
BoardCameraMotionStartEx(lbl_1_bss_30[10], (Vec *)&rotation, (Vec *)&offset, 1500.0f, 25.0f, 0x15);
|
||||||
currSpace = GWPlayer[currPlayer].space_curr;
|
currSpace = GWPlayer[currPlayer].space_curr;
|
||||||
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, currSpace, 0x02000000U);
|
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, currSpace, 0x02000000U);
|
||||||
BoardPlayerMoveBetween(currPlayer, currSpace, spaceLinkFlags);
|
BoardPlayerMoveBetween(currPlayer, currSpace, spaceLinkFlags);
|
||||||
while (GWPlayer[currPlayer].moving) {
|
while (GWPlayer[currPlayer].moving) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001);
|
BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001);
|
||||||
BoardPlayerMotBlendSet(currPlayer, 0xB4, 0xF);
|
BoardPlayerMotBlendSet(currPlayer, 0xB4, 0xF);
|
||||||
while (BoardPlayerMotBlendCheck(currPlayer) == 0) {
|
while (BoardPlayerMotBlendCheck(currPlayer) == 0) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -409,17 +411,19 @@ void fn_1_C50(void) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
fn_1_5F90();
|
fn_1_5F90();
|
||||||
BoardPlayerMotionStart((s32) currPlayer, 1, 0x40000001);
|
BoardPlayerMotionStart((s32)currPlayer, 1, 0x40000001);
|
||||||
HuPrcEnd();
|
HuPrcEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_1070(void) {
|
void fn_1_1070(void)
|
||||||
|
{
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
CharModelDataClose(-1);
|
CharModelDataClose(-1);
|
||||||
lbl_1_bss_4 = 0;
|
lbl_1_bss_4 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_10A8(void) {
|
void fn_1_10A8(void)
|
||||||
|
{
|
||||||
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
|
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
|
||||||
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
|
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
|
||||||
while (lbl_1_bss_4) {
|
while (lbl_1_bss_4) {
|
||||||
|
|
@ -427,7 +431,8 @@ void fn_1_10A8(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_1128(void) {
|
s32 fn_1_1128(void)
|
||||||
|
{
|
||||||
u32 spaceFlags;
|
u32 spaceFlags;
|
||||||
s16 currSpace;
|
s16 currSpace;
|
||||||
currSpace = GWPlayer[GWSystem.player_curr].space_curr;
|
currSpace = GWPlayer[GWSystem.player_curr].space_curr;
|
||||||
|
|
@ -436,7 +441,8 @@ s32 fn_1_1128(void) {
|
||||||
|
|
||||||
if (spaceFlags & 0x200000) {
|
if (spaceFlags & 0x200000) {
|
||||||
fn_1_990();
|
fn_1_990();
|
||||||
} else if (spaceFlags & 0x400000) {
|
}
|
||||||
|
else if (spaceFlags & 0x400000) {
|
||||||
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
|
lbl_1_bss_4 = HuPrcChildCreate(fn_1_C50, 0x2003U, 0x2000U, 0, boardMainProc);
|
||||||
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
|
HuPrcDestructorSet2(lbl_1_bss_4, fn_1_1070);
|
||||||
while (lbl_1_bss_4) {
|
while (lbl_1_bss_4) {
|
||||||
|
|
@ -447,7 +453,8 @@ s32 fn_1_1128(void) {
|
||||||
BoardRollDispSet(1);
|
BoardRollDispSet(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_121C(u32 mesg) {
|
void fn_1_121C(u32 mesg)
|
||||||
|
{
|
||||||
BoardWinCreate(2, mesg, 4);
|
BoardWinCreate(2, mesg, 4);
|
||||||
BoardWinWait();
|
BoardWinWait();
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,21 @@
|
||||||
#include "REL/w02Dll.h"
|
#include "REL/w02Dll.h"
|
||||||
#include "game/audio.h"
|
#include "game/audio.h"
|
||||||
#include "game/frand.h"
|
|
||||||
#include "game/chrman.h"
|
#include "game/chrman.h"
|
||||||
|
#include "game/frand.h"
|
||||||
#include "game/pad.h"
|
#include "game/pad.h"
|
||||||
|
|
||||||
|
|
||||||
#include "ext_math.h"
|
#include "ext_math.h"
|
||||||
|
|
||||||
|
|
||||||
/* DATA */
|
/* DATA */
|
||||||
s32 lbl_1_data_4D0[] = {
|
s32 lbl_1_data_4D0[] = { -1, 2, 2, 2, -1, 1, 1, 1, -1, 0, 0, 0, -1, 3, 3, 3 };
|
||||||
-1, 2, 2, 2,
|
|
||||||
-1, 1, 1, 1,
|
|
||||||
-1, 0, 0, 0,
|
|
||||||
-1, 3, 3, 3
|
|
||||||
};
|
|
||||||
|
|
||||||
Process *lbl_1_bss_38C;
|
Process *lbl_1_bss_38C;
|
||||||
s16 lbl_1_bss_388;
|
s16 lbl_1_bss_388;
|
||||||
s32 lbl_1_bss_384;
|
s32 lbl_1_bss_384;
|
||||||
float lbl_1_bss_380;
|
float lbl_1_bss_380;
|
||||||
|
|
||||||
//Local Functions
|
// Local Functions
|
||||||
void fn_1_D3AC(void);
|
void fn_1_D3AC(void);
|
||||||
s32 fn_1_D8C4(void);
|
s32 fn_1_D8C4(void);
|
||||||
void fn_1_DF48(void);
|
void fn_1_DF48(void);
|
||||||
|
|
@ -34,10 +29,10 @@ typedef struct UnkPoint {
|
||||||
Vec point;
|
Vec point;
|
||||||
} UnkPoint;
|
} UnkPoint;
|
||||||
|
|
||||||
|
|
||||||
/* FUNCTIONS */
|
/* FUNCTIONS */
|
||||||
void fn_1_BC1C(void) {
|
void fn_1_BC1C(void)
|
||||||
Point3d sp8;
|
{
|
||||||
|
Vec sp8;
|
||||||
|
|
||||||
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
|
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
|
||||||
sp8.z -= 90.0f;
|
sp8.z -= 90.0f;
|
||||||
|
|
@ -50,13 +45,14 @@ void fn_1_BC1C(void) {
|
||||||
BoardModelRotSetV(lbl_1_bss_30[15], &sp8);
|
BoardModelRotSetV(lbl_1_bss_30[15], &sp8);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_BCFC(void) {
|
void fn_1_BCFC(void)
|
||||||
|
{
|
||||||
s32 spaceLinkFlags;
|
s32 spaceLinkFlags;
|
||||||
s32 temp_r30;
|
s32 temp_r30;
|
||||||
s32 temp_r29;
|
s32 temp_r29;
|
||||||
|
|
||||||
BoardRollDispSet(0);
|
BoardRollDispSet(0);
|
||||||
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32) GWPlayer[lbl_1_bss_388].space_curr, 2U);
|
spaceLinkFlags = BoardSpaceLinkFlagSearch(0, (s32)GWPlayer[lbl_1_bss_388].space_curr, 2U);
|
||||||
BoardPlayerMoveToAsync(lbl_1_bss_388, spaceLinkFlags);
|
BoardPlayerMoveToAsync(lbl_1_bss_388, spaceLinkFlags);
|
||||||
while (GWPlayer[lbl_1_bss_388].moving) {
|
while (GWPlayer[lbl_1_bss_388].moving) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -64,8 +60,8 @@ void fn_1_BCFC(void) {
|
||||||
BoardPlayerIdleSet(lbl_1_bss_388);
|
BoardPlayerIdleSet(lbl_1_bss_388);
|
||||||
BoardCameraViewSet(2);
|
BoardCameraViewSet(2);
|
||||||
BoardCameraMotionWait();
|
BoardCameraMotionWait();
|
||||||
BoardPlayerMotBlendSet((s32) lbl_1_bss_388, 0x5A, 0xF);
|
BoardPlayerMotBlendSet((s32)lbl_1_bss_388, 0x5A, 0xF);
|
||||||
while (BoardPlayerMotBlendCheck((s32) lbl_1_bss_388) == 0) {
|
while (BoardPlayerMotBlendCheck((s32)lbl_1_bss_388) == 0) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
BoardModelRotYSet(lbl_1_bss_30[15], -90.0f);
|
BoardModelRotYSet(lbl_1_bss_30[15], -90.0f);
|
||||||
|
|
@ -81,16 +77,18 @@ void fn_1_BCFC(void) {
|
||||||
BoardCameraMotionWait();
|
BoardCameraMotionWait();
|
||||||
BoardRollDispSet(1);
|
BoardRollDispSet(1);
|
||||||
HuPrcKill(NULL);
|
HuPrcKill(NULL);
|
||||||
while(TRUE) {
|
while (TRUE) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_BE74(void) {
|
s32 fn_1_BE74(void)
|
||||||
|
{
|
||||||
lbl_1_bss_38C = 0;
|
lbl_1_bss_38C = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_BE88(void) {
|
s32 fn_1_BE88(void)
|
||||||
|
{
|
||||||
s32 coinAmount;
|
s32 coinAmount;
|
||||||
s32 var_r30;
|
s32 var_r30;
|
||||||
s16 playerCoinRegion;
|
s16 playerCoinRegion;
|
||||||
|
|
@ -100,7 +98,7 @@ s32 fn_1_BE88(void) {
|
||||||
s32 mesg;
|
s32 mesg;
|
||||||
|
|
||||||
var_r30 = -1;
|
var_r30 = -1;
|
||||||
coinAmount = BoardPlayerCoinsGet((s32) lbl_1_bss_388);
|
coinAmount = BoardPlayerCoinsGet((s32)lbl_1_bss_388);
|
||||||
if (coinAmount < 5) {
|
if (coinAmount < 5) {
|
||||||
return var_r30;
|
return var_r30;
|
||||||
}
|
}
|
||||||
|
|
@ -112,7 +110,8 @@ s32 fn_1_BE88(void) {
|
||||||
if (GWPlayer[lbl_1_bss_388].com) {
|
if (GWPlayer[lbl_1_bss_388].com) {
|
||||||
if (frandBool()) {
|
if (frandBool()) {
|
||||||
BoardComKeySetRight();
|
BoardComKeySetRight();
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardComKeySetLeft();
|
BoardComKeySetLeft();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -136,49 +135,50 @@ s32 fn_1_BE88(void) {
|
||||||
if (GWPlayer[lbl_1_bss_388].com) {
|
if (GWPlayer[lbl_1_bss_388].com) {
|
||||||
if (playerCoinRegion < 2) {
|
if (playerCoinRegion < 2) {
|
||||||
BoardComKeySetUp();
|
BoardComKeySetUp();
|
||||||
} else if (frandBool()) {
|
}
|
||||||
|
else if (frandBool()) {
|
||||||
BoardComKeySetUp();
|
BoardComKeySetUp();
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardComKeySetDown();
|
BoardComKeySetDown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BoardWinWait();
|
BoardWinWait();
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
bribeChoice = BoardWinChoiceGet();
|
bribeChoice = BoardWinChoiceGet();
|
||||||
if (bribeChoice == -1 ||
|
if (bribeChoice == -1 || bribeChoice == 3) {
|
||||||
bribeChoice == 3) {
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Coin amount is now the bribe amount in coins
|
// Coin amount is now the bribe amount in coins
|
||||||
switch (bribeChoice) {
|
switch (bribeChoice) {
|
||||||
case 0:
|
case 0:
|
||||||
mesg = MAKE_MESSID(0x13, 0x04);
|
mesg = MAKE_MESSID(0x13, 0x04);
|
||||||
coinAmount = 0x14;
|
coinAmount = 0x14;
|
||||||
var_r30 = 0x5A; // 90%
|
var_r30 = 0x5A; // 90%
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
mesg = MAKE_MESSID(0x13, 0x05);
|
mesg = MAKE_MESSID(0x13, 0x05);
|
||||||
coinAmount = 0xA;
|
coinAmount = 0xA;
|
||||||
var_r30 = 0x3C; // 60%
|
var_r30 = 0x3C; // 60%
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
mesg = MAKE_MESSID(0x13, 0x06);
|
mesg = MAKE_MESSID(0x13, 0x06);
|
||||||
coinAmount = 5;
|
coinAmount = 5;
|
||||||
var_r30 = 0x1E; // 30%
|
var_r30 = 0x1E; // 30%
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
fn_1_121C(mesg);
|
fn_1_121C(mesg);
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < coinAmount; i++) {
|
for (i = 0; i < coinAmount; i++) {
|
||||||
BoardPlayerCoinsAdd(lbl_1_bss_388, -1);
|
BoardPlayerCoinsAdd(lbl_1_bss_388, -1);
|
||||||
HuAudFXPlay(0xE);
|
HuAudFXPlay(0xE);
|
||||||
HuPrcSleep(6);
|
HuPrcSleep(6);
|
||||||
}
|
}
|
||||||
HuAudFXPlay(0xF);
|
HuAudFXPlay(0xF);
|
||||||
// If chose to view map
|
// If chose to view map
|
||||||
} else if (rouletteChoice == 2) {
|
}
|
||||||
|
else if (rouletteChoice == 2) {
|
||||||
BoardViewMapExec(lbl_1_bss_388);
|
BoardViewMapExec(lbl_1_bss_388);
|
||||||
}
|
}
|
||||||
} while (rouletteChoice == 2); // While viewing map
|
} while (rouletteChoice == 2); // While viewing map
|
||||||
|
|
@ -188,13 +188,13 @@ s32 fn_1_BE88(void) {
|
||||||
return var_r30;
|
return var_r30;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_C108(s32 arg0) {
|
s32 fn_1_C108(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp34;
|
Vec sp34;
|
||||||
Vec sp28;
|
Vec sp28;
|
||||||
Vec sp1C;
|
Vec sp1C;
|
||||||
Vec sp10;
|
Vec sp10;
|
||||||
|
|
||||||
|
|
||||||
f32 var_f27;
|
f32 var_f27;
|
||||||
f32 var_f26;
|
f32 var_f26;
|
||||||
f32 var_f25;
|
f32 var_f25;
|
||||||
|
|
@ -210,15 +210,16 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
s32 var_r29;
|
s32 var_r29;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
||||||
if ((s32) frandmod(0x64U) < arg0) {
|
if ((s32)frandmod(0x64U) < arg0) {
|
||||||
s32 temp_r25 = fn_1_E2AC();
|
s32 temp_r25 = fn_1_E2AC();
|
||||||
var_r27 = 4;
|
var_r27 = 4;
|
||||||
var_r29 = frandmod(3U);
|
var_r29 = frandmod(3U);
|
||||||
if ((s32) frandmod(0x64U) < 0x14) {
|
if ((s32)frandmod(0x64U) < 0x14) {
|
||||||
var_r29 += 1;
|
var_r29 += 1;
|
||||||
}
|
}
|
||||||
var_r29 = var_r29 + (3 - temp_r25) * 4;
|
var_r29 = var_r29 + (3 - temp_r25) * 4;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
var_r29 = frandmod(0x10U);
|
var_r29 = frandmod(0x10U);
|
||||||
var_r27 = frandmod(4U);
|
var_r27 = frandmod(4U);
|
||||||
}
|
}
|
||||||
|
|
@ -287,7 +288,7 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
sp1C.z = -50.0f;
|
sp1C.z = -50.0f;
|
||||||
|
|
||||||
// Roulette motion and ball ?
|
// Roulette motion and ball ?
|
||||||
while(TRUE) {
|
while (TRUE) {
|
||||||
sp1C.y = var_f27 - (0.55833334f * (0.25f * (var_f31 * var_f31)));
|
sp1C.y = var_f27 - (0.55833334f * (0.25f * (var_f31 * var_f31)));
|
||||||
var_f31 += 1.0f;
|
var_f31 += 1.0f;
|
||||||
BoardModelPosGet(lbl_1_bss_30[6], &sp28);
|
BoardModelPosGet(lbl_1_bss_30[6], &sp28);
|
||||||
|
|
@ -295,11 +296,11 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
var_f25 = VECDistanceXZ(&sp28, &sp10);
|
var_f25 = VECDistanceXZ(&sp28, &sp10);
|
||||||
if (var_f25 >= 430.0f) {
|
if (var_f25 >= 430.0f) {
|
||||||
if (sp28.y <= (55.0f + sp10.y)) {
|
if (sp28.y <= (55.0f + sp10.y)) {
|
||||||
VECSubtract(&sp28, &sp10, (Vec* ) &sp1C);
|
VECSubtract(&sp28, &sp10, (Vec *)&sp1C);
|
||||||
VECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C);
|
VECNormalize((Vec *)&sp1C, (Vec *)&sp1C);
|
||||||
sp1C.y = 0.0f;
|
sp1C.y = 0.0f;
|
||||||
VECScale((Vec* ) &sp1C, (Vec* ) &sp1C, 429.0f);
|
VECScale((Vec *)&sp1C, (Vec *)&sp1C, 429.0f);
|
||||||
VECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C);
|
VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C);
|
||||||
sp28.x = sp1C.x;
|
sp28.x = sp1C.x;
|
||||||
sp28.z = sp1C.z;
|
sp28.z = sp1C.z;
|
||||||
sp1C.x = -5.0f;
|
sp1C.x = -5.0f;
|
||||||
|
|
@ -309,34 +310,34 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
|
|
||||||
if (sp28.y < sp10.y) {
|
if (sp28.y < sp10.y) {
|
||||||
sp28.y = sp10.y;
|
sp28.y = sp10.y;
|
||||||
if (var_r27 >= 3) {
|
if (var_r27 >= 3) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//var_f31 = ((1.0f/255.0f) * (6.0f * frand8()));
|
// var_f31 = ((1.0f/255.0f) * (6.0f * frand8()));
|
||||||
var_f27 = 6.0f + ((1.0f/255.0f) * (6.0f * frand8()));
|
var_f27 = 6.0f + ((1.0f / 255.0f) * (6.0f * frand8()));
|
||||||
var_f31 = 1.0f;
|
var_f31 = 1.0f;
|
||||||
var_r27 += 1;
|
var_r27 += 1;
|
||||||
//var_f31 = ((1.0f/255.0f) * (5.0f * frand8()));
|
// var_f31 = ((1.0f/255.0f) * (5.0f * frand8()));
|
||||||
sp1C.x = 15.0f + ((1.0f/255.0f) * (5.0f * frand8()));
|
sp1C.x = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8()));
|
||||||
sp1C.z = 15.0f + ((1.0f/255.0f) * (5.0f * frand8()));
|
sp1C.z = 15.0f + ((1.0f / 255.0f) * (5.0f * frand8()));
|
||||||
HuAudFXPlay(0x41E);
|
HuAudFXPlay(0x41E);
|
||||||
}
|
}
|
||||||
|
|
||||||
BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28);
|
BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28);
|
||||||
fn_1_E310(var_f29);
|
fn_1_E310(var_f29);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
|
|
||||||
HuAudFXPlay(0x41E);
|
HuAudFXPlay(0x41E);
|
||||||
VECSubtract(&sp28, &sp10, (Vec* ) &sp1C);
|
VECSubtract(&sp28, &sp10, (Vec *)&sp1C);
|
||||||
VECNormalize((Vec* ) &sp1C, (Vec* ) &sp1C);
|
VECNormalize((Vec *)&sp1C, (Vec *)&sp1C);
|
||||||
var_f31 = atan2d(-sp1C.z, sp1C.x);
|
var_f31 = atan2d(-sp1C.z, sp1C.x);
|
||||||
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
||||||
var_f31 = var_f31 - sp34.y;
|
var_f31 = var_f31 - sp34.y;
|
||||||
if (var_f31 < 0.0f) {
|
if (var_f31 < 0.0f) {
|
||||||
var_f31 += 360.0f;
|
var_f31 += 360.0f;
|
||||||
}
|
}
|
||||||
var_r30 = (s32) (var_f31 / 22.5f);
|
var_r30 = (s32)(var_f31 / 22.5f);
|
||||||
if (fmod(var_f31, 22.5) > 11.25) {
|
if (fmod(var_f31, 22.5) > 11.25) {
|
||||||
var_r30 += 1;
|
var_r30 += 1;
|
||||||
}
|
}
|
||||||
|
|
@ -345,7 +346,7 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
}
|
}
|
||||||
sp1C.y = 0.0f;
|
sp1C.y = 0.0f;
|
||||||
|
|
||||||
while(TRUE) {
|
while (TRUE) {
|
||||||
fn_1_E310(var_f29);
|
fn_1_E310(var_f29);
|
||||||
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
||||||
var_f31 = (22.5f * var_r30) + sp34.y; // TODO: Update rodata for asm change
|
var_f31 = (22.5f * var_r30) + sp34.y; // TODO: Update rodata for asm change
|
||||||
|
|
@ -356,8 +357,7 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
sp28.x = sp1C.x;
|
sp28.x = sp1C.x;
|
||||||
sp28.z = sp1C.z;
|
sp28.z = sp1C.z;
|
||||||
BoardModelPosSetV(lbl_1_bss_30[6], &sp28);
|
BoardModelPosSetV(lbl_1_bss_30[6], &sp28);
|
||||||
if (sp34.y >= 292.5f &&
|
if (sp34.y >= 292.5f && sp34.y < 315.0f) {
|
||||||
sp34.y < 315.0f) {
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -367,14 +367,14 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
var_f29 += 0.375f;
|
var_f29 += 0.375f;
|
||||||
fn_1_E310(var_f29);
|
fn_1_E310(var_f29);
|
||||||
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
BoardModelRotGet(lbl_1_bss_30[4], &sp34);
|
||||||
var_f31 = (22.5f * (f32) var_r30) + sp34.y;
|
var_f31 = (22.5f * (f32)var_r30) + sp34.y;
|
||||||
sp1C.x = cosd(var_f31);
|
sp1C.x = cosd(var_f31);
|
||||||
sp1C.z = -sind(var_f31);
|
sp1C.z = -sind(var_f31);
|
||||||
VECScale(&sp1C, &sp1C, 429.0f);
|
VECScale(&sp1C, &sp1C, 429.0f);
|
||||||
VECAdd((Vec* ) &sp1C, &sp10, (Vec* ) &sp1C);
|
VECAdd((Vec *)&sp1C, &sp10, (Vec *)&sp1C);
|
||||||
sp28.x = sp1C.x;
|
sp28.x = sp1C.x;
|
||||||
sp28.z = sp1C.z;
|
sp28.z = sp1C.z;
|
||||||
BoardModelPosSetV(lbl_1_bss_30[6], (Vec* ) &sp28);
|
BoardModelPosSetV(lbl_1_bss_30[6], (Vec *)&sp28);
|
||||||
var_r28 += -136.51666f;
|
var_r28 += -136.51666f;
|
||||||
HuAudFXPitchSet(lbl_1_bss_384, var_r28);
|
HuAudFXPitchSet(lbl_1_bss_384, var_r28);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -385,7 +385,8 @@ s32 fn_1_C108(s32 arg0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Place player on space post roulette?
|
// Place player on space post roulette?
|
||||||
void fn_1_CD04(s32 arg0) {
|
void fn_1_CD04(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp24;
|
Vec sp24;
|
||||||
Vec sp18;
|
Vec sp18;
|
||||||
Vec spC;
|
Vec spC;
|
||||||
|
|
@ -400,7 +401,7 @@ void fn_1_CD04(s32 arg0) {
|
||||||
s32 var_r29;
|
s32 var_r29;
|
||||||
s32 var_r28;
|
s32 var_r28;
|
||||||
s32 var_r30;
|
s32 var_r30;
|
||||||
BoardSpace* temp_r31;
|
BoardSpace *temp_r31;
|
||||||
|
|
||||||
if (arg0 < 0) {
|
if (arg0 < 0) {
|
||||||
fn_1_D3AC();
|
fn_1_D3AC();
|
||||||
|
|
@ -410,8 +411,8 @@ void fn_1_CD04(s32 arg0) {
|
||||||
|
|
||||||
for (var_r28 = 0; var_r28 < temp_r31->link_cnt; var_r28++) {
|
for (var_r28 = 0; var_r28 < temp_r31->link_cnt; var_r28++) {
|
||||||
var_r29 = temp_r31->link[var_r28];
|
var_r29 = temp_r31->link[var_r28];
|
||||||
var_r26 = ( (BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U);
|
var_r26 = ((BoardSpaceFlagGet(0, var_r29) & 0xE) >> 1U);
|
||||||
if ( var_r26 == (arg0 + 2)) {
|
if (var_r26 == (arg0 + 2)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -427,7 +428,7 @@ void fn_1_CD04(s32 arg0) {
|
||||||
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 30.0f) {
|
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 30.0f) {
|
||||||
spC.x -= 0.25f;
|
spC.x -= 0.25f;
|
||||||
spC.y -= 0.25f;
|
spC.y -= 0.25f;
|
||||||
//temp_f1 = spC.z;
|
// temp_f1 = spC.z;
|
||||||
spC.z = spC.z - 0.25f;
|
spC.z = spC.z - 0.25f;
|
||||||
BoardPlayerScaleSetV(lbl_1_bss_388, &spC);
|
BoardPlayerScaleSetV(lbl_1_bss_388, &spC);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
|
|
@ -443,7 +444,8 @@ void fn_1_CD04(s32 arg0) {
|
||||||
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
|
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
|
||||||
BoardModelVisibilitySet(BoardBowserSuitModelGet(), 0);
|
BoardModelVisibilitySet(BoardBowserSuitModelGet(), 0);
|
||||||
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 0);
|
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 0);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 0);
|
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 0);
|
||||||
}
|
}
|
||||||
HuAudFXPlay(0x421);
|
HuAudFXPlay(0x421);
|
||||||
|
|
@ -454,7 +456,7 @@ void fn_1_CD04(s32 arg0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
BoardModelPosGet(lbl_1_bss_30[5], &sp18);
|
BoardModelPosGet(lbl_1_bss_30[5], &sp18);
|
||||||
temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z)/30;
|
temp_f30 = atan2d(sp24.x - sp18.x, sp24.z - sp18.z) / 30;
|
||||||
|
|
||||||
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 90.0f) {
|
while (BoardModelMotionTimeGet(lbl_1_bss_30[5]) < 90.0f) {
|
||||||
BoardModelRotYSet(lbl_1_bss_30[5], temp_f30 + BoardModelRotYGet(lbl_1_bss_30[5]));
|
BoardModelRotYSet(lbl_1_bss_30[5], temp_f30 + BoardModelRotYGet(lbl_1_bss_30[5]));
|
||||||
|
|
@ -464,22 +466,23 @@ void fn_1_CD04(s32 arg0) {
|
||||||
omVibrate(lbl_1_bss_388, 0xC, 4, 2);
|
omVibrate(lbl_1_bss_388, 0xC, 4, 2);
|
||||||
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
|
if (GWPlayer[lbl_1_bss_388].bowser_suit) {
|
||||||
|
|
||||||
BoardModelVisibilitySet(BoardBowserSuitModelGet(),1);
|
BoardModelVisibilitySet(BoardBowserSuitModelGet(), 1);
|
||||||
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(),1);
|
BoardModelVisibilitySet(BoardBowserSuitPlayerModelGet(), 1);
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 1);
|
BoardModelVisibilitySet(BoardPlayerModelGet(lbl_1_bss_388), 1);
|
||||||
}
|
}
|
||||||
GWPlayer[lbl_1_bss_388].space_curr =(s16) var_r29;
|
GWPlayer[lbl_1_bss_388].space_curr = (s16)var_r29;
|
||||||
BoardPlayerPosSetV(lbl_1_bss_388, &sp24);
|
BoardPlayerPosSetV(lbl_1_bss_388, &sp24);
|
||||||
temp_r31 = BoardSpaceGet(0, var_r29);
|
temp_r31 = BoardSpaceGet(0, var_r29);
|
||||||
|
|
||||||
for ( var_r30 = 0; var_r30 < (s32) temp_r31->link_cnt; var_r30++) {
|
for (var_r30 = 0; var_r30 < (s32)temp_r31->link_cnt; var_r30++) {
|
||||||
if (BoardSpaceTypeGet(0, temp_r31->link[var_r30])) {
|
if (BoardSpaceTypeGet(0, temp_r31->link[var_r30])) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var_r30 != (s32) temp_r31->link_cnt) {
|
if (var_r30 != (s32)temp_r31->link_cnt) {
|
||||||
BoardSpacePosGet(0, temp_r31->link[var_r30], &sp18);
|
BoardSpacePosGet(0, temp_r31->link[var_r30], &sp18);
|
||||||
BoardPlayerRotYSet(lbl_1_bss_388, atan2d(sp18.x - sp24.x, sp18.z - sp24.z));
|
BoardPlayerRotYSet(lbl_1_bss_388, atan2d(sp18.x - sp24.x, sp18.z - sp24.z));
|
||||||
}
|
}
|
||||||
|
|
@ -507,289 +510,290 @@ void fn_1_CD04(s32 arg0) {
|
||||||
|
|
||||||
void fn_1_D3AC(void)
|
void fn_1_D3AC(void)
|
||||||
{
|
{
|
||||||
float temp_f31;
|
float temp_f31;
|
||||||
float temp_f30;
|
float temp_f30;
|
||||||
s32 temp_r31;
|
s32 temp_r31;
|
||||||
s32 temp_r30;
|
s32 temp_r30;
|
||||||
s16 sp38[20];
|
s16 sp38[20];
|
||||||
Vec sp2C;
|
Vec sp2C;
|
||||||
Vec sp20;
|
Vec sp20;
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
float sp8[3] = { 1.0f, 0.3f, 2.5f };
|
float sp8[3] = { 1.0f, 0.3f, 2.5f };
|
||||||
fn_1_121C(MAKE_MESSID(0x13, 0x08));
|
fn_1_121C(MAKE_MESSID(0x13, 0x08));
|
||||||
BoardStatusShowSetAll(1);
|
BoardStatusShowSetAll(1);
|
||||||
BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15);
|
BoardPlayerMotBlendSet(lbl_1_bss_388, 0, 15);
|
||||||
BoardPlayerPosGet(lbl_1_bss_388, &sp14);
|
BoardPlayerPosGet(lbl_1_bss_388, &sp14);
|
||||||
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
|
||||||
sp38[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x0A), 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.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.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));
|
sp2C.z = (sp14.z - 25.0f) + ((1.0f / 255.0f) * (frand8() * 50.0f));
|
||||||
BoardModelPosSetV(sp38[temp_r31], &sp2C);
|
BoardModelPosSetV(sp38[temp_r31], &sp2C);
|
||||||
sp20.x = sp20.z = 0;
|
sp20.x = sp20.z = 0;
|
||||||
sp20.y = (1.0f/255.0f)*(frand8()*360.0f);
|
sp20.y = (1.0f / 255.0f) * (frand8() * 360.0f);
|
||||||
BoardModelRotSetV(sp38[temp_r31], &sp20);
|
BoardModelRotSetV(sp38[temp_r31], &sp20);
|
||||||
}
|
}
|
||||||
temp_f31 = -4;
|
temp_f31 = -4;
|
||||||
temp_r30 = 0;
|
temp_r30 = 0;
|
||||||
temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)];
|
temp_f30 = sp8[BoardPlayerSizeGet(lbl_1_bss_388)];
|
||||||
while(1) {
|
while (1) {
|
||||||
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
|
||||||
if(temp_r31 < temp_r30) {
|
if (temp_r31 < temp_r30) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
BoardModelPosGet(sp38[temp_r31], &sp2C);
|
BoardModelPosGet(sp38[temp_r31], &sp2C);
|
||||||
BoardModelRotGet(sp38[temp_r31], &sp20);
|
BoardModelRotGet(sp38[temp_r31], &sp20);
|
||||||
sp2C.y += temp_f31;
|
sp2C.y += temp_f31;
|
||||||
sp20.y += 45.0f;
|
sp20.y += 45.0f;
|
||||||
BoardModelPosSetV(sp38[temp_r31], &sp2C);
|
BoardModelPosSetV(sp38[temp_r31], &sp2C);
|
||||||
BoardModelRotSetV(sp38[temp_r31], &sp20);
|
BoardModelRotSetV(sp38[temp_r31], &sp20);
|
||||||
if(sp2C.y <= sp14.y+(180.0f*temp_f30)) {
|
if (sp2C.y <= sp14.y + (180.0f * temp_f30)) {
|
||||||
CharModelCoinEffectCreate(1, &sp2C);
|
CharModelCoinEffectCreate(1, &sp2C);
|
||||||
BoardModelVisibilitySet(sp38[temp_r31], 0);
|
BoardModelVisibilitySet(sp38[temp_r31], 0);
|
||||||
temp_r30++;
|
temp_r30++;
|
||||||
BoardPlayerCoinsAdd(lbl_1_bss_388, 1);
|
BoardPlayerCoinsAdd(lbl_1_bss_388, 1);
|
||||||
HuAudFXPlay(7);
|
HuAudFXPlay(7);
|
||||||
omVibrate(lbl_1_bss_388, 12, 6, 6);
|
omVibrate(lbl_1_bss_388, 12, 6, 6);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
temp_f31 *= 1.05f;
|
||||||
temp_f31 *= 1.05f;
|
if (temp_f31 < -40.0f) {
|
||||||
if(temp_f31 < -40.0f) {
|
temp_f31 = -40.0f;
|
||||||
temp_f31 = -40.0f;
|
}
|
||||||
}
|
if (temp_r30 == 20) {
|
||||||
if(temp_r30 == 20) {
|
BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, HU3D_MOTATTR_NONE);
|
||||||
BoardPlayerMotionShiftSet(lbl_1_bss_388, 7, 0, 10, HU3D_MOTATTR_NONE);
|
break;
|
||||||
break;
|
}
|
||||||
}
|
HuPrcVSleep();
|
||||||
HuPrcVSleep();
|
}
|
||||||
}
|
while (!BoardPlayerMotionEndCheck(lbl_1_bss_388)) {
|
||||||
while(!BoardPlayerMotionEndCheck(lbl_1_bss_388)) {
|
HuPrcVSleep();
|
||||||
HuPrcVSleep();
|
}
|
||||||
}
|
for (temp_r31 = 0; temp_r31 < 20; temp_r31++) {
|
||||||
for(temp_r31=0; temp_r31<20; temp_r31++) {
|
BoardModelKill(sp38[temp_r31]);
|
||||||
BoardModelKill(sp38[temp_r31]);
|
}
|
||||||
}
|
HuPrcSleep(60);
|
||||||
HuPrcSleep(60);
|
BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15);
|
||||||
BoardPlayerMotBlendSet(lbl_1_bss_388, 180, 15);
|
BoardStatusShowSetAll(0);
|
||||||
BoardStatusShowSetAll(0);
|
while (!BoardPlayerMotBlendCheck(lbl_1_bss_388)) {
|
||||||
while(!BoardPlayerMotBlendCheck(lbl_1_bss_388)) {
|
HuPrcVSleep();
|
||||||
HuPrcVSleep();
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_D8C4(void)
|
s32 fn_1_D8C4(void)
|
||||||
{
|
{
|
||||||
Vec sp40;
|
Vec sp40;
|
||||||
Vec sp34;
|
Vec sp34;
|
||||||
Vec sp28;
|
Vec sp28;
|
||||||
Vec sp1C;
|
Vec sp1C;
|
||||||
s16 sp14[4];
|
s16 sp14[4];
|
||||||
float spC[2];
|
float spC[2];
|
||||||
s32 sp8;
|
s32 sp8;
|
||||||
|
|
||||||
float temp_f31;
|
float temp_f31;
|
||||||
float temp_f30;
|
float temp_f30;
|
||||||
|
|
||||||
s32 temp_r31;
|
s32 temp_r31;
|
||||||
s16 temp_r30;
|
s16 temp_r30;
|
||||||
BoardSpace *temp_r29;
|
BoardSpace *temp_r29;
|
||||||
s32 temp_r28;
|
s32 temp_r28;
|
||||||
s16 temp_r27;
|
s16 temp_r27;
|
||||||
s16 temp_r26;
|
s16 temp_r26;
|
||||||
s32 temp_r25;
|
s32 temp_r25;
|
||||||
s16 temp_r24;
|
s16 temp_r24;
|
||||||
s16 temp_r23;
|
s16 temp_r23;
|
||||||
s16 temp_r22;
|
s16 temp_r22;
|
||||||
|
|
||||||
u32 temp_r21;
|
u32 temp_r21;
|
||||||
fn_1_121C(MAKE_MESSID(0x13, 0x09));
|
fn_1_121C(MAKE_MESSID(0x13, 0x09));
|
||||||
temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800));
|
temp_r29 = BoardSpaceGet(0, BoardSpaceFlagSearch(0, 0x800));
|
||||||
BoardModelPosGet(lbl_1_bss_30[3], &sp40);
|
BoardModelPosGet(lbl_1_bss_30[3], &sp40);
|
||||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
|
||||||
sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1);
|
sp14[temp_r31] = BoardModelCreate(DATA_MAKE_NUM(DATADIR_BOARD, 0x00), NULL, 1);
|
||||||
BoardModelLayerSet(sp14[temp_r31], 2);
|
BoardModelLayerSet(sp14[temp_r31], 2);
|
||||||
for(temp_r28=0; temp_r28<temp_r29->link_cnt; temp_r28++) {
|
for (temp_r28 = 0; temp_r28 < temp_r29->link_cnt; temp_r28++) {
|
||||||
temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1;
|
temp_r21 = (BoardSpaceFlagGet(0, temp_r29->link[temp_r28]) & 0xE) >> 1;
|
||||||
if(temp_r21 == temp_r31+2) {
|
if (temp_r21 == temp_r31 + 2) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28);
|
sp8 = BoardSpacePosGet(0, temp_r29->link[temp_r28], &sp28);
|
||||||
VECSubtract(&sp28, &sp40, &sp34);
|
VECSubtract(&sp28, &sp40, &sp34);
|
||||||
BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z));
|
BoardModelRotYSet(sp14[temp_r31], atan2d(sp34.x, sp34.z));
|
||||||
VECNormalize(&sp34, &sp34);
|
VECNormalize(&sp34, &sp34);
|
||||||
VECScale(&sp34, &sp34, 400);
|
VECScale(&sp34, &sp34, 400);
|
||||||
VECAdd(&sp34, &sp40, &sp34);
|
VECAdd(&sp34, &sp40, &sp34);
|
||||||
sp34.y += 300.0f;
|
sp34.y += 300.0f;
|
||||||
BoardModelPosSetV(sp14[temp_r31], &sp34);
|
BoardModelPosSetV(sp14[temp_r31], &sp34);
|
||||||
sp1C.x = sp1C.y = sp1C.z = 3;
|
sp1C.x = sp1C.y = sp1C.z = 3;
|
||||||
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
|
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
|
||||||
}
|
}
|
||||||
temp_r25 = fn_1_E2AC();
|
temp_r25 = fn_1_E2AC();
|
||||||
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E));
|
HuWinMesMaxSizeGet(1, spC, MAKE_MESSID(0x13, 0x1E));
|
||||||
temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0);
|
temp_r30 = HuWinCreate(-10000, 356, spC[0], spC[1], 0);
|
||||||
HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E));
|
HuWinMesSet(temp_r30, MAKE_MESSID(0x13, 0x1E));
|
||||||
HuWinBGTPLvlSet(temp_r30, 0);
|
HuWinBGTPLvlSet(temp_r30, 0);
|
||||||
HuWinMesSpeedSet(temp_r30, 0);
|
HuWinMesSpeedSet(temp_r30, 0);
|
||||||
temp_r23 = GWPlayer[lbl_1_bss_388].port;
|
temp_r23 = GWPlayer[lbl_1_bss_388].port;
|
||||||
temp_f30 = 0;
|
temp_f30 = 0;
|
||||||
temp_r22 = frandmod(20)+20;
|
temp_r22 = frandmod(20) + 20;
|
||||||
restart:
|
restart:
|
||||||
while(1) {
|
while (1) {
|
||||||
if(GWPlayer[lbl_1_bss_388].com) {
|
if (GWPlayer[lbl_1_bss_388].com) {
|
||||||
temp_r27 = 0;
|
temp_r27 = 0;
|
||||||
temp_r26 = 0;
|
temp_r26 = 0;
|
||||||
if(temp_r22) {
|
if (temp_r22) {
|
||||||
temp_r22--;
|
temp_r22--;
|
||||||
temp_r24 = 0;
|
temp_r24 = 0;
|
||||||
} else {
|
}
|
||||||
temp_r24 = PAD_BUTTON_A;
|
else {
|
||||||
}
|
temp_r24 = PAD_BUTTON_A;
|
||||||
break;
|
}
|
||||||
}
|
break;
|
||||||
temp_r24 = HuPadBtnDown[temp_r23];
|
}
|
||||||
temp_r27 = HuPadStkX[temp_r23];
|
temp_r24 = HuPadBtnDown[temp_r23];
|
||||||
temp_r26 = HuPadStkY[temp_r23];
|
temp_r27 = HuPadStkX[temp_r23];
|
||||||
if(!(temp_r24 & PAD_TRIGGER_Z)) {
|
temp_r26 = HuPadStkY[temp_r23];
|
||||||
break;
|
if (!(temp_r24 & PAD_TRIGGER_Z)) {
|
||||||
}
|
break;
|
||||||
HuAudFXPlay(1);
|
}
|
||||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
HuAudFXPlay(1);
|
||||||
BoardModelVisibilitySet(sp14[temp_r31], 0);
|
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
|
||||||
}
|
BoardModelVisibilitySet(sp14[temp_r31], 0);
|
||||||
HuWinDispOff(temp_r30);
|
}
|
||||||
BoardViewMapExec(lbl_1_bss_388);
|
HuWinDispOff(temp_r30);
|
||||||
HuWinDispOn(temp_r30);
|
BoardViewMapExec(lbl_1_bss_388);
|
||||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
HuWinDispOn(temp_r30);
|
||||||
BoardModelVisibilitySet(sp14[temp_r31], 1);
|
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
|
||||||
}
|
BoardModelVisibilitySet(sp14[temp_r31], 1);
|
||||||
}
|
}
|
||||||
if(!(temp_r24 & PAD_BUTTON_A)) {
|
}
|
||||||
if(abs(temp_r27) < 10) {
|
if (!(temp_r24 & PAD_BUTTON_A)) {
|
||||||
temp_r27 = 0;
|
if (abs(temp_r27) < 10) {
|
||||||
}
|
temp_r27 = 0;
|
||||||
if(abs(temp_r26) < 10) {
|
}
|
||||||
temp_r26 = 0;
|
if (abs(temp_r26) < 10) {
|
||||||
}
|
temp_r26 = 0;
|
||||||
if(temp_r27 != 0 || temp_r26 != 0) {
|
}
|
||||||
temp_f31 = atan2d(-temp_r27, -temp_r26);
|
if (temp_r27 != 0 || temp_r26 != 0) {
|
||||||
if(temp_f31 < 0.0f) {
|
temp_f31 = atan2d(-temp_r27, -temp_r26);
|
||||||
temp_f31 += 360.0f;
|
if (temp_f31 < 0.0f) {
|
||||||
}
|
temp_f31 += 360.0f;
|
||||||
temp_r31 = temp_f31/90.0f;
|
}
|
||||||
temp_f31 = fmod(temp_f31, 90.0);
|
temp_r31 = temp_f31 / 90.0f;
|
||||||
if(temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f){
|
temp_f31 = fmod(temp_f31, 90.0);
|
||||||
temp_f30 = 0;
|
if (temp_r31 != temp_r25 && temp_f31 >= 20.0f && temp_f31 <= 70.0f) {
|
||||||
temp_r25 = temp_r31;
|
temp_f30 = 0;
|
||||||
HuAudFXPlay(0);
|
temp_r25 = temp_r31;
|
||||||
}
|
HuAudFXPlay(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
|
||||||
|
if (temp_r31 == temp_r25) {
|
||||||
|
sp1C.x = sp1C.y = sp1C.z = sind(temp_f30) + 3.0;
|
||||||
|
temp_f30 += 8.0f;
|
||||||
|
if (temp_f30 > 180.0f) {
|
||||||
|
temp_f30 -= 180.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sp1C.x = sp1C.y = sp1C.z = 3.0f;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
|
||||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
}
|
||||||
if(temp_r31 == temp_r25) {
|
HuPrcVSleep();
|
||||||
sp1C.x = sp1C.y = sp1C.z = sind(temp_f30)+3.0;
|
goto restart;
|
||||||
temp_f30 += 8.0f;
|
}
|
||||||
if(temp_f30 > 180.0f) {
|
else {
|
||||||
temp_f30 -= 180.0f;
|
HuAudFXPlay(2);
|
||||||
}
|
for (temp_r31 = 0; temp_r31 < 4; temp_r31++) {
|
||||||
} else {
|
BoardModelKill(sp14[temp_r31]);
|
||||||
sp1C.x = sp1C.y = sp1C.z = 3.0f;
|
}
|
||||||
}
|
HuWinKill(temp_r30);
|
||||||
|
return temp_r25;
|
||||||
|
}
|
||||||
BoardModelScaleSetV(sp14[temp_r31], &sp1C);
|
|
||||||
}
|
|
||||||
HuPrcVSleep();
|
|
||||||
goto restart;
|
|
||||||
} else {
|
|
||||||
HuAudFXPlay(2);
|
|
||||||
for(temp_r31=0; temp_r31<4; temp_r31++) {
|
|
||||||
BoardModelKill(sp14[temp_r31]);
|
|
||||||
}
|
|
||||||
HuWinKill(temp_r30);
|
|
||||||
return temp_r25;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_DF48(void)
|
void fn_1_DF48(void)
|
||||||
{
|
{
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
s32 temp_r31;
|
s32 temp_r31;
|
||||||
float temp_f31;
|
float temp_f31;
|
||||||
float temp_f30;
|
float temp_f30;
|
||||||
float temp_f29;
|
float temp_f29;
|
||||||
float temp_f28;
|
float temp_f28;
|
||||||
BoardModelMotionTimeSet(lbl_1_bss_30[5], 0);
|
BoardModelMotionTimeSet(lbl_1_bss_30[5], 0);
|
||||||
BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002);
|
BoardModelAttrSet(lbl_1_bss_30[5], 0x40000002);
|
||||||
temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]);
|
temp_f31 = BoardModelRotYGet(lbl_1_bss_30[5]);
|
||||||
temp_f29 = -temp_f31/20.0f;
|
temp_f29 = -temp_f31 / 20.0f;
|
||||||
temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]);
|
temp_f30 = BoardModelRotYGet(lbl_1_bss_30[15]);
|
||||||
temp_f28 = -temp_f30/20.0f;
|
temp_f28 = -temp_f30 / 20.0f;
|
||||||
BoardModelScaleGet(lbl_1_bss_30[6], &sp14);
|
BoardModelScaleGet(lbl_1_bss_30[6], &sp14);
|
||||||
for(temp_r31=0; temp_r31<10; temp_r31++) {
|
for (temp_r31 = 0; temp_r31 < 10; temp_r31++) {
|
||||||
sp14.x = sp14.y = sp14.z = 1.0f-(temp_r31*0.1f);
|
sp14.x = sp14.y = sp14.z = 1.0f - (temp_r31 * 0.1f);
|
||||||
if(sp14.x < 0.0f) {
|
if (sp14.x < 0.0f) {
|
||||||
sp14.x = sp14.y = sp14.z = 0.0f;
|
sp14.x = sp14.y = sp14.z = 0.0f;
|
||||||
}
|
}
|
||||||
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
||||||
temp_f31 += temp_f29;
|
temp_f31 += temp_f29;
|
||||||
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
|
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
|
||||||
temp_f30 += temp_f28;
|
temp_f30 += temp_f28;
|
||||||
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
|
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
|
BoardModelPosGet(lbl_1_bss_30[15], &sp8);
|
||||||
sp8.z -= 90.0f;
|
sp8.z -= 90.0f;
|
||||||
sp8.y += 50.0f;
|
sp8.y += 50.0f;
|
||||||
BoardModelPosSetV(lbl_1_bss_30[6], &sp8);
|
BoardModelPosSetV(lbl_1_bss_30[6], &sp8);
|
||||||
for(temp_r31=0; temp_r31<10; temp_r31++) {
|
for (temp_r31 = 0; temp_r31 < 10; temp_r31++) {
|
||||||
sp14.x = sp14.y = sp14.z = temp_r31*0.1f;
|
sp14.x = sp14.y = sp14.z = temp_r31 * 0.1f;
|
||||||
if(sp14.x > 1.0f) {
|
if (sp14.x > 1.0f) {
|
||||||
sp14.x = sp14.y = sp14.z = 1.0f;
|
sp14.x = sp14.y = sp14.z = 1.0f;
|
||||||
}
|
}
|
||||||
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
||||||
temp_f31 += temp_f29;
|
temp_f31 += temp_f29;
|
||||||
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
|
BoardModelRotYSet(lbl_1_bss_30[5], temp_f31);
|
||||||
temp_f30 += temp_f28;
|
temp_f30 += temp_f28;
|
||||||
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
|
BoardModelRotYSet(lbl_1_bss_30[15], temp_f30);
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
sp14.x = sp14.y = sp14.z = 1.0f;
|
sp14.x = sp14.y = sp14.z = 1.0f;
|
||||||
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
BoardModelScaleSetV(lbl_1_bss_30[6], &sp14);
|
||||||
BoardModelRotYSet(lbl_1_bss_30[5], 0);
|
BoardModelRotYSet(lbl_1_bss_30[5], 0);
|
||||||
BoardModelRotYSet(lbl_1_bss_30[15], 0);
|
BoardModelRotYSet(lbl_1_bss_30[15], 0);
|
||||||
HuPrcEnd();
|
HuPrcEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_E2AC(void)
|
s32 fn_1_E2AC(void)
|
||||||
{
|
{
|
||||||
switch(GWSystem.star_pos) {
|
switch (GWSystem.star_pos) {
|
||||||
case 0:
|
case 0:
|
||||||
return 3;
|
return 3;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
case 4:
|
case 4:
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case 5:
|
case 5:
|
||||||
case 6:
|
case 6:
|
||||||
case 7:
|
case 7:
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Rotate (yaw) of model 4 */
|
/* Rotate (yaw) of model 4 */
|
||||||
void fn_1_E310(f32 degrees) {
|
void fn_1_E310(f32 degrees)
|
||||||
Point3d spC;
|
{
|
||||||
|
Vec spC;
|
||||||
lbl_1_bss_380 += degrees;
|
lbl_1_bss_380 += degrees;
|
||||||
if (lbl_1_bss_380 >= 360.0f) {
|
if (lbl_1_bss_380 >= 360.0f) {
|
||||||
lbl_1_bss_380 -= 360.0f;
|
lbl_1_bss_380 -= 360.0f;
|
||||||
|
|
@ -804,11 +808,11 @@ void fn_1_E310(f32 degrees) {
|
||||||
|
|
||||||
void fn_1_E41C(void)
|
void fn_1_E41C(void)
|
||||||
{
|
{
|
||||||
lbl_1_bss_388 = GWSystem.player_curr;
|
lbl_1_bss_388 = GWSystem.player_curr;
|
||||||
OSReport("Roulette Player %d\n", lbl_1_bss_388);
|
OSReport("Roulette Player %d\n", lbl_1_bss_388);
|
||||||
lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc);
|
lbl_1_bss_38C = HuPrcChildCreate(fn_1_BCFC, 8195, 8192, 0, boardMainProc);
|
||||||
HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); //fn_1_BE74 requires implicit return
|
HuPrcDestructorSet2(lbl_1_bss_38C, (void *)fn_1_BE74); // fn_1_BE74 requires implicit return
|
||||||
while(lbl_1_bss_38C) {
|
while (lbl_1_bss_38C) {
|
||||||
HuPrcVSleep();
|
HuPrcVSleep();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -134,9 +134,9 @@ void fn_1_7C98(void)
|
||||||
|
|
||||||
s32 fn_1_7D18(s32 arg0)
|
s32 fn_1_7D18(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp38;
|
Vec sp38;
|
||||||
Point3d sp2C;
|
Vec sp2C;
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
|
|
@ -259,7 +259,7 @@ s32 lbl_1_data_490[] = {
|
||||||
|
|
||||||
void fn_1_81E0(s32 arg0)
|
void fn_1_81E0(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
omObjData *temp_r3;
|
omObjData *temp_r3;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
s32 temp_r28;
|
s32 temp_r28;
|
||||||
|
|
@ -499,7 +499,7 @@ s32 lbl_1_data_4B4[] = { 0x00000440, 0x00000441, 0x00000442, 0x00000443, 0x00000
|
||||||
|
|
||||||
void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
|
void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
|
||||||
{
|
{
|
||||||
Point3d spC;
|
Vec spC;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
s8 temp_r27;
|
s8 temp_r27;
|
||||||
|
|
@ -535,7 +535,7 @@ void fn_1_8C08(omObjData *arg0, someBits3 *arg1)
|
||||||
|
|
||||||
void fn_1_8E44(omObjData *arg0, someBits3 *arg1)
|
void fn_1_8E44(omObjData *arg0, someBits3 *arg1)
|
||||||
{
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f1;
|
f32 temp_f1;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
|
|
||||||
|
|
@ -611,9 +611,9 @@ void fn_1_91B8(void)
|
||||||
|
|
||||||
void fn_1_9230(s32 arg0)
|
void fn_1_9230(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
s16 temp_r30;
|
s16 temp_r30;
|
||||||
f32 rotY;
|
f32 rotY;
|
||||||
|
|
||||||
|
|
@ -747,7 +747,7 @@ void fn_1_95B8(omObjData *arg0)
|
||||||
|
|
||||||
void fn_1_97F8(s32 arg0)
|
void fn_1_97F8(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f2;
|
f32 temp_f2;
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
f64 temp_f1;
|
f64 temp_f1;
|
||||||
|
|
|
||||||
|
|
@ -794,9 +794,9 @@ void fn_1_B350(omObjData *arg0)
|
||||||
|
|
||||||
void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
|
void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
|
||||||
{
|
{
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
s8 temp_r0;
|
s8 temp_r0;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
@ -827,7 +827,7 @@ void fn_1_B4AC(omObjData *arg0, someBits2 *arg1)
|
||||||
|
|
||||||
void fn_1_B688(omObjData *arg0, someBits2 *arg1)
|
void fn_1_B688(omObjData *arg0, someBits2 *arg1)
|
||||||
{
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
|
|
||||||
if (arg1->unk1-- != 0) {
|
if (arg1->unk1-- != 0) {
|
||||||
BoardModelPosGet(arg1->unk_06[arg1->unk2], &sp8);
|
BoardModelPosGet(arg1->unk_06[arg1->unk2], &sp8);
|
||||||
|
|
@ -844,7 +844,7 @@ void fn_1_B688(omObjData *arg0, someBits2 *arg1)
|
||||||
void fn_1_B748(omObjData *arg0, someBits2 *arg1)
|
void fn_1_B748(omObjData *arg0, someBits2 *arg1)
|
||||||
{
|
{
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f0;
|
f32 temp_f0;
|
||||||
s16 temp_r29;
|
s16 temp_r29;
|
||||||
|
|
||||||
|
|
@ -877,8 +877,8 @@ void fn_1_B748(omObjData *arg0, someBits2 *arg1)
|
||||||
|
|
||||||
void fn_1_B8E8(s32 arg0)
|
void fn_1_B8E8(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
someBits2 *temp_r31;
|
someBits2 *temp_r31;
|
||||||
f32 temp;
|
f32 temp;
|
||||||
|
|
@ -975,7 +975,7 @@ 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;
|
Vec sp8;
|
||||||
f32 temp_f30;
|
f32 temp_f30;
|
||||||
f32 temp_f29;
|
f32 temp_f29;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,29 @@
|
||||||
#include "dolphin.h"
|
|
||||||
#include "game/object.h"
|
|
||||||
#include "REL/w03Dll.h"
|
#include "REL/w03Dll.h"
|
||||||
|
#include "dolphin.h"
|
||||||
#include "game/board/main.h"
|
#include "game/board/main.h"
|
||||||
#include "game/board/model.h"
|
#include "game/board/model.h"
|
||||||
#include "game/board/player.h"
|
#include "game/board/player.h"
|
||||||
#include "game/hsfdraw.h"
|
#include "game/hsfdraw.h"
|
||||||
|
#include "game/object.h"
|
||||||
|
|
||||||
|
|
||||||
#include "ext_math.h"
|
#include "ext_math.h"
|
||||||
|
|
||||||
//BSS
|
// BSS
|
||||||
char lbl_1_bss_130[8];
|
char lbl_1_bss_130[8];
|
||||||
omObjData* lbl_1_bss_12C;
|
omObjData *lbl_1_bss_12C;
|
||||||
s16 lbl_1_bss_128;
|
s16 lbl_1_bss_128;
|
||||||
s32 lbl_1_bss_124;
|
s32 lbl_1_bss_124;
|
||||||
Process* lbl_1_bss_120;
|
Process *lbl_1_bss_120;
|
||||||
|
|
||||||
//function signatures
|
// function signatures
|
||||||
void fn_1_67F8(void);
|
void fn_1_67F8(void);
|
||||||
void fn_1_6884(void);
|
void fn_1_6884(void);
|
||||||
void fn_1_767C(omObjData* arg0);
|
void fn_1_767C(omObjData *arg0);
|
||||||
s32 fn_1_6898(s32 arg0);
|
s32 fn_1_6898(s32 arg0);
|
||||||
void fn_1_6B98(s32 arg0);
|
void fn_1_6B98(s32 arg0);
|
||||||
void fn_1_6F9C(s32 arg0);
|
void fn_1_6F9C(s32 arg0);
|
||||||
void fn_1_767C(omObjData* arg0);
|
void fn_1_767C(omObjData *arg0);
|
||||||
void fn_1_735C(s32 arg0);
|
void fn_1_735C(s32 arg0);
|
||||||
void fn_1_77E4(s32 arg0);
|
void fn_1_77E4(s32 arg0);
|
||||||
|
|
||||||
|
|
@ -34,43 +35,37 @@ typedef struct unkWorkStruct {
|
||||||
f32 unk_04;
|
f32 unk_04;
|
||||||
} unkWorkStruct;
|
} unkWorkStruct;
|
||||||
|
|
||||||
//data
|
// data
|
||||||
s32 lbl_1_data_368[] = {
|
s32 lbl_1_data_368[] = { 0x00000105, 0x00000145, 0x00000185, 0x000001C5, 0x00000205, 0x00000245, 0x00000285, 0x000002C5 };
|
||||||
0x00000105, 0x00000145, 0x00000185,
|
|
||||||
0x000001C5, 0x00000205, 0x00000245,
|
|
||||||
0x00000285, 0x000002C5
|
|
||||||
};
|
|
||||||
|
|
||||||
s16 lbl_1_data_388 = -1;
|
s16 lbl_1_data_388 = -1;
|
||||||
s16 lbl_1_data_38A = -1;
|
s16 lbl_1_data_38A = -1;
|
||||||
s16 lbl_1_data_38C = -1;
|
s16 lbl_1_data_38C = -1;
|
||||||
s32 lbl_1_data_390[] = {
|
s32 lbl_1_data_390[] = { DATA_MAKE_NUM(DATADIR_W03, 0x26), DATA_MAKE_NUM(DATADIR_W03, 0x27), DATA_MAKE_NUM(DATADIR_W03, 0x28), DATA_NUM_LISTEND };
|
||||||
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) {
|
void fn_1_63F4(s32 arg0)
|
||||||
|
{
|
||||||
Vec spC;
|
Vec spC;
|
||||||
unkWorkStruct* work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
|
unkWorkStruct *work = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
|
||||||
|
|
||||||
work->unk_04 = 0.0f;
|
work->unk_04 = 0.0f;
|
||||||
|
|
||||||
BoardModelPosGet(lbl_1_data_388, &spC);
|
BoardModelPosGet(lbl_1_data_388, &spC);
|
||||||
if (arg0 != 0) {
|
if (arg0 != 0) {
|
||||||
spC.y = -185.0f;
|
spC.y = -185.0f;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
spC.y = 10.0f;
|
spC.y = 10.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
BoardModelPosSetV(lbl_1_data_388, &spC);
|
BoardModelPosSetV(lbl_1_data_388, &spC);
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_6494(void) {
|
void fn_1_6494(void)
|
||||||
|
{
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
unkWorkStruct* temp_r31;
|
unkWorkStruct *temp_r31;
|
||||||
|
|
||||||
lbl_1_data_388 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0E), 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_38C = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0F), NULL, 0);
|
||||||
|
|
@ -83,14 +78,15 @@ void fn_1_6494(void) {
|
||||||
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
|
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
|
||||||
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
|
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
|
||||||
BoardModelPosSetV(lbl_1_data_388, &sp14);
|
BoardModelPosSetV(lbl_1_data_388, &sp14);
|
||||||
lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void*)fn_1_767C);
|
lbl_1_bss_12C = omAddObjEx(boardObjMan, 0x101, 0, 0, -1, (void *)fn_1_767C);
|
||||||
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
|
temp_r31 = OM_GET_WORK_PTR(lbl_1_bss_12C, unkWorkStruct);
|
||||||
temp_r31->temp1 = 0;
|
temp_r31->temp1 = 0;
|
||||||
temp_r31->unk_04 = 0.0f;
|
temp_r31->unk_04 = 0.0f;
|
||||||
lbl_1_bss_124 = 0;
|
lbl_1_bss_124 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
s32 fn_1_6698(void) {
|
s32 fn_1_6698(void)
|
||||||
|
{
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
|
|
||||||
|
|
@ -98,11 +94,12 @@ s32 fn_1_6698(void) {
|
||||||
BoardSpaceFlagPosGet(0, 0x200, &sp8);
|
BoardSpaceFlagPosGet(0, 0x200, &sp8);
|
||||||
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
|
sp14.x = sp8.x + (400.0 * sin(-(M_PI / 2)));
|
||||||
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
|
sp14.z = sp8.z + (400.0 * cos(-(M_PI / 2)));
|
||||||
BoardModelPosSetV(lbl_1_data_388, (Point3d* ) &sp14);
|
BoardModelPosSetV(lbl_1_data_388, (Vec *)&sp14);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
s16 fn_1_675C(void) {
|
s16 fn_1_675C(void)
|
||||||
|
{
|
||||||
BoardRollDispSet(0);
|
BoardRollDispSet(0);
|
||||||
lbl_1_bss_120 = HuPrcChildCreate(fn_1_67F8, 0x2003, 0x2000, 0, boardMainProc);
|
lbl_1_bss_120 = HuPrcChildCreate(fn_1_67F8, 0x2003, 0x2000, 0, boardMainProc);
|
||||||
HuPrcDestructorSet2(lbl_1_bss_120, fn_1_6884);
|
HuPrcDestructorSet2(lbl_1_bss_120, fn_1_6884);
|
||||||
|
|
@ -115,7 +112,8 @@ s16 fn_1_675C(void) {
|
||||||
return lbl_1_bss_128;
|
return lbl_1_bss_128;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_67F8(void) {
|
void fn_1_67F8(void)
|
||||||
|
{
|
||||||
s32 temp_r31;
|
s32 temp_r31;
|
||||||
|
|
||||||
temp_r31 = GWSystem.player_curr;
|
temp_r31 = GWSystem.player_curr;
|
||||||
|
|
@ -133,7 +131,8 @@ void fn_1_67F8(void) {
|
||||||
HuPrcEnd();
|
HuPrcEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_6884(void) {
|
void fn_1_6884(void)
|
||||||
|
{
|
||||||
lbl_1_bss_120 = 0;
|
lbl_1_bss_120 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -144,15 +143,16 @@ typedef struct unkPos {
|
||||||
} unkPos;
|
} unkPos;
|
||||||
|
|
||||||
unkPos lbl_1_data_3B8[6] = {
|
unkPos lbl_1_data_3B8[6] = {
|
||||||
{5, 20, 5},
|
{ 5, 20, 5 },
|
||||||
{21, 35, 7},
|
{ 21, 35, 7 },
|
||||||
{31, 50, 10},
|
{ 31, 50, 10 },
|
||||||
{51, 80, 15},
|
{ 51, 80, 15 },
|
||||||
{81, 100, 17},
|
{ 81, 100, 17 },
|
||||||
{101, 999, 20},
|
{ 101, 999, 20 },
|
||||||
};
|
};
|
||||||
|
|
||||||
s32 fn_1_6898(s32 arg0) {
|
s32 fn_1_6898(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp20;
|
Vec sp20;
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
|
|
@ -216,17 +216,17 @@ s32 fn_1_6898(s32 arg0) {
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
|
|
||||||
switch (BoardWinChoiceGet()) {
|
switch (BoardWinChoiceGet()) {
|
||||||
case 0:
|
case 0:
|
||||||
j = 1;
|
j = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
case -1:
|
case -1:
|
||||||
BoardWinCreate(2, MAKE_MESSID(22, 14), 2);
|
BoardWinCreate(2, MAKE_MESSID(22, 14), 2);
|
||||||
BoardWinWait();
|
BoardWinWait();
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
BoardViewMapExec(arg0);
|
BoardViewMapExec(arg0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -245,11 +245,12 @@ s32 fn_1_6898(s32 arg0) {
|
||||||
|
|
||||||
s32 BoardDAngleCalcRange(float *value, float min, float range);
|
s32 BoardDAngleCalcRange(float *value, float min, float range);
|
||||||
|
|
||||||
void fn_1_6B98(s32 arg0) {
|
void fn_1_6B98(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp30;
|
Vec sp30;
|
||||||
Point3d sp24;
|
Vec sp24;
|
||||||
Vec sp18;
|
Vec sp18;
|
||||||
Point3d spC;
|
Vec spC;
|
||||||
f32 sp8;
|
f32 sp8;
|
||||||
f32 temp_f1;
|
f32 temp_f1;
|
||||||
f32 temp_f31;
|
f32 temp_f31;
|
||||||
|
|
@ -287,12 +288,12 @@ void fn_1_6B98(s32 arg0) {
|
||||||
VECAdd(&spC, &sp24, &sp24);
|
VECAdd(&spC, &sp24, &sp24);
|
||||||
temp_f1 = BoardModelMotionTimeGet(lbl_1_data_38A);
|
temp_f1 = BoardModelMotionTimeGet(lbl_1_data_38A);
|
||||||
|
|
||||||
if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16) var_r31 == 0)) {
|
if ((temp_f1 >= 5.0f) && (temp_f1 < 15.0f) && ((s16)var_r31 == 0)) {
|
||||||
HuAudFXPlay(0x451);
|
HuAudFXPlay(0x451);
|
||||||
var_r31 = 1;
|
var_r31 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16) var_r31 != 0)) {
|
if ((BoardModelMotionTimeGet(lbl_1_data_38A) >= 21.0f) && ((s16)var_r31 != 0)) {
|
||||||
var_r31 = 0;
|
var_r31 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -321,7 +322,8 @@ void fn_1_6B98(s32 arg0) {
|
||||||
extern s32 lbl_1_data_368[];
|
extern s32 lbl_1_data_368[];
|
||||||
// extern w03State* lbl_1_bss_0;
|
// extern w03State* lbl_1_bss_0;
|
||||||
|
|
||||||
void fn_1_6F9C(s32 arg0) {
|
void fn_1_6F9C(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp20;
|
Vec sp20;
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Vec sp8;
|
Vec sp8;
|
||||||
|
|
@ -344,7 +346,8 @@ void fn_1_6F9C(s32 arg0) {
|
||||||
var_f30 = 10.0f;
|
var_f30 = 10.0f;
|
||||||
var_f29 = 0.21f;
|
var_f29 = 0.21f;
|
||||||
sp14.y += sp20.y;
|
sp14.y += sp20.y;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
var_f30 = 0.0f;
|
var_f30 = 0.0f;
|
||||||
var_f29 = 0.15f;
|
var_f29 = 0.15f;
|
||||||
}
|
}
|
||||||
|
|
@ -373,7 +376,8 @@ void fn_1_6F9C(s32 arg0) {
|
||||||
|
|
||||||
if (GWPlayer[arg0].bowser_suit != 0) {
|
if (GWPlayer[arg0].bowser_suit != 0) {
|
||||||
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
|
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
|
BoardModelHookSet(lbl_1_data_388, "chara01", BoardPlayerModelGet(arg0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -381,10 +385,11 @@ void fn_1_6F9C(s32 arg0) {
|
||||||
lbl_1_bss_124 = 0;
|
lbl_1_bss_124 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_735C(s32 arg0) {
|
void fn_1_735C(s32 arg0)
|
||||||
|
{
|
||||||
Vec sp20;
|
Vec sp20;
|
||||||
Vec sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp_f1;
|
f32 temp_f1;
|
||||||
f32 var_f30;
|
f32 var_f30;
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
|
|
@ -406,7 +411,8 @@ void fn_1_735C(s32 arg0) {
|
||||||
BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE);
|
BoardPlayerMotionShiftSet(arg0, 4, 0.0f, 10.0f, HU3D_MOTATTR_NONE);
|
||||||
if (lbl_1_bss_0->unk0 != 0) {
|
if (lbl_1_bss_0->unk0 != 0) {
|
||||||
var_f30 = 0.25f;
|
var_f30 = 0.25f;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
var_f30 = 0.2f;
|
var_f30 = 0.2f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -441,15 +447,15 @@ void fn_1_735C(s32 arg0) {
|
||||||
BoardWinKill();
|
BoardWinKill();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void fn_1_767C(omObjData *arg0)
|
||||||
void fn_1_767C(omObjData* arg0) {
|
{
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
s32 temp_r30;
|
s32 temp_r30;
|
||||||
unkWorkStruct* temp_r31;
|
unkWorkStruct *temp_r31;
|
||||||
|
|
||||||
temp_r31 = OM_GET_WORK_PTR(arg0, unkWorkStruct);
|
temp_r31 = OM_GET_WORK_PTR(arg0, unkWorkStruct);
|
||||||
|
|
||||||
if ( (temp_r31->temp1 != 0) || (BoardIsKill() != 0)) {
|
if ((temp_r31->temp1 != 0) || (BoardIsKill() != 0)) {
|
||||||
lbl_1_bss_12C = NULL;
|
lbl_1_bss_12C = NULL;
|
||||||
omDelObjEx(HuPrcCurrentGet(), arg0);
|
omDelObjEx(HuPrcCurrentGet(), arg0);
|
||||||
return;
|
return;
|
||||||
|
|
@ -466,7 +472,8 @@ void fn_1_767C(omObjData* arg0) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void fn_1_77E4(s32 arg0) {
|
void fn_1_77E4(s32 arg0)
|
||||||
|
{
|
||||||
s32 boardIndex;
|
s32 boardIndex;
|
||||||
s32 var_r30 = 0;
|
s32 var_r30 = 0;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
#include "game/objsub.h"
|
#include "game/objsub.h"
|
||||||
#include "game/process.h"
|
#include "game/process.h"
|
||||||
|
|
||||||
|
|
||||||
#include "ext_math.h"
|
#include "ext_math.h"
|
||||||
|
|
||||||
void fn_1_1358(void);
|
void fn_1_1358(void);
|
||||||
|
|
@ -142,11 +141,11 @@ s32 fn_1_15E8(void)
|
||||||
|
|
||||||
s32 fn_1_1650(s32 arg0)
|
s32 fn_1_1650(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp38;
|
Vec sp38;
|
||||||
Point3d sp2C;
|
Vec sp2C;
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp;
|
f32 temp;
|
||||||
s32 temp2;
|
s32 temp2;
|
||||||
|
|
||||||
|
|
@ -356,7 +355,7 @@ s32 fn_1_1D1C(void)
|
||||||
|
|
||||||
void fn_1_1ED4(s32 arg0)
|
void fn_1_1ED4(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d spC;
|
Vec spC;
|
||||||
f32 sp8;
|
f32 sp8;
|
||||||
|
|
||||||
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0C), NULL, 0);
|
lbl_1_data_284 = BoardModelCreate(DATA_MAKE_NUM(DATADIR_W03, 0x0C), NULL, 0);
|
||||||
|
|
@ -400,9 +399,9 @@ void fn_1_1ED4(s32 arg0)
|
||||||
|
|
||||||
void fn_1_20E0(s32 arg0)
|
void fn_1_20E0(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp24;
|
Vec sp24;
|
||||||
Point3d sp18;
|
Vec sp18;
|
||||||
Point3d spC;
|
Vec spC;
|
||||||
f32 sp8;
|
f32 sp8;
|
||||||
f32 var_f31;
|
f32 var_f31;
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|
@ -520,9 +519,9 @@ void fn_1_20E0(s32 arg0)
|
||||||
|
|
||||||
void fn_1_26E0(s32 arg0)
|
void fn_1_26E0(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d sp20;
|
Vec sp20;
|
||||||
Point3d sp14;
|
Vec sp14;
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
f32 temp;
|
f32 temp;
|
||||||
|
|
||||||
BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp20);
|
BoardSpacePosGet(0, GWPlayer[arg0].space_curr, &sp20);
|
||||||
|
|
|
||||||
|
|
@ -1202,7 +1202,7 @@ void PSMTXReflect(register Mtx m, const register Vec *p, const register Vec *n)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void C_MTXLookAt(Mtx m, const Point3d *camPos, const Vec *camUp, const Point3d *target)
|
void C_MTXLookAt(Mtx m, const Vec *camPos, const Vec *camUp, const Vec *target)
|
||||||
{
|
{
|
||||||
Vec vLook, vRight, vUp;
|
Vec vLook, vRight, vUp;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
#include "ext_math.h"
|
||||||
#include "game/board/main.h"
|
#include "game/board/main.h"
|
||||||
#include "game/board/model.h"
|
#include "game/board/model.h"
|
||||||
#include "game/board/player.h"
|
#include "game/board/player.h"
|
||||||
|
|
@ -6,7 +7,7 @@
|
||||||
#include "game/flag.h"
|
#include "game/flag.h"
|
||||||
#include "game/objsub.h"
|
#include "game/objsub.h"
|
||||||
#include "game/process.h"
|
#include "game/process.h"
|
||||||
#include "ext_math.h"
|
|
||||||
|
|
||||||
#define BLOCK_SPAWN 0
|
#define BLOCK_SPAWN 0
|
||||||
#define BLOCK_HIT 2
|
#define BLOCK_HIT 2
|
||||||
|
|
@ -89,7 +90,7 @@ static void BlockProc(void)
|
||||||
s32 sp14[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x60), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x60),
|
s32 sp14[8] = { DATA_MAKE_NUM(DATADIR_MARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_LUIGIMOT, 0x60), DATA_MAKE_NUM(DATADIR_PEACHMOT, 0x60),
|
||||||
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x60), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x60),
|
DATA_MAKE_NUM(DATADIR_YOSHIMOT, 0x60), DATA_MAKE_NUM(DATADIR_WARIOMOT, 0x60), DATA_MAKE_NUM(DATADIR_DONKEYMOT, 0x60),
|
||||||
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x60), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x60) };
|
DATA_MAKE_NUM(DATADIR_DAISYMOT, 0x60), DATA_MAKE_NUM(DATADIR_WALUIGIMOT, 0x60) };
|
||||||
Point3d sp8;
|
Vec sp8;
|
||||||
s32 var_r28;
|
s32 var_r28;
|
||||||
s32 i;
|
s32 i;
|
||||||
s32 player;
|
s32 player;
|
||||||
|
|
@ -191,7 +192,7 @@ static void DestroyBlock(void)
|
||||||
|
|
||||||
static void CreateBlockObj(s32 arg0)
|
static void CreateBlockObj(s32 arg0)
|
||||||
{
|
{
|
||||||
Point3d player_pos;
|
Vec player_pos;
|
||||||
BlockWork *work;
|
BlockWork *work;
|
||||||
s8 contains_star;
|
s8 contains_star;
|
||||||
|
|
||||||
|
|
@ -422,7 +423,7 @@ static inline s32 FindCoinModel(s16 *out_model)
|
||||||
|
|
||||||
static void PopupCoin(void)
|
static void PopupCoin(void)
|
||||||
{
|
{
|
||||||
Point3d star_pos;
|
Vec star_pos;
|
||||||
omObjData *coinObj;
|
omObjData *coinObj;
|
||||||
s32 model_index;
|
s32 model_index;
|
||||||
s16 model;
|
s16 model;
|
||||||
|
|
@ -451,8 +452,8 @@ static void PopupCoin(void)
|
||||||
|
|
||||||
static void PopupCoinExec(omObjData *obj)
|
static void PopupCoinExec(omObjData *obj)
|
||||||
{
|
{
|
||||||
Point3d coin_pos;
|
Vec coin_pos;
|
||||||
Point3d coin_rot;
|
Vec coin_rot;
|
||||||
CoinWork *work;
|
CoinWork *work;
|
||||||
|
|
||||||
work = OM_GET_WORK_PTR(obj, CoinWork);
|
work = OM_GET_WORK_PTR(obj, CoinWork);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue