match m407dll, some cleanup as well
This commit is contained in:
parent
34a7ca2006
commit
4e2c3b7631
12 changed files with 692 additions and 212 deletions
|
|
@ -224,7 +224,7 @@ lbl_1_data_218 = .data:0x00000218; // type:object size:0xC
|
|||
lbl_1_data_228 = .data:0x00000228; // type:object size:0x10 data:4byte
|
||||
lbl_1_data_238 = .data:0x00000238; // type:object size:0x20 data:4byte
|
||||
lbl_1_data_258 = .data:0x00000258; // type:object size:0x14
|
||||
lbl_1_data_26C = .data:0x0000026C; // type:object size:0xB data:string
|
||||
lbl_1_data_26C = .data:0x0000026C; // type:object size:0xB scope:local data:string
|
||||
lbl_1_data_278 = .data:0x00000278; // type:object size:0xC
|
||||
lbl_1_data_288 = .data:0x00000288; // type:object size:0x14
|
||||
lbl_1_data_29C = .data:0x0000029C; // type:object size:0x8
|
||||
|
|
|
|||
|
|
@ -837,7 +837,7 @@ config.libs = [
|
|||
Object(Matching, "REL/m407dll/player.c"),
|
||||
Object(Matching, "REL/m407dll/map.c"),
|
||||
Object(Matching, "REL/m407dll/camera.c"),
|
||||
Object(NonMatching, "REL/m407dll/whomp.c"),
|
||||
Object(Matching, "REL/m407dll/whomp.c"),
|
||||
Object(Matching, "REL/m407dll/whomp_score.c"),
|
||||
Object(Matching, "REL/m407dll/effect.c"),
|
||||
Object(Matching, "REL/m407dll/main.c"),
|
||||
|
|
|
|||
|
|
@ -4,6 +4,21 @@
|
|||
|
||||
#define M_PI 3.141592653589793
|
||||
|
||||
typedef struct unkDominationData2 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ Point3d unk_08;
|
||||
/* 0x14 */ Point3d unk_14;
|
||||
/* 0x20 */ f32 unk_20;
|
||||
/* 0x24 */ Point3d unk_24;
|
||||
/* 0x30 */ Point3d unk_30;
|
||||
/* 0x3C */ f32 unk_3C;
|
||||
/* 0x40 */ s32 unk_40;
|
||||
/* 0x44 */ f32 unk_44;
|
||||
/* 0x48 */ f32 unk_48;
|
||||
} unkDominationData2; //sizeof 0x4C
|
||||
|
||||
//function signatures
|
||||
void fn_1_1CAC(f32, f32, f32);
|
||||
void fn_1_1D08(f32, f32, f32);
|
||||
void fn_1_1D64(f32);
|
||||
|
|
@ -11,31 +26,18 @@ void fn_1_2024(omObjData*);
|
|||
double cos(double x);
|
||||
double sin(double x);
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_34;
|
||||
omObjData* lbl_1_bss_30;
|
||||
|
||||
typedef struct unkDominationData2 {
|
||||
s32 unk_00;
|
||||
s32 unk_04;
|
||||
Point3d unk_08;
|
||||
Point3d unk_14;
|
||||
f32 unk_20;
|
||||
Point3d unk_24;
|
||||
Point3d unk_30;
|
||||
f32 unk_3C;
|
||||
s32 unk_40;
|
||||
f32 unk_44;
|
||||
f32 unk_48;
|
||||
} unkDominationData2;
|
||||
|
||||
void fn_1_1B1C(Process* arg0) {
|
||||
unkDominationData2* unkData;
|
||||
|
||||
lbl_1_bss_34 = arg0;
|
||||
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0f, 480.0f, 0.0f, 1.0f);
|
||||
Hu3DCameraPerspectiveSet(1, 45.0f, 10.0f, 40000.0f, 1.2f);
|
||||
lbl_1_bss_30 = omAddObjEx(lbl_1_bss_34, 0x80, 0U, 0U, -1, fn_1_2024);
|
||||
lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData2), 0x10000000);
|
||||
lbl_1_bss_30 = omAddObjEx(lbl_1_bss_34, 0x80, 0, 0, -1, fn_1_2024);
|
||||
lbl_1_bss_30->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData2), MEMORY_DEFAULT_NUM);
|
||||
unkData = OM_GET_DATA_PTR(lbl_1_bss_30, unkDominationData2);
|
||||
unkData->unk_04 = 0;
|
||||
fn_1_1CAC(0.0f, 0.0f, 0.0f);
|
||||
|
|
@ -151,10 +153,10 @@ void fn_1_2024(omObjData* arg0) {
|
|||
}
|
||||
break;
|
||||
case 2:
|
||||
var_f31 = (f32) sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0);
|
||||
var_f31 = sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0);
|
||||
break;
|
||||
case 3:
|
||||
var_f31 = (f32) sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0);
|
||||
var_f31 = sin((M_PI * (90.0f * temp_r31->unk_44)) / 180.0);
|
||||
if (temp_r31->unk_48 > 0.5) {
|
||||
temp_r31->unk_00 = 4;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,24 @@
|
|||
#include "game/hsfmotion.h"
|
||||
#include "game/hsfdraw.h"
|
||||
|
||||
typedef struct unkDominationData4 {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ u32 unk_04;
|
||||
/* 0x08 */ s32 unk_08;
|
||||
/* 0x0C */ s32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
/* 0x1C */ s32 unk_1C;
|
||||
} unkDominationData4; //size of 0x20
|
||||
|
||||
//function signatures
|
||||
void fn_1_4858(omObjData* arg0);
|
||||
void fn_1_485C(omObjData* arg0);
|
||||
void fn_1_46EC(omObjData* arg0);
|
||||
void fn_1_465C(omObjData* arg0, s32 arg1);
|
||||
void fn_1_4808(omObjData* arg0);
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_3970;
|
||||
omObjData* lbl_1_bss_37E0[100];
|
||||
|
|
@ -17,13 +35,6 @@ s32 lbl_1_data_288[] = {
|
|||
0x00260019
|
||||
};
|
||||
|
||||
//function signatures
|
||||
void fn_1_4858(omObjData* arg0);
|
||||
void fn_1_485C(omObjData* arg0);
|
||||
void fn_1_46EC(omObjData* arg0);
|
||||
void fn_1_465C(omObjData* arg0, s32 arg1);
|
||||
void fn_1_4808(omObjData* arg0);
|
||||
|
||||
ObjFuncs lbl_1_data_29C[] = {
|
||||
fn_1_4858,
|
||||
fn_1_485C,
|
||||
|
|
@ -38,7 +49,7 @@ void fn_1_41CC(Process* arg0) {
|
|||
temp_r30 = 0;
|
||||
|
||||
for (i = 0; i < 40; i++) {
|
||||
lbl_1_bss_37E0[i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1U, 0U, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[i]->work[0] = i;
|
||||
lbl_1_bss_37E0[i]->work[1] = 0;
|
||||
}
|
||||
|
|
@ -46,7 +57,7 @@ void fn_1_41CC(Process* arg0) {
|
|||
temp_r30 += i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1U, 0U, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i;
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[1] = 1;
|
||||
}
|
||||
|
|
@ -54,7 +65,7 @@ void fn_1_41CC(Process* arg0) {
|
|||
temp_r30 += i;
|
||||
|
||||
for (i = 0; i < 30; i++) {
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1U, 0U, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i;
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[1] = 2;
|
||||
}
|
||||
|
|
@ -62,7 +73,7 @@ void fn_1_41CC(Process* arg0) {
|
|||
temp_r30 += i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1U, 0U, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i;
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[1] = 3;
|
||||
}
|
||||
|
|
@ -70,7 +81,7 @@ void fn_1_41CC(Process* arg0) {
|
|||
temp_r30 += i;
|
||||
|
||||
for (i = 0; i < 22; i++) {
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1U, 0U, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i] = omAddObjEx(lbl_1_bss_3970, 0x800, 1, 0, 5, fn_1_46EC);
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[0] = temp_r30 + i;
|
||||
lbl_1_bss_37E0[temp_r30 + i]->work[1] = 4;
|
||||
}
|
||||
|
|
@ -84,24 +95,8 @@ void fn_1_44F4(void) {
|
|||
}
|
||||
}
|
||||
|
||||
typedef struct unkDominationData4 {
|
||||
u32 unk_00;
|
||||
u32 unk_04;
|
||||
s32 unk_08;
|
||||
s32 unk_0C;
|
||||
f32 unk_10;
|
||||
f32 unk_14;
|
||||
f32 unk_18;
|
||||
s32 unk_1C;
|
||||
} unkDominationData4;
|
||||
|
||||
void fn_1_4544(s32 arg0, s32 arg1, f32 arg2, f32 arg3, f32 arg4) {
|
||||
f32 sp14;
|
||||
f32 sp10;
|
||||
s32 spC;
|
||||
s32 sp8;
|
||||
omObjData* temp_r29;
|
||||
u32 var_r30;
|
||||
unkDominationData4* temp_r31;
|
||||
u32 i;
|
||||
|
||||
|
|
@ -140,25 +135,22 @@ void fn_1_4680(omObjData* arg0) {
|
|||
}
|
||||
|
||||
void fn_1_46EC(omObjData* arg0) {
|
||||
unkDominationData4* temp_r29;
|
||||
unkDominationData4* temp_r30;
|
||||
|
||||
arg0->func = fn_1_4680;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData4), 0x10000000);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData4), MEMORY_DEFAULT_NUM);
|
||||
temp_r30 = arg0->data;
|
||||
temp_r30->unk_00 = arg0->work[0];
|
||||
temp_r30->unk_08 = arg0->work[1];
|
||||
temp_r30->unk_1C = 0;
|
||||
*arg0->model = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_288[temp_r30->unk_08], 0x10000000, HEAP_DATA));
|
||||
Hu3DModelAttrSet(*arg0->model, 0x4000U);
|
||||
Hu3DModelAttrSet(*arg0->model, 0x40000002U);
|
||||
Hu3DModelAttrSet(*arg0->model, 1U);
|
||||
temp_r30->unk_10 = (f32) 0.0f;
|
||||
temp_r30->unk_14 = (f32) 0.0f;
|
||||
temp_r30->unk_18 = (f32) 0.0f;
|
||||
temp_r29 = arg0->data;
|
||||
temp_r29->unk_0C = 0;
|
||||
temp_r29->unk_1C = 0;
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_288[temp_r30->unk_08], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x4000);
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x40000002);
|
||||
Hu3DModelAttrSet(arg0->model[0], 1);
|
||||
temp_r30->unk_10 = 0.0f;
|
||||
temp_r30->unk_14 = 0.0f;
|
||||
temp_r30->unk_18 = 0.0f;
|
||||
fn_1_465C(arg0, 0);
|
||||
}
|
||||
|
||||
void fn_1_4808(omObjData* arg0) {
|
||||
|
|
@ -177,7 +169,6 @@ void fn_1_4858(omObjData* arg0) {
|
|||
}
|
||||
|
||||
void fn_1_485C(omObjData* arg0) {
|
||||
unkDominationData4* temp_r29;
|
||||
unkDominationData4* temp_r30;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
|
|
@ -197,9 +188,7 @@ void fn_1_485C(omObjData* arg0) {
|
|||
}
|
||||
|
||||
if (Hu3DMotionEndCheck(*arg0->model) != 0) {
|
||||
Hu3DModelAttrSet(*arg0->model, 1U);
|
||||
temp_r29 = arg0->data;
|
||||
temp_r29->unk_0C = 0;
|
||||
temp_r29->unk_1C = 0;
|
||||
Hu3DModelAttrSet(*arg0->model, 1);
|
||||
fn_1_465C(arg0, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,26 @@
|
|||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_3980;
|
||||
omObjData* lbl_1_bss_397C;
|
||||
s16 lbl_1_bss_3978;
|
||||
typedef void (*ObjFuncs)(void);
|
||||
|
||||
//func signatures
|
||||
typedef struct unkDominationData5 {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ s16 unk_04;
|
||||
/* 0x06 */ s16 unk_06;
|
||||
/* 0x08 */ s16 unk_08;
|
||||
/* 0x0A */ char unk_0A[6];
|
||||
/* 0x10 */ s16 unk_10;
|
||||
/* 0x12 */ char unk_12[10];
|
||||
/* 0x1C */ s16 unk_1C[4];
|
||||
/* 0x24 */ s16 unk_24;
|
||||
/* 0x26 */ char unk_26[2];
|
||||
/* 0x28 */ Vec unk_28;
|
||||
/* 0x34 */ Vec unk_34;
|
||||
/* 0x40 */ f32 unk_40;
|
||||
/* 0x44 */ s32 unk_44;
|
||||
} unkDominationData5; //sizeof 0x48
|
||||
|
||||
//function signatures
|
||||
void fn_1_388(u8, s32);
|
||||
void fn_1_3C4(u8);
|
||||
s32 fn_1_4C0(s32);
|
||||
|
|
@ -36,7 +50,11 @@ s16 fn_1_5804(void);
|
|||
void fn_1_5A80(void);
|
||||
void fn_1_5BB0(void);
|
||||
|
||||
typedef void (*ObjFuncs)(void);
|
||||
//bss
|
||||
Process* lbl_1_bss_3980;
|
||||
omObjData* lbl_1_bss_397C;
|
||||
s16 lbl_1_bss_3978;
|
||||
|
||||
//data
|
||||
ObjFuncs lbl_1_data_2A8[] = {
|
||||
fn_1_4D0C,
|
||||
|
|
@ -54,30 +72,27 @@ ObjFuncs lbl_1_data_2A8[] = {
|
|||
fn_1_4B7C
|
||||
};
|
||||
|
||||
typedef struct unkDominationData5 {
|
||||
u32 unk_00;
|
||||
s16 unk_04;
|
||||
s16 unk_06;
|
||||
s16 unk_08;
|
||||
char unk_0A[6];
|
||||
s16 unk_10;
|
||||
char unk_12[10];
|
||||
s16 unk_1C[4];
|
||||
s16 unk_24;
|
||||
char unk_26[2];
|
||||
Vec unk_28;
|
||||
Vec unk_34;
|
||||
f32 unk_40;
|
||||
s32 unk_44;
|
||||
} unkDominationData5;
|
||||
f32 lbl_1_data_2DC[4] = {850.0f, 900.0f, 1300.0f, 1500.0f};
|
||||
Vec lbl_1_data_2EC = {540.0f, 0.0f, 10000.0f};
|
||||
Vec lbl_1_data_2F8 = {-50.0f, -360.0f, 0.0f};
|
||||
f32 lbl_1_data_304 = 2670.0f;
|
||||
Vec lbl_1_data_308 = {437.0f, 0.0f, 5000.0f};
|
||||
Vec lbl_1_data_314 = {-50.0f, -360.0f, 0.0f};
|
||||
f32 lbl_1_data_320 = 2290.0f;
|
||||
Vec lbl_1_data_324 = {0.0f, 0.0f, 100.0f};
|
||||
Vec lbl_1_data_330 = {-45.0f, -540.0f, 0.0f};
|
||||
f32 lbl_1_data_33C = 1910.0f;
|
||||
Vec lbl_1_data_340 = {0.0f, 0.0f, 100.0f};
|
||||
Vec lbl_1_data_34C = {-53.0f, -680.0f, 0.0f};
|
||||
f32 lbl_1_data_358 = 1900.0f;
|
||||
|
||||
void fn_1_4980(Process* arg0) {
|
||||
s32 i;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
lbl_1_bss_3980 = arg0;
|
||||
lbl_1_bss_397C = omAddObjEx(lbl_1_bss_3980, 0x40, 0U, 0U, 0, fn_1_4C6C);
|
||||
lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData5), 0x10000000);
|
||||
lbl_1_bss_397C = omAddObjEx(lbl_1_bss_3980, 0x40, 0, 0, 0, fn_1_4C6C);
|
||||
lbl_1_bss_397C->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData5), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
Hu3DShadowCreate(45.0f, 10.0f, 10000.0f);
|
||||
Hu3DShadowTPLvlSet(0.6f);
|
||||
|
|
@ -158,28 +173,12 @@ void fn_1_4C6C(omObjData* obj) {
|
|||
|
||||
void fn_1_4D0C(void) {
|
||||
unkDominationData5* sp8;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
sp8 = lbl_1_bss_397C->data;
|
||||
fn_1_4C3C(1);
|
||||
}
|
||||
|
||||
f32 lbl_1_data_2DC[4] = {850.0f, 900.0f, 1300.0f, 1500.0f};
|
||||
Vec lbl_1_data_2EC = {540.0f, 0.0f, 10000.0f};
|
||||
Vec lbl_1_data_2F8 = {-50.0f, -360.0f, 0.0f};
|
||||
f32 lbl_1_data_304 = 2670.0f;
|
||||
Vec lbl_1_data_308 = {437.0f, 0.0f, 5000.0f};
|
||||
Vec lbl_1_data_314 = {-50.0f, -360.0f, 0.0f};
|
||||
f32 lbl_1_data_320 = 2290.0f;
|
||||
Vec lbl_1_data_324 = {0.0f, 0.0f, 100.0f};
|
||||
Vec lbl_1_data_330 = {-45.0f, -540.0f, 0.0f};
|
||||
f32 lbl_1_data_33C = 1910.0f;
|
||||
Vec lbl_1_data_340 = {0.0f, 0.0f, 100.0f};
|
||||
Vec lbl_1_data_34C = {-53.0f, -680.0f, 0.0f};
|
||||
f32 lbl_1_data_358 = 1900.0f;
|
||||
|
||||
void fn_1_4D54(void) {
|
||||
s16 temp_r0;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
@ -208,7 +207,6 @@ void fn_1_4D54(void) {
|
|||
|
||||
void fn_1_4E8C(void) {
|
||||
s32 i;
|
||||
unkDominationData5* temp_r29;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
@ -231,7 +229,6 @@ void fn_1_4E8C(void) {
|
|||
}
|
||||
|
||||
void fn_1_4FAC(void) {
|
||||
s16 temp_r0;
|
||||
unkDominationData5* temp_r31;
|
||||
|
||||
temp_r31 = lbl_1_bss_397C->data;
|
||||
|
|
|
|||
|
|
@ -5,14 +5,17 @@
|
|||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
//function signatures
|
||||
void fn_1_162C(omObjData*);
|
||||
void fn_1_1A8C(omObjData*);
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_2C;
|
||||
omObjData* lbl_1_bss_28;
|
||||
s16 lbl_1_bss_24;
|
||||
s32 lbl_1_bss_20;
|
||||
|
||||
//data
|
||||
s32 lbl_1_data_198[] = {
|
||||
0x00260000,
|
||||
0x00260002,
|
||||
|
|
@ -46,7 +49,7 @@ void fn_1_14F0(Process* arg0, s32 arg1) {
|
|||
|
||||
lbl_1_bss_2C = arg0;
|
||||
lbl_1_bss_20 = arg1;
|
||||
lbl_1_bss_28 = omAddObjEx(lbl_1_bss_2C, 0x100, 0xDU, 0U, 1, fn_1_162C);
|
||||
lbl_1_bss_28 = omAddObjEx(lbl_1_bss_2C, 0x100, 0xD, 0, 1, fn_1_162C);
|
||||
omSetStatBit(lbl_1_bss_28, 0x100U);
|
||||
Hu3DLighInit();
|
||||
lbl_1_bss_24 = Hu3DGLightCreateV(&lbl_1_data_1FC, &lbl_1_data_208, &lbl_1_data_214);
|
||||
|
|
@ -70,21 +73,21 @@ void fn_1_162C(omObjData* arg0) {
|
|||
s32 i;
|
||||
|
||||
arg0->func = fn_1_1A8C;
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[2], 0x10000000, HEAP_DATA));
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[2], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelShadowMapSet(arg0->model[0]);
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], 0x10000000, HEAP_DATA));
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[3], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAttrSet(arg0->model[1], 1U);
|
||||
for (i = 0; i < ARRAY_COUNT(GWPlayerCfg); i++) {
|
||||
arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], 0x10000000, HEAP_DATA));
|
||||
arg0->model[i+2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[GWPlayerCfg[i].character + 4], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[i + 2], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelShadowMapSet(arg0->model[i + 2]);
|
||||
}
|
||||
|
||||
for (i = 0; i < 5; i++) {
|
||||
if (i == 0) {
|
||||
arg0->model[i + 6] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[0], 0x10000000, HEAP_DATA));
|
||||
arg0->model[i + 6] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[0], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
} else {
|
||||
arg0->model[i + 6] = Hu3DModelLink(arg0->model[6]);
|
||||
}
|
||||
|
|
@ -92,8 +95,8 @@ void fn_1_162C(omObjData* arg0) {
|
|||
Hu3DModelShadowMapSet(arg0->model[i + 6]);
|
||||
}
|
||||
|
||||
arg0->model[11] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[12], 0x10000000, HEAP_DATA));
|
||||
arg0->model[12] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[1], 0x10000000, HEAP_DATA));
|
||||
arg0->model[11] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[12], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->model[12] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_198[1], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
Hu3DModelPosSetV(arg0->model[i + 2], &lbl_1_data_1CC[i]);
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
#include "rel_sqrt_consts.h"
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
typedef void (*ObjFuncs)(omObjData*);
|
||||
|
||||
//structs
|
||||
typedef struct unkDominationData {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
|
|
@ -32,13 +32,15 @@ typedef struct unkDominationData {
|
|||
s32 unk_38;
|
||||
} unkDominationData;
|
||||
|
||||
Process* lbl_1_bss_18;
|
||||
omObjData* lbl_1_bss_8[4];
|
||||
Process* lbl_1_bss_0[2];
|
||||
|
||||
//data
|
||||
typedef void (*ObjFuncs)(omObjData*);
|
||||
|
||||
//function signatures
|
||||
void fn_1_628(omObjData*, s32);
|
||||
void fn_1_64C(omObjData*);
|
||||
void fn_1_99C(omObjData*);
|
||||
void fn_1_A1C(omObjData* arg0);
|
||||
void fn_1_26CC(u8);
|
||||
void fn_1_4544(s32, s32, f32, f32, f32);
|
||||
s16 fn_1_28B8(u8);
|
||||
s16 fn_1_28E4(u8);
|
||||
void fn_1_A88(omObjData* arg0);
|
||||
void fn_1_A8C(omObjData* arg0);
|
||||
void fn_1_C58(omObjData* arg0);
|
||||
|
|
@ -49,19 +51,60 @@ void fn_1_1074(omObjData* arg0);
|
|||
void fn_1_11CC(omObjData* arg0);
|
||||
void fn_1_13E4(omObjData* arg0);
|
||||
void fn_1_1460(omObjData* arg0);
|
||||
|
||||
//function signatures
|
||||
void fn_1_628(omObjData*, s32);
|
||||
void fn_1_64C(omObjData*);
|
||||
void fn_1_99C(omObjData*);
|
||||
void fn_1_A1C(omObjData* arg0);
|
||||
void fn_1_26CC(u8);
|
||||
void fn_1_4544(s32, s32, f32, f32, f32);
|
||||
s16 fn_1_28B8(u8); //s32 fn_1_28B8(s32);
|
||||
s16 fn_1_28E4(u8);
|
||||
double cos(double x);
|
||||
double sin(double x);
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_18;
|
||||
omObjData* lbl_1_bss_8[4];
|
||||
Process* lbl_1_bss_0[2];
|
||||
|
||||
//data
|
||||
u32 lbl_1_data_0[8][8] = {
|
||||
{0x005F0000, 0x005F0024, 0x005F0029, 0x005F0005, 0x005F0006, 0x005F004A, 0x005F004B, 0x005F0018},
|
||||
{0x001A0000, 0x001A0024, 0x001A0029, 0x001A0005, 0x001A0006, 0x001A004A, 0x001A004B, 0x001A0018},
|
||||
{0x006D0000, 0x006D0024, 0x006D0029, 0x006D0005, 0x006D0006, 0x006D004A, 0x006D004B, 0x006D0018},
|
||||
{0x008A0000, 0x008A0024, 0x008A0029, 0x008A0005, 0x008A0006, 0x008A004A, 0x008A004B, 0x008A0018},
|
||||
{0x00850000, 0x00850024, 0x00850029, 0x00850005, 0x00850006, 0x0085004A, 0x0085004B, 0x00850018},
|
||||
{0x00110000, 0x00110024, 0x00110029, 0x00110005, 0x00110006, 0x0011004A, 0x0011004B, 0x00110018},
|
||||
{0x000D0000, 0x000D0024, 0x000D0029, 0x000D0005, 0x000D0006, 0x000D004A, 0x000D004B, 0x000D0018},
|
||||
{0x00810000, 0x00810024, 0x00810029, 0x00810005, 0x00810006, 0x0081004A, 0x0081004B, 0x00810018}
|
||||
};
|
||||
|
||||
s32 lbl_1_data_100[] = {0x0026000D, 0x0026000E, 0x0026000F, 0x00260010, 0x00260011, 0x00260012, 0x00260013, 0x00260014};
|
||||
|
||||
char lbl_1_data_120[] = "test11_tex_we-itemhook-r";
|
||||
char* lbl_1_data_13C[] = {
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120
|
||||
};
|
||||
|
||||
ObjFuncs lbl_1_data_15C[] = {
|
||||
fn_1_A88,
|
||||
fn_1_A8C,
|
||||
fn_1_C58,
|
||||
fn_1_CF4,
|
||||
fn_1_DB4,
|
||||
fn_1_F8C,
|
||||
fn_1_1074,
|
||||
fn_1_11CC,
|
||||
fn_1_13E4,
|
||||
fn_1_1460
|
||||
};
|
||||
|
||||
u8 lbl_1_data_184[4][2] = {
|
||||
{0x3C, 0x0F},
|
||||
{0x50, 0x0F},
|
||||
{0x64, 0x14},
|
||||
{0x78, 0x14}
|
||||
};
|
||||
|
||||
inline void SetDominationDataStuff(omObjData* arg0, s32 val0, s32 val1) {
|
||||
unkDominationData* temp_r29 = arg0->data;
|
||||
temp_r29->unk_1C = val0;
|
||||
|
|
@ -79,7 +122,7 @@ void fn_1_F4(Process* arg0) {
|
|||
lbl_1_bss_18 = arg0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_8[i] = omAddObjEx(lbl_1_bss_18, 0x100, 2U, 8U, 0, fn_1_64C);
|
||||
lbl_1_bss_8[i] = omAddObjEx(lbl_1_bss_18, 0x100, 2, 8, 0, fn_1_64C);
|
||||
lbl_1_bss_8[i]->work[0] = i;
|
||||
}
|
||||
}
|
||||
|
|
@ -210,55 +253,6 @@ void fn_1_628(omObjData* arg0, s32 arg1) {
|
|||
temp_r31->unk_20 = 0;
|
||||
}
|
||||
|
||||
typedef struct m407UnkDataStruct0 {
|
||||
u32 unk_00[8];
|
||||
} m407UnkDataStruct0;
|
||||
|
||||
m407UnkDataStruct0 lbl_1_data_0[] = {
|
||||
{0x005F0000, 0x005F0024, 0x005F0029, 0x005F0005, 0x005F0006, 0x005F004A, 0x005F004B, 0x005F0018},
|
||||
{0x001A0000, 0x001A0024, 0x001A0029, 0x001A0005, 0x001A0006, 0x001A004A, 0x001A004B, 0x001A0018},
|
||||
{0x006D0000, 0x006D0024, 0x006D0029, 0x006D0005, 0x006D0006, 0x006D004A, 0x006D004B, 0x006D0018},
|
||||
{0x008A0000, 0x008A0024, 0x008A0029, 0x008A0005, 0x008A0006, 0x008A004A, 0x008A004B, 0x008A0018},
|
||||
{0x00850000, 0x00850024, 0x00850029, 0x00850005, 0x00850006, 0x0085004A, 0x0085004B, 0x00850018},
|
||||
{0x00110000, 0x00110024, 0x00110029, 0x00110005, 0x00110006, 0x0011004A, 0x0011004B, 0x00110018},
|
||||
{0x000D0000, 0x000D0024, 0x000D0029, 0x000D0005, 0x000D0006, 0x000D004A, 0x000D004B, 0x000D0018},
|
||||
{0x00810000, 0x00810024, 0x00810029, 0x00810005, 0x00810006, 0x0081004A, 0x0081004B, 0x00810018}
|
||||
};
|
||||
s32 lbl_1_data_100[] = {0x0026000D, 0x0026000E, 0x0026000F, 0x00260010, 0x00260011, 0x00260012, 0x00260013, 0x00260014};
|
||||
|
||||
char lbl_1_data_120[] = "test11_tex_we-itemhook-r";
|
||||
|
||||
char* lbl_1_data_13C[] = {
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120,
|
||||
lbl_1_data_120
|
||||
};
|
||||
|
||||
ObjFuncs lbl_1_data_15C[] = {
|
||||
fn_1_A88,
|
||||
fn_1_A8C,
|
||||
fn_1_C58,
|
||||
fn_1_CF4,
|
||||
fn_1_DB4,
|
||||
fn_1_F8C,
|
||||
fn_1_1074,
|
||||
fn_1_11CC,
|
||||
fn_1_13E4,
|
||||
fn_1_1460
|
||||
};
|
||||
|
||||
typedef struct m407UnkDataStruct1 {
|
||||
u8 unk_00;
|
||||
u8 unk_01;
|
||||
} m407UnkDataStruct1;
|
||||
|
||||
m407UnkDataStruct1 lbl_1_data_184[] = {{0x3C, 0x0F}, {0x50, 0x0F}, {0x64, 0x14}, {0x78, 0x14}}; //???
|
||||
|
||||
void fn_1_64C(omObjData* arg0) {
|
||||
u32 temp_r29;
|
||||
unkDominationData* temp_r27;
|
||||
|
|
@ -266,7 +260,7 @@ void fn_1_64C(omObjData* arg0) {
|
|||
u32 i;
|
||||
|
||||
arg0->func = fn_1_A1C;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData), 0x10000000);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r29 = arg0->work[0];
|
||||
temp_r31->unk_00 = temp_r29;
|
||||
|
|
@ -279,15 +273,15 @@ void fn_1_64C(omObjData* arg0) {
|
|||
temp_r31->unk_38 = 0;
|
||||
temp_r31->unk_28 = 0.0f;
|
||||
//frand implicit declaration? (probably frandf inline?)
|
||||
temp_r31->unk_30 = (600.0f / (lbl_1_data_184[temp_r31->unk_02].unk_00 - ((frand() & 0x7FFFFFFF) % lbl_1_data_184[temp_r31->unk_02].unk_01)));
|
||||
temp_r31->unk_30 = (600.0f / (lbl_1_data_184[temp_r31->unk_02][0] - ((frand() & 0x7FFFFFFF) % lbl_1_data_184[temp_r31->unk_02][1])));
|
||||
temp_r31->unk_2C = temp_r31->unk_30;
|
||||
arg0->model[0] = CharModelCreate(temp_r31->unk_01, 8);
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_100[temp_r31->unk_01], 0x10000000, HEAP_DATA));
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_100[temp_r31->unk_01], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_data_0); i++) {
|
||||
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01].unk_00[i]);
|
||||
for (i = 0; i < 8; i++) {
|
||||
arg0->motion[i] = CharModelMotionCreate(temp_r31->unk_01, lbl_1_data_0[temp_r31->unk_01][i]);
|
||||
}
|
||||
|
||||
Hu3DModelShadowSet(arg0->model[0]);
|
||||
|
|
@ -410,6 +404,7 @@ void fn_1_DB4(omObjData* arg0) {
|
|||
SetDominationDataStuff(arg0, 0, 0);
|
||||
}
|
||||
|
||||
//can also be placed into fn_1_F8C as static const
|
||||
const s32 lbl_1_rodata_70[] = {0x00000122, 0x00000162, 0x000001A2, 0x000001E2, 0x00000222, 0x00000262, 0x000002A2, 0x000002E2};
|
||||
|
||||
void fn_1_F8C(omObjData* arg0) {
|
||||
|
|
@ -470,7 +465,6 @@ void fn_1_11CC(omObjData* arg0) {
|
|||
CharModelVoiceEnableSet(temp_r31->unk_01, arg0->motion[4], 0);
|
||||
CharModelMotionShiftSet(temp_r31->unk_01, arg0->motion[4], 0.0f, 10.0f, 0);
|
||||
temp = fn_1_28E4(temp_r31->unk_00);
|
||||
//can remove \0 after matching whole rel likely
|
||||
Hu3DModelHookSet(temp, "itemhook_c", arg0->model[0]);
|
||||
temp_r31->unk_10 = 0.0f;
|
||||
temp_r31->unk_14 = 0.0f;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
typedef void (*ObjFuncs)(void);
|
||||
|
||||
typedef struct unkDominationData6 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
|
|
@ -27,8 +29,6 @@ Process* lbl_1_bss_398C;
|
|||
omObjData* lbl_1_bss_3988;
|
||||
|
||||
//data
|
||||
typedef void (*ObjFuncs)(void);
|
||||
|
||||
ObjFuncs lbl_1_data_360[] = {
|
||||
fn_1_61A0,
|
||||
fn_1_6218,
|
||||
|
|
@ -40,8 +40,8 @@ void fn_1_5C5C(Process* arg0, s16 arg1) {
|
|||
u32 i;
|
||||
|
||||
lbl_1_bss_398C = arg0;
|
||||
lbl_1_bss_3988 = omAddObjEx(lbl_1_bss_398C, 0x800, 0U, 0U, 7, fn_1_5FE4);
|
||||
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData6), 0x10000000);
|
||||
lbl_1_bss_3988 = omAddObjEx(lbl_1_bss_398C, 0x800, 0, 0, 7, fn_1_5FE4);
|
||||
lbl_1_bss_3988->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData6), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = lbl_1_bss_3988->data;
|
||||
temp_r31->unk_08 = arg1;
|
||||
temp_r31->unk_0A = 0;
|
||||
|
|
@ -96,7 +96,6 @@ void fn_1_5F90(void) {
|
|||
fn_1_5FB4(0);
|
||||
}
|
||||
|
||||
//this function is an inline for other TUs, but not this one
|
||||
void fn_1_5FB4(s32 arg0) {
|
||||
unkDominationData6* temp_r31;
|
||||
|
||||
|
|
|
|||
496
src/REL/m407dll/whomp.c
Normal file
496
src/REL/m407dll/whomp.c
Normal file
|
|
@ -0,0 +1,496 @@
|
|||
#include "game/process.h"
|
||||
#include "game/object.h"
|
||||
#include "game/hsfman.h"
|
||||
#include "game/hsfmotion.h"
|
||||
#include "game/audio.h"
|
||||
#include "game/gamework_data.h"
|
||||
|
||||
#define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
#define MAX_WHOMPS_PLAYER 160
|
||||
#define MAX_WHOMPS_ALL_PLAYERS MAX_WHOMPS_PLAYER * ARRAY_COUNT(GWPlayer)
|
||||
#define MAX_WHOMPS (MAX_WHOMPS_PLAYER + 1) * ARRAY_COUNT(GWPlayer)
|
||||
|
||||
typedef void (*ObjFuncs)(omObjData*);
|
||||
|
||||
typedef struct unkDominationData7 {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ Vec unk_08;
|
||||
/* 0x14 */ Vec unk_14;
|
||||
/* 0x20 */ char unk_20[4];
|
||||
/* 0x24 */ s32 unk_24;
|
||||
/* 0x28 */ s32 unk_28;
|
||||
/* 0x2C */ s32 unk_2C;
|
||||
} unkDominationData7; //sizeof 0x30
|
||||
|
||||
//function signatures
|
||||
void fn_1_3360(omObjData*);
|
||||
void fn_1_3364(omObjData*);
|
||||
void fn_1_34A4(omObjData*);
|
||||
void fn_1_37B0(omObjData*);
|
||||
void fn_1_36D0(omObjData*);
|
||||
void fn_1_2B7C(omObjData*);
|
||||
void fn_1_290C(omObjData*, s32);
|
||||
void fn_1_31F8(omObjData*);
|
||||
void fn_1_4544(s32, s32, f32, f32, f32);
|
||||
void fn_1_3BB8(s16, f32, f32);
|
||||
void fn_1_568(s16, s16, s16);
|
||||
|
||||
//bss
|
||||
Process* lbl_1_bss_37C0;
|
||||
omObjData* lbl_1_bss_2DB0[MAX_WHOMPS];
|
||||
s16 lbl_1_bss_1E98[MAX_WHOMPS][3];
|
||||
s16 lbl_1_bss_68[MAX_WHOMPS][6];
|
||||
s16 lbl_1_bss_66;
|
||||
s16 lbl_1_bss_64;
|
||||
s16 lbl_1_bss_3A[21];
|
||||
s16 lbl_1_bss_38;
|
||||
|
||||
//data
|
||||
s32 lbl_1_data_228[] = {
|
||||
0x0026001C,
|
||||
0x0026001D,
|
||||
0x0026001E,
|
||||
0x0026001B
|
||||
};
|
||||
|
||||
s32 lbl_1_data_238[] = {
|
||||
0x0026002E,
|
||||
0x0026002F,
|
||||
0x0026002D,
|
||||
0x0026002A,
|
||||
0x0026002C,
|
||||
0x00260027,
|
||||
0x00260028,
|
||||
0x00260029
|
||||
};
|
||||
|
||||
ObjFuncs lbl_1_data_258[] = {
|
||||
fn_1_3360,
|
||||
fn_1_3364,
|
||||
fn_1_34A4,
|
||||
fn_1_37B0,
|
||||
fn_1_36D0,
|
||||
};
|
||||
|
||||
void fn_1_2354(Process* arg0) {
|
||||
Process* sp8;
|
||||
u32 i;
|
||||
u32 j;
|
||||
|
||||
lbl_1_bss_37C0 = arg0;
|
||||
|
||||
for (j = 0, i = 0; i < MAX_WHOMPS_ALL_PLAYERS; i++) {
|
||||
lbl_1_bss_2DB0[i] = omAddObjEx(lbl_1_bss_37C0, 0x200, 3, 6, 2, fn_1_2B7C);
|
||||
lbl_1_bss_2DB0[i]->work[0] = i;
|
||||
lbl_1_bss_2DB0[i]->work[1] = 0;
|
||||
}
|
||||
|
||||
j = j + i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_2DB0[j + i] = omAddObjEx(lbl_1_bss_37C0, 0x200, 3, 6, 2, fn_1_2B7C);
|
||||
lbl_1_bss_2DB0[j + i]->work[0] = j + i;
|
||||
lbl_1_bss_2DB0[j + i]->work[1] = 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
lbl_1_bss_3A[i] = 0;
|
||||
}
|
||||
|
||||
lbl_1_bss_64 = 0;
|
||||
}
|
||||
|
||||
void fn_1_24F0(void) {
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < MAX_WHOMPS; i++) {
|
||||
fn_1_31F8(lbl_1_bss_2DB0[i]);
|
||||
omDelObjEx(lbl_1_bss_37C0, lbl_1_bss_2DB0[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2564(void) {
|
||||
u32 i;
|
||||
|
||||
HuAudFXPlay(0x542);
|
||||
for (i = 0; i < MAX_WHOMPS; i++) {
|
||||
fn_1_290C(lbl_1_bss_2DB0[i], 1);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_25C0(void) {
|
||||
u32 i, j;
|
||||
|
||||
lbl_1_bss_38 = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (lbl_1_bss_38 < lbl_1_bss_3A[i]) {
|
||||
lbl_1_bss_38 = lbl_1_bss_3A[i];
|
||||
}
|
||||
}
|
||||
|
||||
lbl_1_bss_66 = 0;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (lbl_1_bss_3A[i] > 0) {
|
||||
fn_1_290C(lbl_1_bss_2DB0[i], 3);
|
||||
lbl_1_bss_66 += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_26CC(u8 arg0) {
|
||||
u32 i;
|
||||
omObjData* temp;
|
||||
|
||||
i = lbl_1_bss_3A[arg0];
|
||||
if (i < MAX_WHOMPS_PLAYER) {
|
||||
lbl_1_bss_3A[arg0] = i + 1;
|
||||
temp = lbl_1_bss_2DB0[arg0 + i * ARRAY_COUNT(GWPlayer)];
|
||||
fn_1_290C(temp, 2);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2770(u8 arg0, s16 arg2) {
|
||||
omObjData* temp_r30;
|
||||
unkDominationData7* temp_r31;
|
||||
|
||||
temp_r30 = lbl_1_bss_2DB0[arg0 + MAX_WHOMPS_ALL_PLAYERS];
|
||||
temp_r31 = temp_r30->data;
|
||||
temp_r31->unk_08.x = 600.0f - (400.0f * arg0);
|
||||
temp_r31->unk_08.y = -300.0f;
|
||||
temp_r31->unk_08.z = 200.0f * (lbl_1_bss_3A[arg0] + 2);
|
||||
fn_1_290C(temp_r30, 2);
|
||||
}
|
||||
|
||||
s32 fn_1_2880(void) {
|
||||
return (lbl_1_bss_66 == 0) ? 1 : 0;
|
||||
}
|
||||
|
||||
s16 fn_1_28B8(u8 arg0) {
|
||||
return lbl_1_bss_3A[arg0];
|
||||
}
|
||||
|
||||
s16 fn_1_28D4(void) {
|
||||
return lbl_1_bss_64;
|
||||
}
|
||||
|
||||
s16 fn_1_28E4(u8 arg0) {
|
||||
return lbl_1_bss_2DB0[arg0 + MAX_WHOMPS_ALL_PLAYERS]->model[0];
|
||||
}
|
||||
|
||||
void fn_1_290C(omObjData* arg0, s32 arg1) {
|
||||
unkDominationData7* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_24 = arg1;
|
||||
temp_r31->unk_2C = 0;
|
||||
}
|
||||
|
||||
void fn_1_2930(omObjData* arg0) {
|
||||
unkDominationData7* temp_r28;
|
||||
omObjData* temp_r29;
|
||||
u32 i;
|
||||
unkDominationData7* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
lbl_1_data_258[temp_r31->unk_24](arg0);
|
||||
if ((temp_r31->unk_08.z > (Center.z - 2000.0f)) && (temp_r31->unk_08.z < (2000.0f + Center.z)) && (temp_r31->unk_04 == 0)) {
|
||||
for (i = 0; i < 8; i++) {
|
||||
temp_r29 = lbl_1_bss_2DB0[(temp_r31->unk_00 % 80) + (i * 80)];
|
||||
temp_r29->model[0] = -1;
|
||||
temp_r28 = temp_r29->data;
|
||||
temp_r28->unk_04 = 0;
|
||||
}
|
||||
arg0->model[0] = lbl_1_bss_1E98[((temp_r31->unk_00 % 80))][0];
|
||||
|
||||
if (temp_r31->unk_08.y < 0.0f) {
|
||||
Hu3DModelShadowDispOff(arg0->model[0]);
|
||||
} else {
|
||||
Hu3DModelShadowDispOn(arg0->model[0]);
|
||||
}
|
||||
|
||||
temp_r31->unk_04 = 1;
|
||||
}
|
||||
|
||||
if ((temp_r31->unk_08.y < 0.0f) || (temp_r31->unk_08.z < (Center.z - 2000.0f))) {
|
||||
Hu3DModelAttrSet(arg0->model[0], 1);
|
||||
} else {
|
||||
Hu3DModelAttrReset(arg0->model[0], 1);
|
||||
}
|
||||
|
||||
omSetTra(arg0, temp_r31->unk_08.x, temp_r31->unk_08.y, temp_r31->unk_08.z);
|
||||
omSetRot(arg0, temp_r31->unk_14.x, temp_r31->unk_14.y, temp_r31->unk_14.z);
|
||||
|
||||
if (temp_r31->unk_28 == 1) {
|
||||
Hu3DModelPosSet(arg0->model[2], temp_r31->unk_08.x, 1.0f + temp_r31->unk_08.y, temp_r31->unk_08.z);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_2B7C(omObjData* arg0) {
|
||||
u32 i;
|
||||
unkDominationData7* temp_r30;
|
||||
|
||||
arg0->func = fn_1_2930;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData7), MEMORY_DEFAULT_NUM);
|
||||
temp_r30 = arg0->data;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
arg0->model[i] = -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
arg0->motion[i] = -1;
|
||||
}
|
||||
|
||||
temp_r30->unk_00 = (u32) arg0->work[0];
|
||||
temp_r30->unk_28 = (u32) arg0->work[1];
|
||||
temp_r30->unk_04 = 0;
|
||||
temp_r30->unk_2C = 0;
|
||||
switch (temp_r30->unk_28) {
|
||||
case 0:
|
||||
temp_r30->unk_14.x = 0.0f;
|
||||
temp_r30->unk_14.y = 180.0f;
|
||||
temp_r30->unk_14.z = 0.0f;
|
||||
if (temp_r30->unk_00 < 80) {
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[1], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x4000);
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
if (temp_r30->unk_00 == 0) {
|
||||
arg0->motion[5] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[5], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[3] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[7], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[4] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[6], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
} else {
|
||||
arg0->motion[5] = lbl_1_bss_68[0][5];
|
||||
arg0->motion[3] = lbl_1_bss_68[0][3];
|
||||
arg0->motion[4] = lbl_1_bss_68[0][4];
|
||||
}
|
||||
Hu3DModelShadowSet(arg0->model[0]);
|
||||
for (i = 0; i < 3; i++) {
|
||||
lbl_1_bss_1E98[temp_r30->unk_00][i] = arg0->model[i];
|
||||
}
|
||||
|
||||
for (i = 0; i < 6; i++) {
|
||||
lbl_1_bss_68[temp_r30->unk_00][i] = arg0->motion[i];
|
||||
}
|
||||
Hu3DMotionSet(arg0->model[0], arg0->motion[5]);
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x40000001);
|
||||
temp_r30->unk_04 = 1;
|
||||
} else {
|
||||
temp_r30->unk_04 = 0;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
temp_r30->unk_14.x = 0.0f;
|
||||
temp_r30->unk_14.y = 0.0f;
|
||||
temp_r30->unk_14.z = 0.0f;
|
||||
arg0->model[0] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[0], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->model[1] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[2], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->model[2] = Hu3DModelCreate(HuDataSelHeapReadNum(lbl_1_data_228[3], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x4000);
|
||||
Hu3DModelAttrSet(arg0->model[1], 0x4000);
|
||||
Hu3DModelAmbSet(arg0->model[0], 1.0f, 1.0f, 1.0f);
|
||||
Hu3DModelAmbSet(arg0->model[1], 1.0f, 1.0f, 1.0f);
|
||||
arg0->motion[2] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[2], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[3] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[4], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[5] = Hu3DJointMotion(arg0->model[0], HuDataSelHeapReadNum(lbl_1_data_238[3], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[0] = Hu3DJointMotion(arg0->model[1], HuDataSelHeapReadNum(lbl_1_data_238[0], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
arg0->motion[1] = Hu3DJointMotion(arg0->model[1], HuDataSelHeapReadNum(lbl_1_data_238[1], MEMORY_DEFAULT_NUM, HEAP_DATA));
|
||||
Hu3DModelHookSet(arg0->model[0], "itemhook_r", arg0->model[1]);
|
||||
Hu3DModelShadowSet(arg0->model[0]);
|
||||
Hu3DModelShadowSet(arg0->model[1]);
|
||||
Hu3DModelAttrSet(arg0->model[0], 1);
|
||||
Hu3DModelAttrSet(arg0->model[1], 1);
|
||||
Hu3DModelAttrSet(arg0->model[2], 1);
|
||||
Hu3DModelAttrSet(arg0->model[2], 0x40000002);
|
||||
Hu3DModelAttrSet(arg0->model[2], 0x40000001);
|
||||
temp_r30->unk_04 = 1;
|
||||
break;
|
||||
}
|
||||
temp_r30->unk_08.x = (600.0f - (400.0f * (temp_r30->unk_00 & 3)));
|
||||
temp_r30->unk_08.y = 0.0f;
|
||||
temp_r30->unk_08.z = (200.0f * (temp_r30->unk_00 >> 2));
|
||||
fn_1_290C(arg0, 0);
|
||||
}
|
||||
|
||||
void fn_1_31F8(omObjData* arg0) {
|
||||
s32 i;
|
||||
unkDominationData7* temp_r29;
|
||||
|
||||
temp_r29 = arg0->data;
|
||||
switch (temp_r29->unk_28) { /* irregular */
|
||||
case 0:
|
||||
if (temp_r29->unk_00 == 0) {
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (arg0->motion[i] != -1) {
|
||||
Hu3DMotionKill(arg0->motion[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (temp_r29->unk_04 != 0) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (arg0->model[i] != -1) {
|
||||
Hu3DModelKill(arg0->model[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
for (i = 0; i < 6; i++) {
|
||||
if (arg0->motion[i] != -1) {
|
||||
Hu3DMotionKill(arg0->motion[i]);
|
||||
}
|
||||
}
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (arg0->model[i] != -1) {
|
||||
Hu3DModelKill(arg0->model[i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (arg0->data) {
|
||||
HuMemDirectFree(arg0->data);
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_3360(omObjData*) {
|
||||
|
||||
}
|
||||
|
||||
void fn_1_3364(omObjData* arg0) {
|
||||
unkDominationData7* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (temp_r31->unk_2C == 0) {
|
||||
Hu3DMotionSet(arg0->model[0], arg0->motion[4]);
|
||||
Hu3DModelAttrReset(arg0->model[0], 0x40000001);
|
||||
switch (temp_r31->unk_28) {
|
||||
case 0:
|
||||
fn_1_4544(0, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z);
|
||||
break;
|
||||
case 1:
|
||||
fn_1_4544(1, 0, temp_r31->unk_08.x, 0.0f, temp_r31->unk_08.z);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (temp_r31->unk_2C == 0x2A) {
|
||||
Hu3DModelShadowDispOff(arg0->model[0]);
|
||||
}
|
||||
|
||||
if (Hu3DMotionEndCheck(*arg0->model) == 0) {
|
||||
temp_r31->unk_2C++;
|
||||
return;
|
||||
}
|
||||
|
||||
temp_r31->unk_08.y = -300.0f;
|
||||
Hu3DModelAttrSet(arg0->model[0], 1);
|
||||
fn_1_290C(arg0, 0);
|
||||
}
|
||||
|
||||
void fn_1_34A4(omObjData* arg0) {
|
||||
unkDominationData7* temp_r30;
|
||||
|
||||
temp_r30 = arg0->data;
|
||||
if (temp_r30->unk_2C == 0) {
|
||||
if (temp_r30->unk_28 == 1) {
|
||||
Hu3DModelAttrReset(arg0->model[0], 1);
|
||||
Hu3DModelAttrReset(arg0->model[1], 1);
|
||||
} else {
|
||||
Hu3DModelAttrReset(arg0->model[0], 1);
|
||||
}
|
||||
Hu3DMotionSet(arg0->model[0], arg0->motion[3]);
|
||||
Hu3DModelAttrReset(arg0->model[0], 0x40000001);
|
||||
switch (temp_r30->unk_28) { /* irregular */
|
||||
case 0:
|
||||
fn_1_4544(0, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z);
|
||||
HuAudFXPlay(0x543);
|
||||
break;
|
||||
case 1:
|
||||
HuAudFXPlay(0x544);
|
||||
fn_1_4544(1, 0, temp_r30->unk_08.x, 0.0f, temp_r30->unk_08.z);
|
||||
break;
|
||||
}
|
||||
temp_r30->unk_08.y = 0.0f;
|
||||
}
|
||||
|
||||
if (temp_r30->unk_2C == 0xA) {
|
||||
Hu3DModelShadowDispOn(arg0->model[0]);
|
||||
}
|
||||
|
||||
if ((temp_r30->unk_2C == 0xA) && (temp_r30->unk_28 == 1)) {
|
||||
Hu3DMotionSet(arg0->model[1], arg0->motion[1]);
|
||||
Hu3DModelAttrReset(arg0->model[1], 0x40000001);
|
||||
}
|
||||
|
||||
temp_r30->unk_2C++;
|
||||
|
||||
if (Hu3DMotionEndCheck(arg0->model[0]) != 0) {
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[5], 0.0f, 10.0f, 0x40000001);
|
||||
switch (temp_r30->unk_28) {
|
||||
case 0:
|
||||
fn_1_290C(arg0, 0);
|
||||
return;
|
||||
case 1:
|
||||
fn_1_290C(arg0, 4);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_36D0(omObjData* arg0) {
|
||||
unkDominationData7* sp8;
|
||||
|
||||
sp8 = arg0->data;
|
||||
Hu3DMotionShiftSet(arg0->model[0], arg0->motion[2], 0.0f, 10.0f, 0x40000001);
|
||||
Hu3DMotionSet(arg0->model[1], arg0->motion[0]);
|
||||
Hu3DModelAttrSet(arg0->model[1], 0x40000001);
|
||||
Hu3DModelAttrReset(arg0->model[2], 1);
|
||||
Hu3DModelAttrReset(arg0->model[2], 0x40000002);
|
||||
Hu3DModelAttrSet(arg0->model[2], 0x40000001);
|
||||
fn_1_290C(arg0, 0);
|
||||
}
|
||||
|
||||
void fn_1_37B0(omObjData* arg0) {
|
||||
unkDominationData7* temp_r31;
|
||||
|
||||
temp_r31 = arg0->data;
|
||||
if (temp_r31->unk_2C == 0) {
|
||||
temp_r31->unk_14.x = 0.0f;
|
||||
temp_r31->unk_08.y = 0.0f;
|
||||
Hu3DModelAttrSet(arg0->model[0], 0x40000002);
|
||||
temp_r31->unk_2C++;
|
||||
}
|
||||
temp_r31->unk_14.x -= 4.0f;
|
||||
temp_r31->unk_08.y += 0.9f;
|
||||
if ((temp_r31->unk_14.x <= -25.0f) && (temp_r31->unk_2C == 1)) {
|
||||
if ((temp_r31->unk_00 < 640) && ((temp_r31->unk_00 >> 2) < (lbl_1_bss_3A[temp_r31->unk_00 & 3] - 1))) {
|
||||
fn_1_290C(lbl_1_bss_2DB0[temp_r31->unk_00 + 4], 3);
|
||||
temp_r31->unk_2C++;
|
||||
}
|
||||
if (lbl_1_bss_64 < (temp_r31->unk_00 >> 2) + 1) {
|
||||
lbl_1_bss_64 = (temp_r31->unk_00 >> 2) + 1;
|
||||
}
|
||||
}
|
||||
if ((temp_r31->unk_2C == 1) && (temp_r31->unk_14.x > -90.0f) || (temp_r31->unk_2C == 2) && (temp_r31->unk_14.x > -68.0f)) {
|
||||
return;
|
||||
}
|
||||
|
||||
temp_r31->unk_14.x = (temp_r31->unk_2C == 1) ? -90.0f : -68.0f;
|
||||
|
||||
if (temp_r31->unk_2C == 1) {
|
||||
fn_1_4544(3, 0, temp_r31->unk_08.x, 0.0f, 200.0f + temp_r31->unk_08.z);
|
||||
HuAudFXPlay(0x544);
|
||||
if (lbl_1_bss_38 > (temp_r31->unk_00 >> 2) + 1) {
|
||||
fn_1_3BB8((temp_r31->unk_00 >> 2) + 1, temp_r31->unk_08.x, temp_r31->unk_08.z);
|
||||
}
|
||||
lbl_1_bss_66 -= 1;
|
||||
} else {
|
||||
fn_1_4544(2, 0, temp_r31->unk_08.x, 0.0f, 200.0f + temp_r31->unk_08.z);
|
||||
HuAudFXPlay(0x543);
|
||||
}
|
||||
fn_1_568(temp_r31->unk_00 & 3, 2, 4);
|
||||
fn_1_290C(arg0, 0);
|
||||
}
|
||||
|
|
@ -4,6 +4,16 @@
|
|||
#include "game/gamework_data.h"
|
||||
#include "game/esprite.h"
|
||||
|
||||
typedef struct unkDominationData3 {
|
||||
/* 0x00 */ u32 unk_00;
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ Vec unk_08;
|
||||
/* 0x14 */ s32 unk_14;
|
||||
/* 0x18 */ s16 unk_18[4];
|
||||
/* 0x20 */ f32 unk_20;
|
||||
} unkDominationData3; //sizeof 0x24
|
||||
|
||||
//function signatures
|
||||
void Hu3D3Dto2D(Vec *arg0, s16 arg1, Vec *arg2);
|
||||
void fn_1_3D28(omObjData* arg0, s32 arg1);
|
||||
void fn_1_3E34(omObjData*);
|
||||
|
|
@ -16,34 +26,25 @@ void fn_1_40F4(omObjData* arg0);
|
|||
Process* lbl_1_bss_37D8;
|
||||
omObjData* lbl_1_bss_37C8[4];
|
||||
|
||||
//data
|
||||
ObjFuncs lbl_1_data_278[] = {
|
||||
fn_1_3FF0,
|
||||
fn_1_3FF4,
|
||||
fn_1_40F4,
|
||||
};
|
||||
|
||||
typedef struct unkDominationData3 {
|
||||
u32 unk_00;
|
||||
s32 unk_04;
|
||||
Vec unk_08;
|
||||
s32 unk_14;
|
||||
s16 unk_18[4];
|
||||
f32 unk_20;
|
||||
} unkDominationData3;
|
||||
|
||||
void fn_1_3AC8(Process* arg0) {
|
||||
u32 i;
|
||||
|
||||
lbl_1_bss_37D8 = arg0;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37C8); i++) {
|
||||
lbl_1_bss_37C8[i] = omAddObjEx(lbl_1_bss_37D8, 0x500, 0U, 0U, 4, fn_1_3E34);
|
||||
lbl_1_bss_37C8[i] = omAddObjEx(lbl_1_bss_37D8, 0x500, 0, 0, 4, fn_1_3E34);
|
||||
lbl_1_bss_37C8[i]->work[0] = i;
|
||||
}
|
||||
}
|
||||
|
||||
void fn_1_3B68(void) {
|
||||
s32 temp_r4;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(lbl_1_bss_37C8); i++) {
|
||||
|
|
@ -103,7 +104,7 @@ void fn_1_3E34(omObjData* arg0) {
|
|||
unkDominationData3* temp_r31;
|
||||
|
||||
arg0->func = fn_1_3D4C;
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData3), 0x10000000);
|
||||
arg0->data = HuMemDirectMallocNum(HEAP_SYSTEM, sizeof(unkDominationData3), MEMORY_DEFAULT_NUM);
|
||||
temp_r31 = arg0->data;
|
||||
temp_r31->unk_00 = arg0->work[0];
|
||||
temp_r31->unk_14 = 0;
|
||||
|
|
|
|||
|
|
@ -1026,8 +1026,7 @@ static GXColor hiliteColTbl[3] = {
|
|||
};
|
||||
|
||||
static void UpdateMGList(bitcopy* arg0, omObjData* arg1) {
|
||||
f32 sp1C;
|
||||
f32 sp18;
|
||||
f32 sp18[2];
|
||||
s32 sp14;
|
||||
f32 var_f26;
|
||||
f32 var_f25;
|
||||
|
|
@ -1056,14 +1055,14 @@ static void UpdateMGList(bitcopy* arg0, omObjData* arg1) {
|
|||
|
||||
for (var_r23 = 0; var_r23 < arg0->field01_bit0; var_r23++) {
|
||||
HuWinMesSizeCancelCRSet(1);
|
||||
HuWinMesMaxSizeGet(1, &sp18, activeMG[var_r23].unk_04);
|
||||
HuWinMesMaxSizeGet(1, &sp18[0], activeMG[var_r23].unk_04);
|
||||
var_f25 = 152.0f;
|
||||
var_f24 = 280.0f + (var_r23 * 0x18);
|
||||
temp_r3 = HuWinCreate(var_f25, var_f24, sp18, sp1C, 0);
|
||||
temp_r3 = HuWinCreate(var_f25, var_f24, sp18[0], sp18[1], 0);
|
||||
HuWinBGTPLvlSet(temp_r3, 0.0f);
|
||||
HuWinMesSpeedSet(temp_r3, 0);
|
||||
HuWinDispOff(temp_r3);
|
||||
HuWinAttrSet(temp_r3, 0x100U);
|
||||
HuWinAttrSet(temp_r3, 0x100);
|
||||
if (activeMG[var_r23].unk_03 != 0) {
|
||||
sp14 = activeMG[var_r23].unk_04;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ void fn_8003FF68(unkArg0* arg0) {
|
|||
|
||||
for (j = 0; var_r31->unk_00 != -1U; var_r31++, j++) {
|
||||
if (var_r31->unk_06 == 0) {
|
||||
temp = HuDataSelHeapReadNum(var_r31->unk_00, 0x10000000, HEAP_DATA);
|
||||
temp = HuDataSelHeapReadNum(var_r31->unk_00, MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
model = Hu3DModelCreate(temp);
|
||||
lbl_80192060[j] = model;
|
||||
Hu3DModelAttrSet(model, var_r31->unk_04);
|
||||
|
|
@ -93,7 +93,7 @@ void fn_8003FF68(unkArg0* arg0) {
|
|||
lbl_80192160[j] = temp_r27->unk_08;
|
||||
}
|
||||
} else if (var_r31->unk_06 == 1) {
|
||||
temp = HuDataSelHeapReadNum(var_r31->unk_00, 0x10000000, HEAP_DATA);
|
||||
temp = HuDataSelHeapReadNum(var_r31->unk_00, MEMORY_DEFAULT_NUM, HEAP_DATA);
|
||||
lbl_80192160[j] = Hu3DMotionCreate(temp);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue