lots of changes, really fast

M_PI added
fn_2_70C, fn_2_11D0-fn_2_1A38 added
This commit is contained in:
CreateSource 2023-11-30 21:23:40 -05:00
parent 8f1d6b9680
commit 45ed83af8f
4 changed files with 340 additions and 1135 deletions

View file

@ -6,6 +6,8 @@
#include "dolphin/os.h"
#include "dolphin/gx/GXStruct.h"
#define M_PI 3.141592653589793
extern u16 HuPadBtnDown[4];
extern u8 HuPadDStk[4];

File diff suppressed because it is too large Load diff

View file

@ -65,7 +65,59 @@ void fn_2_A0(void) {
lbl_2_bss_11C = fn_80032A94(0x50A);
}
// fn_2_70C
void fn_2_70C(unkStructBSS114* arg0) {
s16 var_r29;
unkSubstructBSS114* temp_r30_2;
s32 i;
switch (lbl_2_bss_120) {
case 0:
break;
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);
}
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->unk_4C = 0;
var_r29 = 0;
lbl_2_bss_BA = 0;
for (i = 0; i < 4; i++) {
temp_r30_2 = lbl_2_bss_118[i]->unk_5C;
lbl_2_bss_118[i]->unk_14 = &fn_2_48A0;
temp_r30_2->unk_00[0] = 5;
temp_r30_2->unk_68[0][0] = 0;
if (temp_r30_2->unk_68[1][2] > var_r29) {
var_r29 = temp_r30_2->unk_68[1][2];
}
lbl_2_bss_B2[i] = -1;
lbl_2_bss_AA[i] = -1;
}
if ((s16) var_r29 > 0) {
for (i = 0; i < 4; i++) {
temp_r30_2 = lbl_2_bss_118[i]->unk_5C;
if (temp_r30_2->unk_68[1][2] == var_r29) {
lbl_2_bss_AA[lbl_2_bss_BA] = lbl_8018FC10[i].unk_00;
lbl_2_bss_B2[lbl_2_bss_BA++] = i;
temp_r30_2->unk_68[0][0] = 1;
}
}
}
OSReport(lbl_2_data_6F, lbl_2_bss_BA);
}
break;
}
if (lbl_801D3CC2 != 0) {
fn_800414AC(2, 0, 0x3C);
fn_80033140(lbl_2_bss_A4, 0x64);
fn_80032BC4(lbl_2_bss_11C);
arg0->unk_14 = &fn_2_A10;
}
}
void fn_2_A10(void) {
s32 i;
@ -166,10 +218,203 @@ void fn_2_C1C(unkStructBSS114* arg0) {
arg0->unk_14 = &fn_2_11D0;
}
void fn_2_11D0(unkStructBSS114* arg0) {
unkStructBSS114* sp1C;
Vec3f sp18;
Vec3f spC;
unkSubstructBSS114* sp8;
unkSubstructBSS114* temp_r31;
s32 i;
s32 j;
unkStructBSS114* temp_r28;
s16 temp;
temp_r31 = arg0->unk_5C;
for (i = 0; i < 4; i++) {
sp8 = lbl_2_bss_118[i]->unk_5C;
if (temp_r31->unk_130[i] != 0) {
temp_r28 = lbl_2_bss_118[i];
sp18.x = temp_r28->unk_18.x;
sp18.y = temp_r28->unk_18.y;
sp18.z = temp_r28->unk_18.z;
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]);
}
temp_r31->unk_C0[i] -= 0.5f;
temp_r31->unk_100[i] -= 1.0f;
if (temp_r31->unk_130[i] < 15) {
temp_r31->unk_90[i] -= 2.0f / 30.0f;
}
if (--temp_r31->unk_130[i] == 0) {
fn_8003FBEC(temp_r31->unk_50[i][0]);
fn_8003FBEC(temp_r31->unk_50[i][1]);
}
}
if (temp_r31->unk_138[i] != 0) {
temp_r28 = lbl_2_bss_118[i];
sp18.x = temp_r28->unk_18.x;
sp18.y = temp_r28->unk_18.y;
sp18.z = temp_r28->unk_18.z;
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]);
}
temp_r31->unk_E0[i] += 0.5f;
temp_r31->unk_120[i] += 1.0f;
if (temp_r31->unk_138[i] < 0xF) {
temp_r31->unk_A0[i] -= 2.0f / 30.0f;
}
if (--temp_r31->unk_138[i] == 0) {
fn_8003FBEC(temp_r31->unk_68[i][0]);
fn_8003FBEC(temp_r31->unk_68[i][1]);
}
}
fn_2_15C4(i);
}
}
void fn_2_15C4(s16 arg0) {
s32 temp_r30;
unkSubstructBSS114* temp_r31;
unkSubstructBSS114* temp_r29;
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);
}
void fn_2_169C(s16 arg0) {
s32 i;
unkSubstructBSS114* temp_r28;
unkSubstructBSS114* temp_r31;
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]);
}
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]);
temp_r31->unk_130[arg0] = 0x2D;
}
void fn_2_1858(s16 arg0, s16 arg1) {
s16 temp_r4;
s32 temp_r0;
s32 var_r28;
unkSubstructBSS114* temp_r29;
unkSubstructBSS114* temp_r31;
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]);
}
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);
temp_r31->unk_138[arg0] = 0x2D;
temp_r31->unk_140[arg0] = arg1;
temp_r29->unk_68[1][2] -= arg1;
if (temp_r29->unk_68[1][2] < 0) {
temp_r29->unk_68[1][2] = 0;
}
}
void fn_2_1A38(unkStructBSS114* arg0) {
Vec3f sp20;
Vec3f sp14;
Vec3f sp8;
unkStructBSS114 *temp;
unkStructBSS114 *temp2;
temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124);
temp->unk_04 = 2;
sp20.x = -2500.0f;
sp20.y = 150.0f;
sp20.z = -6800.0f;
sp14.x = 50.0f;
sp14.y = 50.0f;
sp14.z = 50.0f;
sp8.x = 1500.0f;
sp8.y = 150.0f;
sp8.z = -4800.0f;
temp2 = fn_2_FC40(0x12, &sp20, &sp14, &sp8);
fn_2_E6BC(temp2->unk_4C, 5.0f, 1.5f, 0.2f, 0.8f, 3.0f);
}
void fn_2_1B80(unkStructBSS114* arg0) {
Vec3f sp14;
Vec3f sp8;
unkStructBSS114* temp;
unkStructBSS114* temp2;
temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[1]);
temp->unk_04 = 2;
sp14.x = -1000.0f;
sp14.y = 0.0f;
sp14.z = -9100.0f;
sp8.x = 150.0f;
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);
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);
}
void fn_2_1CF0(unkStructBSS114* arg0) {
Vec3f sp20;
Vec3f sp14;
Vec3f sp8;
unkStructBSS114 *temp;
temp = fn_80021444(arg0->unk_40->unk_00[0], lbl_2_data_124[2]);
temp->unk_04 = 2;
sp20.x = 500.0f;
sp20.y = 0.0f;
sp20.z = -24300.0f;
sp14.x = 200.0f;
sp14.y = 100.0f;
sp14.z = 100.0f;
sp8.x = 1000.0f;
sp8.y = 0.0f;
sp8.z = -16300.0f;
fn_2_FC40(0x28, &sp20, &sp14, &sp8);
}
void fn_2_33B4(unkStructBSS114* arg0) {
fn_800210CC(arg0->unk_40->unk_00[3], 110.0f, 5.0 * fn_800EB910(M_PI * (f64) lbl_2_bss_10 / 180.0), -1500.0);
lbl_2_bss_10 += 2.0f;
if (lbl_2_bss_10 >= 360.0f) {
lbl_2_bss_10 -= 360.0f;
}
}
void fn_2_14738(unkStructBSS114* arg0) {
fn_8002FB10(arg0, lbl_2_bss_6C.x, lbl_2_bss_6C.y, lbl_2_bss_6C.z);
if (arg0->unk_4C == 1U) {
fn_80021228(*arg0->unk_40, 1);
fn_80021228(arg0->unk_40->unk_00[0], 1);
fn_8002F7AC(HuPrcCurrentGet(), arg0);
}
}

View file

@ -16,15 +16,26 @@ typedef struct unkSubstructBSS114 {
s16 unk_88[4];
f32 unk_90[4];
f32 unk_A0[4];
char unk_B0[0x80];
char unk_B0[0x10];
f32 unk_C0[4];
f32 unk_D0[4];
f32 unk_E0[4];
f32 unk_F0[4];
f32 unk_100[4];
f32 unk_110[4];
f32 unk_120[4];
s16 unk_130[4];
s16 unk_138[4];
s16 unk_140[4];
} unkSubstructBSS114;
typedef struct unkStructBSS114 {
char unk_00[0x14];
char unk_00[4];
s32 unk_04;
char unk_08[0xC];
void *unk_14;
char unk_18[0x28];
s16 *unk_40;
Vec3f unk_18;
char unk_24[0x1C];
unkSubstructBSS114 *unk_40;
char unk_44[0x8];
s32 unk_4C;
u32 unk_50;
@ -43,14 +54,23 @@ typedef struct unkStruct18C8FC {
extern unkStruct18FC10 lbl_8018FC10[];
extern unkStruct18BFC0 lbl_8018BFC0;
extern unkStruct18C8FC lbl_8018C8FC[];
extern s16 lbl_801D3CC2;
void fn_80021228(s16, s32);
unkStructBSS114* fn_80021444(s16, s32);
void fn_800240EC(f32, f32, u8, u8, u8);
void fn_8002EF20(s16, s16);
void fn_80032F7C(void);
u8 fn_80041600(void);
void fn_80021228(s16, s32);
unkStructBSS114* fn_8002F454(void*, s16, s16, s16, s16, void*);
void fn_8002F7AC(s32*, unkStructBSS114*);
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);
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);
@ -60,7 +80,9 @@ void fn_8003FDA8(s16, f32);
void fn_8003FDF0(s16, s8, s8, s8);
void fn_8003FE90(s16, s16);
void fn_8003FED8(s16, s16);
s16 fn_80022ADC(s32*, s32*, s32*);
void fn_800414AC(s16, s16, s16);
u8 fn_80041600(void);
s16 fn_80022ADC(Vec3f*, Vec3f*, s32*);
void fn_80022EB4(s16);
void fn_800240E4(s16);
void fn_800241C0(f32, f32, f32);
@ -81,60 +103,83 @@ typedef struct unkStructBSS100 {
void *unk_04;
} unkStructBSS100;
s16 lbl_2_data_4[8];
s32 lbl_2_data_14;
s32 lbl_2_data_20;
s32 lbl_2_data_2C;
Vec3f lbl_2_data_30;
Vec3f lbl_2_data_3C;
Vec3f lbl_2_data_48;
s32 lbl_2_data_80[8];
extern f32 lbl_2_data_0 = -7.1875f;
extern s16 lbl_2_data_4[8] = { 0, 1, 2, 3, 4, 5, 6, 7 };
extern Vec3f lbl_2_data_14 = { 1500.0f, 2500.0f, 1500.0f };
extern Vec3f lbl_2_data_20 = { 0.0f, -1.0f, 0.0f };
extern s32 lbl_2_data_2C = -1;
extern Vec3f lbl_2_data_30 = { 0.0f, 2500.0f, 0.0f };
extern Vec3f lbl_2_data_3C = { 0.0f, 1.0f, -1.0f };
extern Vec3f lbl_2_data_48 = { 0.0f, 0.0f, 0.0f };
extern char lbl_2_data_6F[] = "winnercnt:%d";
extern s32 lbl_2_data_80[8] = { 0x610000, 0x610001, 0x610002, 0x610003, 0x610004, 0x610005, 0x610006, 0x610007 };
extern s32 lbl_2_data_124[5];
unkStruct18FC10* lbl_2_bss_1C;
f32 lbl_2_bss_50;
unkStructBSS54 lbl_2_bss_54;
Vec3f lbl_2_bss_60;
Vec3f lbl_2_bss_6C;
f32 lbl_2_bss_84;
f32 lbl_2_bss_88;
s16 lbl_2_bss_A8;
s16 lbl_2_bss_BA;
s16 lbl_2_bss_BE;
void* lbl_2_bss_C8;
unkStructBSS114* lbl_2_bss_E0;
s32 lbl_2_bss_F4;
void* lbl_2_bss_F8;
void* lbl_2_bss_FC;
unkStructBSS100 lbl_2_bss_100;
unkStructBSS114* lbl_2_bss_108;
unkStructBSS114* lbl_2_bss_10C;
unkStructBSS114* lbl_2_bss_110;
unkStructBSS114* lbl_2_bss_114;
unkStructBSS114* lbl_2_bss_118[];
s32 lbl_2_bss_11C;
s16 lbl_2_bss_120;
f32 lbl_2_bss_124;
f32 lbl_2_bss_128;
f32 lbl_2_bss_12C;
extern f32 lbl_2_bss_10;
extern unkStruct18FC10* lbl_2_bss_1C;
extern f32 lbl_2_bss_50;
extern unkStructBSS54 lbl_2_bss_54;
extern Vec3f lbl_2_bss_60;
extern Vec3f lbl_2_bss_6C;
extern f32 lbl_2_bss_84;
extern f32 lbl_2_bss_88;
extern s32 lbl_2_bss_90;
extern s32 lbl_2_bss_A4;
extern s16 lbl_2_bss_A8;
extern s16 lbl_2_bss_AA[];
extern s16 lbl_2_bss_B2[];
extern s16 lbl_2_bss_BA;
extern s16 lbl_2_bss_BE;
extern s16 lbl_2_bss_C0;
extern void* lbl_2_bss_C8;
extern s32 lbl_2_bss_D0;
extern unkStructBSS114* lbl_2_bss_E0;
extern s32 lbl_2_bss_F4;
extern void* lbl_2_bss_F8;
extern void* lbl_2_bss_FC;
extern unkStructBSS100 lbl_2_bss_100;
extern unkStructBSS114* lbl_2_bss_108;
extern unkStructBSS114* lbl_2_bss_10C;
extern unkStructBSS114* lbl_2_bss_110;
extern unkStructBSS114* lbl_2_bss_114;
extern unkStructBSS114** lbl_2_bss_118;
extern s32 lbl_2_bss_11C;
extern s16 lbl_2_bss_120;
extern f32 lbl_2_bss_124;
extern f32 lbl_2_bss_128;
extern f32 lbl_2_bss_12C;
void fn_2_A0(void);
void fn_2_70C(void*);
void fn_2_70C(unkStructBSS114*);
void fn_2_A10(void);
void fn_2_A98(void);
void fn_2_AEC(s16);
void fn_2_C1C(unkStructBSS114*);
void fn_2_11D0(void*);
void fn_2_11D0(unkStructBSS114*);
void fn_2_15C4(s16);
void fn_2_169C(s16);
void fn_2_1858(s16, s16);
void fn_2_1A38(unkStructBSS114*);
void fn_2_1B80(unkStructBSS114*);
void fn_2_1CF0(unkStructBSS114*);
void fn_2_2FA4(void*);
void fn_2_3B24(void*);
void fn_2_48A0(void*);
void fn_2_7CB4(void*);
void fn_2_8E74(void*);
void fn_2_95E4(void*);
void fn_2_91AC(void*, Vec3f*);
void fn_2_9D00(void*);
void fn_2_BD90(void*);
void fn_2_C6DC(void*);
void fn_2_C130(void);
void fn_2_D088(void*);
void fn_2_DBCC(s16);
void fn_2_10710(void);
void fn_2_E6BC(s32, f32, f32, f32, f32, f32);
unkStructBSS114* fn_2_FC40(s32, Vec3f*, Vec3f*, Vec3f*);
void fn_2_10240(Vec3f*, Vec3f*);
void fn_2_1041C(void);
s16 fn_2_1079C(void);
s32 fn_2_14640(void*);
void fn_2_10710(void);
s16 fn_2_1079C(void);
s32 fn_2_10A88(Vec3f*, s16);