edit ThreeDDataStruct, function names in m401

This commit is contained in:
CreateSource 2023-12-03 12:53:20 -05:00
parent 5a7d9615d3
commit 395fde5107
3 changed files with 192 additions and 165 deletions

View file

@ -1,6 +1,6 @@
#include "m401Dll.h"
void fn_2_A0(void) {
void M401ObjectSetup(void) {
s32 i;
unkStructBSS114 *temp_r30;
unkStruct18BFC0 *temp_r29;
@ -11,58 +11,58 @@ void fn_2_A0(void) {
HuMemHeapDump(HuMemHeapPtrGet(2), -1);
HuMemHeapDump(HuMemHeapPtrGet(3), -1);
lbl_2_bss_1C = omInitObjMan(0x3C, 0x2000);
fn_80057E80(lbl_2_bss_1C);
lbl_2_bss_A8 = fn_80022ADC(&lbl_2_data_14, &lbl_2_data_20, &lbl_2_data_2C);
fn_80022EB4(lbl_2_bss_A8);
omGameSysInit(lbl_2_bss_1C);
lbl_2_bss_A8 = Hu3DGLightCreateV(&lbl_2_data_14, &lbl_2_data_20, &lbl_2_data_2C);
Hu3DGLightInfinitytSet(lbl_2_bss_A8);
temp_r28 = &lbl_8018C8FC[lbl_2_bss_A8].unk_00;
*temp_r28 |= 0x8000;
Hu3DCameraCreate(1);
temp_r29 = &lbl_8018BFC0;
Hu3DCameraViewportSet(1, 0.0f, 0.0f, 640.0, 480.0, 0.0f, 1.0f);
lbl_2_bss_114 = fn_8002F454(lbl_2_bss_1C, 0x3E8, 3, 0, -1, &fn_2_BD90);
lbl_2_bss_114 = omAddObjEx(lbl_2_bss_1C, 0x3E8, 3, 0, -1, &fn_2_BD90);
*lbl_2_bss_114->model = 0;
lbl_2_bss_110 = fn_8002F454(lbl_2_bss_1C, 0xA, 0, 0, -1, &fn_2_70C);
fn_8002F9C4(lbl_2_bss_1C, 0, 4);
lbl_2_bss_118[0] = fn_8002FAC0(lbl_2_bss_1C, 0);
fn_8002F9C4(lbl_2_bss_1C, 1, 0x1C);
lbl_2_bss_110 = omAddObjEx(lbl_2_bss_1C, 0xA, 0, 0, -1, &fn_2_70C);
omMakeGroupEx(lbl_2_bss_1C, 0, 4);
lbl_2_bss_118[0] = omGetGroupMemberListEx(lbl_2_bss_1C, 0);
omMakeGroupEx(lbl_2_bss_1C, 1, 0x1C);
for (i = 0; i < 4; i++) {
temp_r30 = fn_8002F454(lbl_2_bss_1C, 0x4B0, 4, 0xA, 0, &fn_2_3B24);
temp_r30 = omAddObjEx(lbl_2_bss_1C, 0x4B0, 4, 0xA, 0, &fn_2_3B24);
temp_r30->unk_4C = i;
}
lbl_2_bss_12C = 60.0f;
lbl_2_bss_128 = 50.0f;
lbl_2_bss_124 = 25000.0f;
fn_800241C0(30.0f, 30.0f, 20.0f);
fn_800243AC(0.35f);
Hu3DShadowCreate(30.0f, 30.0f, 20.0f);
Hu3DShadowTPLvlSet(0.35f);
lbl_2_data_30.y = (f32) (1500.0f + lbl_2_bss_60.y);
lbl_2_data_30.z = (f32) (500.0f + lbl_2_bss_60.z);
lbl_2_data_48.y = (f32) lbl_2_bss_60.y;
lbl_2_data_48.z = (f32) (500.0f + lbl_2_bss_60.z);
fn_80024348(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48);
lbl_2_bss_10C = fn_8002F454(lbl_2_bss_1C, 0x1F4, 0xC, 3, -1, &fn_2_2FA4);
lbl_2_bss_108 = fn_8002F454(lbl_2_bss_1C, 0x44C, 1, 1, -1, &fn_2_7CB4);
lbl_2_bss_100.unk_00 = fn_8002F454(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74);
lbl_2_bss_100.unk_04 = fn_8002F454(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74);
lbl_2_bss_FC = fn_8002F454(lbl_2_bss_1C, 0x460, 1, 2, -1, &fn_2_95E4);
lbl_2_bss_C8 = fn_8002F454(lbl_2_bss_1C, 0x64, 0, 0, -1, &fn_2_D088);
lbl_2_bss_E0 = fn_8002F454(lbl_2_bss_1C, 0x5DC, 0, 0, -1, &fn_2_C1C);
Hu3DShadowPosSet(&lbl_2_data_30, &lbl_2_data_3C, &lbl_2_data_48);
lbl_2_bss_10C = omAddObjEx(lbl_2_bss_1C, 0x1F4, 0xC, 3, -1, &fn_2_2FA4);
lbl_2_bss_108 = omAddObjEx(lbl_2_bss_1C, 0x44C, 1, 1, -1, &fn_2_7CB4);
lbl_2_bss_100.unk_00 = omAddObjEx(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74);
lbl_2_bss_100.unk_04 = omAddObjEx(lbl_2_bss_1C, 0x456, 1, 1, -1, &fn_2_8E74);
lbl_2_bss_FC = omAddObjEx(lbl_2_bss_1C, 0x460, 1, 2, -1, &fn_2_95E4);
lbl_2_bss_C8 = omAddObjEx(lbl_2_bss_1C, 0x64, 0, 0, -1, &fn_2_D088);
lbl_2_bss_E0 = omAddObjEx(lbl_2_bss_1C, 0x5DC, 0, 0, -1, &fn_2_C1C);
fn_2_DBCC(0x5A);
lbl_2_bss_F8 = fn_8002F454(lbl_2_bss_1C, 0x1F4, 9, 0, -1, &fn_2_C6DC);
lbl_2_bss_F8 = omAddObjEx(lbl_2_bss_1C, 0x1F4, 9, 0, -1, &fn_2_C6DC);
fn_2_9D00(lbl_2_bss_1C);
fn_2_1041C();
fn_2_1079C();
lbl_2_bss_F4 = fn_2_14640(lbl_2_bss_1C);
lbl_2_bss_50 = 0.0f;
lbl_2_bss_54.unk_00 = temp_r29->unk_14;
fn_800240E4(0);
Hu3DReflectNoSet(0);
lbl_2_bss_120 = 0;
lbl_2_bss_BE = 0;
lbl_2_bss_BA = 0;
fn_800240EC(3000.0f, 10000.0f, 0xAU, 0x3CU, 0xA0U);
Hu3DFogSet(3000.0f, 10000.0f, 0xAU, 0x3CU, 0xA0U);
Hu3DBGColorSet(0xAU, 0x3CU, 0xA0U);
lbl_2_bss_88 = 3000.0f;
lbl_2_bss_84 = 142000.0f;
lbl_2_bss_11C = fn_80032A94(0x50A);
lbl_2_bss_11C = HuAudFXPlay(0x50A);
}
void fn_2_70C(unkStructBSS114* arg0) {
@ -76,13 +76,13 @@ void fn_2_70C(unkStructBSS114* arg0) {
case 1:
if (lbl_2_bss_BE == 1) {
lbl_2_bss_120 = 2;
lbl_2_bss_C0 = fn_80035794(3, 1);
fn_80033140(lbl_2_bss_A4, 0x64);
lbl_2_bss_C0 = MGSeqCreate(3, 1);
HuAudSeqFadeOut(lbl_2_bss_A4, 0x64);
}
break;
case 2:
if (lbl_2_bss_114 == NULL) {
lbl_2_bss_114 = fn_8002F454(HuPrcCurrentGet(), 0x3E8, 0, 0, -1, &fn_2_C130);
lbl_2_bss_114 = omAddObjEx(HuPrcCurrentGet(), 0x3E8, 0, 0, -1, &fn_2_C130);
*lbl_2_bss_114->model = 0;
var_r29 = 0;
lbl_2_bss_BA = 0;
@ -112,9 +112,9 @@ void fn_2_70C(unkStructBSS114* arg0) {
break;
}
if (lbl_801D3CC2 != 0) {
fn_800414AC(2, 0, 0x3C);
fn_80033140(lbl_2_bss_A4, 0x64);
fn_80032BC4(lbl_2_bss_11C);
WipeCreate(2, 0, 0x3C);
HuAudSeqFadeOut(lbl_2_bss_A4, 0x64);
HuAudFXStop(lbl_2_bss_11C);
arg0->unk_14 = &fn_2_A10;
}
}
@ -122,23 +122,23 @@ void fn_2_70C(unkStructBSS114* arg0) {
void fn_2_A10(void) {
s32 i;
if (fn_80041600() == 0) {
if (WipeStatGet() == 0) {
fn_2_10710();
for (i = 0; i < 4; i++) {
fn_8004D6F4(lbl_2_data_4[lbl_8018FC10[i].unk_00]);
}
fn_80032F7C();
fn_8002EF20(1, 1);
HuAudFXListnerKill();
omOvlReturnEx(1, 1);
}
}
void fn_2_A98(void) {
fn_800240EC(174.0f, 271.0f, 0xA, 0x3C, 0xA0);
void M401SetFogAndBG(void) {
Hu3DFogSet(174.0f, 271.0f, 0xA, 0x3C, 0xA0);
Hu3DBGColorSet(0xAU, 0x3CU, 0xA0U);
}
void fn_2_AEC(s16 arg0) {
void M401SetSpriteDisp(s16 arg0) {
s32 j;
s32 i;
unkSubstructBSS114* temp_r31;
@ -146,21 +146,21 @@ void fn_2_AEC(s16 arg0) {
temp_r31 = lbl_2_bss_E0->unk_5C;
if (arg0 != 0) {
for (i = 0; i < 4; i++) {
fn_8003FBA8(temp_r31->unk_00[i]);
fn_8003FBA8(temp_r31->unk_80[i]);
fn_8003FBA8(temp_r31->unk_88[i]);
espDispOn(temp_r31->unk_00[i]);
espDispOn(temp_r31->unk_80[i]);
espDispOn(temp_r31->unk_88[i]);
for (j = 0; j < 2; j++) {
fn_8003FBA8(temp_r31->unk_08[i][j]);
espDispOn(temp_r31->unk_08[i][j]);
}
}
return;
}
for (i = 0; i < 4; i++) {
fn_8003FBEC(temp_r31->unk_00[i]);
fn_8003FBEC(temp_r31->unk_80[i]);
fn_8003FBEC(temp_r31->unk_88[i]);
espDispOff(temp_r31->unk_00[i]);
espDispOff(temp_r31->unk_80[i]);
espDispOff(temp_r31->unk_88[i]);
for (j = 0; j < 2; j++) {
fn_8003FBEC(temp_r31->unk_08[i][j]);
espDispOff(temp_r31->unk_08[i][j]);
}
}
}
@ -177,39 +177,39 @@ void fn_2_C1C(unkStructBSS114* arg0) {
arg0->unk_5C = HuMemDirectMallocNum(0, 0x148, 0x10000000U);
temp_r31 = arg0->unk_5C;
for (i = 0; i < 4; i++) {
temp_r31->unk_00[i] = fn_8003F958(lbl_2_data_80[lbl_8018FC10[i].unk_00], 2, 0);
fn_8003FBEC(temp_r31->unk_00[i]);
fn_8003FED8(temp_r31->unk_00[i], 0);
fn_8003FCC0(temp_r31->unk_00[i], (f32) ((i & 1) * 0x1B6 + 0x25), ((i>1)*0x166)+0x3B);
temp_r31->unk_80[i] = fn_8003F958(0x20002F, 3, 0);
fn_8003FBEC(temp_r31->unk_80[i]);
fn_8003FED8(temp_r31->unk_80[i], 0);
fn_8003FCC0(temp_r31->unk_80[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D));
temp_r31->unk_88[i] = fn_8003F958(0x200030, 4, 0);
fn_8003FBEC(temp_r31->unk_88[i]);
fn_8003FED8(temp_r31->unk_88[i], 0);
fn_8003FCC0(temp_r31->unk_88[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D));
fn_8003FDF0(temp_r31->unk_88[i], 0, 0, 0);
fn_8003FDA8(temp_r31->unk_88[i], 0.5f);
temp_r31->unk_00[i] = espEntry(lbl_2_data_80[lbl_8018FC10[i].unk_00], 2, 0);
espDispOff(temp_r31->unk_00[i]);
espDrawNoSet(temp_r31->unk_00[i], 0);
espPosSet(temp_r31->unk_00[i], (f32) ((i & 1) * 0x1B6 + 0x25), ((i>1)*0x166)+0x3B);
temp_r31->unk_80[i] = espEntry(0x20002F, 3, 0);
espDispOff(temp_r31->unk_80[i]);
espDrawNoSet(temp_r31->unk_80[i], 0);
espPosSet(temp_r31->unk_80[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D));
temp_r31->unk_88[i] = espEntry(0x200030, 4, 0);
espDispOff(temp_r31->unk_88[i]);
espDrawNoSet(temp_r31->unk_88[i], 0);
espPosSet(temp_r31->unk_88[i], (f32) (((i & 1) * 0x1B6) + 0x49), (((i>1) * 0x166) + 0x3D));
espColorSet(temp_r31->unk_88[i], 0, 0, 0);
espTPLvlSet(temp_r31->unk_88[i], 0.5f);
for (j = 0; j < 2; j++) {
temp_r31->unk_08[i][j] = fn_8003F958(0x20002E, 1, 0);
fn_8003FBEC(temp_r31->unk_08[i][j]);
fn_8003FED8(temp_r31->unk_08[i][j], 0);
fn_8003FCC0(temp_r31->unk_08[i][j], 0x45 + ((i & 1) * 0x1B6) + (j * 0x14), ((i>1) * 0x166) + 0x3F);
fn_8003FC30(temp_r31->unk_08[i][j], 1);
temp_r31->unk_08[i][j] = espEntry(0x20002E, 1, 0);
espDispOff(temp_r31->unk_08[i][j]);
espDrawNoSet(temp_r31->unk_08[i][j], 0);
espPosSet(temp_r31->unk_08[i][j], 0x45 + ((i & 1) * 0x1B6) + (j * 0x14), ((i>1) * 0x166) + 0x3F);
espAttrSet(temp_r31->unk_08[i][j], 1);
}
for (j = 0; j < 3; j++) {
temp_r31->unk_50[i][j] = fn_8003F958(0x20002D, 0, 0);
fn_8003FBEC(temp_r31->unk_50[i][j]);
fn_8003FED8(temp_r31->unk_50[i][j], 0);
fn_8003FC30(temp_r31->unk_50[i][j], 1);
temp_r31->unk_68[i][j] = fn_8003F958(0x20002D, 0, 0);
fn_8003FBEC(temp_r31->unk_68[i][j]);
fn_8003FED8(temp_r31->unk_68[i][j], 0);
fn_8003FC30(temp_r31->unk_68[i][j], 1);
temp_r31->unk_50[i][j] = espEntry(0x20002D, 0, 0);
espDispOff(temp_r31->unk_50[i][j]);
espDrawNoSet(temp_r31->unk_50[i][j], 0);
espAttrSet(temp_r31->unk_50[i][j], 1);
temp_r31->unk_68[i][j] = espEntry(0x20002D, 0, 0);
espDispOff(temp_r31->unk_68[i][j]);
espDrawNoSet(temp_r31->unk_68[i][j], 0);
espAttrSet(temp_r31->unk_68[i][j], 1);
}
fn_8003FE90(temp_r31->unk_50[i][0], 0xA);
fn_8003FE90(temp_r31->unk_68[i][0], 0xB);
espBankSet(temp_r31->unk_50[i][0], 0xA);
espBankSet(temp_r31->unk_68[i][0], 0xB);
temp_r31->unk_90[i] = 1.0f;
temp_r31->unk_A0[i] = 1.0f;
temp_r31->unk_130[i] = 0;
@ -241,8 +241,8 @@ void fn_2_11D0(unkStructBSS114* arg0) {
fn_2_10240(&sp18, &spC);
for (j = 0; j < 3; j++) {
fn_8003FCC0(temp_r31->unk_50[i][j], -20.0f + spC.x + temp_r31->unk_F0[i] + (f32) (j * 0x10), 20.0f + spC.y + temp_r31->unk_100[i]);
fn_8003FDA8(temp_r31->unk_50[i][j], temp_r31->unk_90[i]);
espPosSet(temp_r31->unk_50[i][j], -20.0f + spC.x + temp_r31->unk_F0[i] + (f32) (j * 0x10), 20.0f + spC.y + temp_r31->unk_100[i]);
espTPLvlSet(temp_r31->unk_50[i][j], temp_r31->unk_90[i]);
}
temp_r31->unk_C0[i] -= 0.5f;
@ -252,8 +252,8 @@ void fn_2_11D0(unkStructBSS114* arg0) {
}
if (--temp_r31->unk_130[i] == 0) {
fn_8003FBEC(temp_r31->unk_50[i][0]);
fn_8003FBEC(temp_r31->unk_50[i][1]);
espDispOff(temp_r31->unk_50[i][0]);
espDispOff(temp_r31->unk_50[i][1]);
}
}
if (temp_r31->unk_138[i] != 0) {
@ -264,8 +264,8 @@ void fn_2_11D0(unkStructBSS114* arg0) {
fn_2_10240(&sp18, &spC);
for (j = 0; j < 2; j++) {
fn_8003FCC0(temp_r31->unk_68[i][j], -20.0f + spC.x + temp_r31->unk_110[i] + (f32) (j * 0x10), -20.0f + spC.y + temp_r31->unk_120[i]);
fn_8003FDA8(temp_r31->unk_68[i][j], temp_r31->unk_A0[i]);
espPosSet(temp_r31->unk_68[i][j], -20.0f + spC.x + temp_r31->unk_110[i] + (f32) (j * 0x10), -20.0f + spC.y + temp_r31->unk_120[i]);
espTPLvlSet(temp_r31->unk_68[i][j], temp_r31->unk_A0[i]);
}
temp_r31->unk_E0[i] += 0.5f;
@ -275,8 +275,8 @@ void fn_2_11D0(unkStructBSS114* arg0) {
}
if (--temp_r31->unk_138[i] == 0) {
fn_8003FBEC(temp_r31->unk_68[i][0]);
fn_8003FBEC(temp_r31->unk_68[i][1]);
espDispOff(temp_r31->unk_68[i][0]);
espDispOff(temp_r31->unk_68[i][1]);
}
}
fn_2_15C4(i);
@ -291,8 +291,8 @@ void fn_2_15C4(s16 arg0) {
temp_r31 = lbl_2_bss_E0->unk_5C;
temp_r29 = lbl_2_bss_118[arg0]->unk_5C;
temp_r30 = temp_r29->unk_68[1][2];
fn_8003FE90(temp_r31->unk_08[arg0][0], temp_r30 / 10);
fn_8003FE90(temp_r31->unk_08[arg0][1], temp_r30 % 10);
espBankSet(temp_r31->unk_08[arg0][0], temp_r30 / 10);
espBankSet(temp_r31->unk_08[arg0][1], temp_r30 % 10);
}
void fn_2_169C(s16 arg0) {
@ -303,14 +303,14 @@ void fn_2_169C(s16 arg0) {
temp_r31 = lbl_2_bss_E0->unk_5C;
temp_r28 = lbl_2_bss_118[arg0]->unk_5C;
for (i = 0; i < 2; i++) {
fn_8003FBA8(temp_r31->unk_50[arg0][i]);
espDispOn(temp_r31->unk_50[arg0][i]);
}
temp_r31->unk_90[arg0] = 1.0f;
temp_r31->unk_C0[arg0] = ((arg0 > 1) * 0x18E) + 0x34;
temp_r31->unk_B0[arg0] = ((arg0 & 1) * 0x1BA) + 0x29;
temp_r31->unk_100[arg0] = 0.0f;
temp_r31->unk_F0[arg0] = 0.0f;
fn_8003FE90(temp_r31->unk_50[arg0][1], temp_r28->unk_68[2][0]);
espBankSet(temp_r31->unk_50[arg0][1], temp_r28->unk_68[2][0]);
temp_r31->unk_130[arg0] = 0x2D;
}
@ -324,14 +324,14 @@ void fn_2_1858(s16 arg0, s16 arg1) {
temp_r31 = lbl_2_bss_E0->unk_5C;
temp_r29 = lbl_2_bss_118[arg0]->unk_5C;
for (var_r28 = 0; var_r28 < 2; var_r28++) {
fn_8003FBA8(temp_r31->unk_68[arg0][var_r28]);
espDispOn(temp_r31->unk_68[arg0][var_r28]);
}
temp_r31->unk_A0[arg0] = 1.0f;
temp_r31->unk_E0[arg0] = ((arg0 > 1) * 0x18E) + 0x14;
temp_r31->unk_D0[arg0] = ((arg0 & 1) * 0x1BA) + 0x29;
temp_r31->unk_120[arg0] = 0.0f;
temp_r31->unk_110[arg0] = 0.0f;
fn_8003FE90(temp_r31->unk_68[arg0][1], arg1);
espBankSet(temp_r31->unk_68[arg0][1], arg1);
temp_r31->unk_138[arg0] = 0x2D;
temp_r31->unk_140[arg0] = arg1;
temp_r29->unk_68[1][2] -= arg1;
@ -347,7 +347,7 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// unkStructBSS114 *temp;
// unkStructBSS114 *temp2;
// temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124);
// temp = Hu3DModelObjPtrGet(arg0->unk_40->unk_00[0], lbl_2_data_124);
// temp->unk_04 = 2;
// sp20.x = -2500.0f;
@ -369,7 +369,7 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// unkStructBSS114* temp;
// unkStructBSS114* temp2;
// temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[1]);
// temp = Hu3DModelObjPtrGet(arg0->unk_40->unk_00[0], lbl_2_data_124[1]);
// temp->unk_04 = 2;
// sp14.x = -1000.0f;
// sp14.y = 0.0f;
@ -378,7 +378,7 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// sp8.y = 100.0f;
// sp8.z = 100.0f;
// temp2 = fn_2_FC40(0xE, &sp14, &sp8, &sp14);
// fn_8002FB20(temp2, 3.0f, 0.0f, 0.0f);
// omSetRot(temp2, 3.0f, 0.0f, 0.0f);
// fn_8002FB30(temp2, 0.0f, 0.0f, 50.0f);
// fn_2_E6BC(temp2->unk_4C, 4.5f, 2.5f, 0.08f, 0.9f, 1.0f);
// }
@ -389,7 +389,7 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// Vec3f sp8;
// unkStructBSS114 *temp;
// temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[2]);
// temp = Hu3DModelObjPtrGet(arg0->unk_40->unk_00[0], lbl_2_data_124[2]);
// temp->unk_04 = 2;
// sp20.x = 500.0f;
// sp20.y = 0.0f;
@ -411,14 +411,14 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// unkStructBSS114 *temp2;
// unkStructBSS114 *temp;
// temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[3]);
// temp = Hu3DModelObjPtrGet(arg0->unk_40->unk_00[0], lbl_2_data_124[3]);
// temp->unk_04 = 2;
// sp2C.x = 0.0f;
// sp2C.y = -150.0f + 0.003921569f * (300.0f * fn_800325F4());
// sp2C.y = -150.0f + 0.003921569f * (300.0f * frand());
// sp2C.z = -23000.0f;
// fn_2_91AC(lbl_2_bss_100.unk_00, &sp2C);
// sp2C.x = 0.0f;
// sp2C.y = -150.0f + 0.003921569f * (300.0f * fn_800325F4());
// sp2C.y = -150.0f + 0.003921569f * (300.0f * frand());
// sp2C.z = -25000.0f;
// fn_2_91AC(lbl_2_bss_100.unk_04, &sp2C);
// sp2C.x = 5500.0f;
@ -436,28 +436,28 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// sp8.y = -360.0f;
// sp8.z = -26300.0f;
// lbl_2_bss_D0 = fn_2_10A88(&sp8, 3);
// lbl_2_bss_90[0] = fn_80032EAC(0x50B, &sp8);
// lbl_2_bss_90[0] = HuAudFXEmiterPlay(0x50B, &sp8);
// }
// void fn_2_20B0(omObjData* arg0) {
// Vec3f sp8;
// omObjData* temp;
// temp = fn_80021444(arg0->model[0], lbl_2_data_124[4]);
// temp = Hu3DModelObjPtrGet(arg0->model[0], lbl_2_data_124[4]);
// temp->unk_04 = 2;
// fn_8002127C(arg0->unk_40->unk_08[1][0], 1);
// Hu3DModelAttrReset(arg0->unk_40->unk_08[1][0], 1);
// sp8.x = 0.0f;
// sp8.y = -370.0f;
// sp8.z = -43000.0f;
// lbl_2_bss_8 = fn_2_10A88(&sp8, 3);
// lbl_2_bss_90[1] = fn_80032EAC(0x50B, &sp8);
// lbl_2_bss_90[1] = HuAudFXEmiterPlay(0x50B, &sp8);
// sp8.x = 380.0f;
// sp8.y = -440.0f;
// sp8.z = -32000.0f;
// lbl_2_bss_CC = fn_2_10A88(&sp8, 3);
// lbl_2_bss_90[2] = fn_80032EAC(0x50B, &sp8);
// fn_8002127C(arg0->unk_40->unk_00[2], 1);
// fn_80021228(arg0->unk_40->unk_00[2], -0x3FFFFFFF);
// lbl_2_bss_90[2] = HuAudFXEmiterPlay(0x50B, &sp8);
// Hu3DModelAttrReset(arg0->unk_40->unk_00[2], 1);
// Hu3DModelAttrSet(arg0->unk_40->unk_00[2], -0x3FFFFFFF);
// }
// void fn_2_21F8(omObjData* arg0) {
@ -469,14 +469,14 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// s32 var_r30_2;
// unkStructBSS114* temp;
// temp = fn_80021444(arg0->model[0], *lbl_2_data_124);
// temp = Hu3DModelObjPtrGet(arg0->model[0], *lbl_2_data_124);
// temp->unk_04 = 2;
// fn_8002127C(arg0->model[0], 1);
// fn_8002127C(arg0->model[1], 1);
// fn_80021228(arg0->model[0], 0x40000001);
// fn_80021228(arg0->model[1], 0x40000001);
// fn_8002127C(arg0->model[3], 1);
// Hu3DModelAttrReset(arg0->model[0], 1);
// Hu3DModelAttrReset(arg0->model[1], 1);
// Hu3DModelAttrSet(arg0->model[0], 0x40000001);
// Hu3DModelAttrSet(arg0->model[1], 0x40000001);
// Hu3DModelAttrReset(arg0->model[3], 1);
// lbl_2_bss_44.x = 0.0f;
// lbl_2_bss_44.y = 100.0f;
// lbl_2_bss_44.z = 0.0f;
@ -486,32 +486,32 @@ void fn_2_1858(s16 arg0, s16 arg1) {
// lbl_2_bss_2C.x = 0.0f;
// lbl_2_bss_2C.y = 1.0f;
// lbl_2_bss_2C.z = 0.0f;
// fn_80022144(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38);
// Hu3DCameraPosSetV(1, &lbl_2_bss_44, &lbl_2_bss_2C, &lbl_2_bss_38);
// Hu3DCameraPerspectiveSet(1, lbl_2_bss_12C, lbl_2_bss_128, lbl_2_bss_124, 1.2f);
// lbl_2_bss_54.unk_00 = lbl_2_bss_44;
// fn_2_D088(NULL);
// sp20 = lbl_2_bss_44;
// PSVECSubtract(&lbl_2_bss_38, &lbl_2_bss_44, &sp2C);
// fn_800BBFB0(&sp2C, &sp2C);
// PSVECNormalize(&sp2C, &sp2C);
// fn_80032D3C(&sp20, &sp2C, lbl_2_bss_88, lbl_2_bss_84, 0x12C, 0x12C, 0x12C);
// sp14.x = 300.0f;
// sp14.y = -450.0f;
// sp14.z = -3100.0f;
// lbl_2_bss_D8 = fn_2_10A88(&sp14, 3);
// lbl_2_bss_90[0] = fn_80032EAC(0x50B, &sp14);
// lbl_2_bss_90[0] = HuAudFXEmiterPlay(0x50B, &sp14);
// sp14.x = -300.0f;
// sp14.y = -340.0f;
// sp14.z = -4720.0f;
// lbl_2_bss_D4 = fn_2_10A88(&sp14, 3);
// lbl_2_bss_90[1] = fn_80032EAC(0x50B, &sp14);
// fn_8002127C(arg0->model[2], 1);
// fn_80021228(arg0->model[2], -0x3FFFFFFF);
// lbl_2_bss_90[1] = HuAudFXEmiterPlay(0x50B, &sp14);
// Hu3DModelAttrReset(arg0->model[2], 1);
// Hu3DModelAttrSet(arg0->model[2], -0x3FFFFFFF);
// var_r30_2 = 4;
// for (i = 0; i < var_r30_2; i++) {
// sp8.x = -340.0f + (0.003921569f * (680.0f * fn_800325F4()));
// sp8.y = -250.0f + (0.003921569f * (500.0f * fn_800325F4()));
// sp8.z = ((-1550.0f - (f32) (i * 0x104)) - 40.0f) + (0.003921569f * (80.0f * fn_800325F4()));
// sp8.x = -340.0f + (0.003921569f * (680.0f * frand()));
// sp8.y = -250.0f + (0.003921569f * (500.0f * frand()));
// sp8.z = ((-1550.0f - (f32) (i * 0x104)) - 40.0f) + (0.003921569f * (80.0f * frand()));
// fn_2_10A88(&sp8, 0);
// }
// }
@ -525,9 +525,9 @@ void fn_2_33B4(omObjData* arg0) {
}
void fn_2_14738(omObjData* arg0) {
fn_8002FB10(arg0, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z);
omSetTra(arg0, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z);
if (arg0->work[0] == 1U) {
fn_80021228(*arg0->model, 1);
fn_8002F7AC(HuPrcCurrentGet(), arg0);
Hu3DModelAttrSet(*arg0->model, 1);
omDelObjEx(HuPrcCurrentGet(), arg0);
}
}

View file

@ -57,45 +57,45 @@ extern unkStruct18BFC0 lbl_8018BFC0;
extern unkStruct18C8FC lbl_8018C8FC[];
extern s16 lbl_801D3CC2;
void fn_80021228(s16, s32);
void fn_8002127C(s16, s32);
unkStructBSS114* fn_80021444(s16, s32);
void fn_80022144(s32, Vec3f*, Vec3f*, Vec3f*);
s16 fn_80022ADC(Vec3f*, Vec3f*, s32*);
void fn_80022EB4(s16);
void fn_800240E4(s16);
void fn_800241C0(f32, f32, f32);
void fn_80024348(Vec3f*, Vec3f*, Vec3f*);
void fn_800243AC(f32);
void fn_800240EC(f32, f32, u8, u8, u8);
void fn_8002EF20(s16, s16);
omObjData* fn_8002F454(void*, s16, s16, s16, s16, void*);
void fn_8002F7AC(s32*, omObjData*);
void fn_8002F9C4(void*, s16, s16);
unkStructBSS114* fn_8002FAC0(void*, s16);
void fn_8002FB10(void*, f32, f32, f32);
void fn_8002FB20(unkStructBSS114*, f32, f32, f32);
void fn_8002FB30(unkStructBSS114*, f32, f32, f32);
u8 fn_800325F4(void);
s32 fn_80032A94(s32);
void fn_80032BC4(s32);
s32 fn_80032EAC(s32, Vec3f*);
void fn_80032F7C(void);
void fn_80033140(s32, s32);
s16 fn_80035794(s32, ...);
s16 fn_8003F958(s32, s16, s16);
void fn_8003FBA8(s16);
void fn_8003FBEC(s16);
void fn_8003FC30(s16, s16);
void fn_8003FCC0(s16, f32, f32);
void fn_8003FDA8(s16, f32);
void fn_8003FDF0(s16, s8, s8, s8);
void fn_8003FE90(s16, s16);
void fn_8003FED8(s16, s16);
void fn_800414AC(s16, s16, s16);
u8 fn_80041600(void);
void fn_80057E80(unkStruct18FC10*);
f32 fn_800BBFB0(Vec3f*, Vec3f*);
extern void Hu3DModelAttrSet(s16, s32);
extern void Hu3DModelAttrReset(s16, s32);
extern omObjData* Hu3DModelObjPtrGet(s16, s32);
extern void Hu3DCameraPosSetV(s32, Vec3f*, Vec3f*, Vec3f*);
extern s16 Hu3DGLightCreateV(Vec3f*, Vec3f*, s32*);
extern void Hu3DGLightInfinitytSet(s16);
extern void Hu3DReflectNoSet(s16);
extern void Hu3DShadowCreate(f32, f32, f32);
extern void Hu3DShadowPosSet(Vec3f*, Vec3f*, Vec3f*);
extern void Hu3DShadowTPLvlSet(f32);
extern void Hu3DFogSet(f32, f32, u8, u8, u8);
extern void omOvlReturnEx(s16, s16);
extern omObjData* omAddObjEx(void*, s16, s16, s16, s16, void*);
extern void omDelObjEx(s32*, omObjData*);
extern void omMakeGroupEx(omObjData*, s16, s16);
extern omObjData* omGetGroupMemberListEx(omObjData*, s16);
extern void omSetTra(omObjData*, f32, f32, f32);
extern void omSetRot(omObjData*, f32, f32, f32);
extern void omSetSca(omObjData*, f32, f32, f32);
extern u8 frand(void);
extern s32 HuAudFXPlay(s32);
extern void HuAudFXStop(s32);
extern s32 HuAudFXEmiterPlay(s32, Vec3f*);
extern void HuAudFXListnerKill(void);
extern void HuAudSeqFadeOut(s32, s32);
extern s16 MGSeqCreate(s32, ...);
extern s16 espEntry(s32, s16, s16);
extern void espDispOn(s16);
extern void espDispOff(s16);
extern void espAttrSet(s16, s16);
extern void espPosSet(s16, f32, f32);
extern void espTPLvlSet(s16, f32);
extern void espColorSet(s16, s8, s8, s8);
extern void espBankSet(s16, s16);
extern void espDrawNoSet(s16, s16);
extern void WipeCreate(s16, s16, s16);
extern u8 WipeStatGet(void);
extern void omGameSysInit(omObjData*);
extern f32 PSVECNormalize(Vec3f*, Vec3f*);
// local data //
typedef struct unkStructBSS54 {
@ -159,11 +159,11 @@ extern f32 lbl_2_bss_124;
extern f32 lbl_2_bss_128;
extern f32 lbl_2_bss_12C;
void fn_2_A0(void);
void M401ObjectSetup(void);
void fn_2_70C(unkStructBSS114*);
void fn_2_A10(void);
void fn_2_A98(void);
void fn_2_AEC(s16);
void M401SetFogAndBG(void);
void M401SetSpriteDisp(s16);
void fn_2_C1C(unkStructBSS114*);
void fn_2_11D0(unkStructBSS114*);
void fn_2_15C4(s16);

View file

@ -1,9 +1,36 @@
#include "common.h"
typedef struct ThreeDDataStruct {
char unk_00[0xC4];
s32 unk_C4;
char unk_C8[0x5C];
f32 unk_00;
f32 unk_04;
f32 unk_08;
s16 unk_0C;
s16 unk_0E;
char unk_10[0x12];
u16 unk_22;
char unk_24[0x2C];
s32 unk_50;
s32 unk_54;
char unk_58[0xC];
f32 unk_64;
char unk_68[0xC];
f32 unk_74;
char unk_78[0x1C];
f32 unk_94;
char unk_98[0x2C];
void*unk_C4;
char unk_C8[0x4];
f32 unk_CC;
f32 unk_D0;
f32 unk_D4;
f32 unk_D8;
f32 unk_DC;
f32 unk_E0;
f32 unk_E4;
f32 unk_E8;
f32 unk_EC;
f32 unk_F0[4];
char unk_100[0x24];
} ThreeDDataStruct;
typedef struct ThreeDCameraStruct {
f32 unk_00;
@ -64,7 +91,7 @@ void Hu3DInit(void) {
data = Hu3DData;
for (i = 0; i < 0x200; i++, data++) {
data->unk_C4 = 0;
data->unk_C4 = NULL;
}
camera = Hu3DCamera;
for (i = 0; i < 0x10; i++, camera++) {