match m438Dll/main

This commit is contained in:
CreateSource 2024-12-29 16:19:06 -05:00
parent f1951c49bc
commit c914104198
3 changed files with 132 additions and 178 deletions

View file

@ -381,7 +381,7 @@ lbl_1_data_18 = .data:0x00000018; // type:object size:0x4
lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC lbl_1_data_1C = .data:0x0000001C; // type:object size:0xC
lbl_1_data_28 = .data:0x00000028; // type:object size:0xC lbl_1_data_28 = .data:0x00000028; // type:object size:0xC
lbl_1_data_34 = .data:0x00000034; // type:object size:0xC lbl_1_data_34 = .data:0x00000034; // type:object size:0xC
lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 data:string lbl_1_data_40 = .data:0x00000040; // type:object size:0x23 scope:local data:string
lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte lbl_1_data_64 = .data:0x00000064; // type:object size:0x4 data:4byte
lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 data:float lbl_1_data_68 = .data:0x00000068; // type:object size:0x420 data:float
lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C lbl_1_data_488 = .data:0x00000488; // type:object size:0x2C
@ -434,6 +434,7 @@ lbl_1_data_8C8 = .data:0x000008C8; // type:object size:0x9 data:string
lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string lbl_1_data_8D1 = .data:0x000008D1; // type:object size:0x7 data:string
lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60 lbl_1_data_8D8 = .data:0x000008D8; // type:object size:0x60
lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string lbl_1_data_938 = .data:0x00000938; // type:object size:0xB data:string
lbl_1_bss_0 = .bss:0x00000000; // type:object size:0x4 data:4byte
lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte lbl_1_bss_4 = .bss:0x00000004; // type:object size:0x4 data:4byte
lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte lbl_1_bss_8 = .bss:0x00000008; // type:object size:0x4 data:4byte
lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288 lbl_1_bss_C = .bss:0x0000000C; // type:object size:0x288

View file

@ -1146,7 +1146,7 @@ config.libs = [
Rel( Rel(
"m438Dll", # Chain Chomp Fever "m438Dll", # Chain Chomp Fever
objects={ objects={
Object(NonMatching, "REL/m438Dll/main.c"), Object(MatchingFor("GMPE01_00"), "REL/m438Dll/main.c"),
Object(NonMatching, "REL/m438Dll/map.c"), Object(NonMatching, "REL/m438Dll/map.c"),
Object(NonMatching, "REL/m438Dll/fire.c"), Object(NonMatching, "REL/m438Dll/fire.c"),
}, },

View file

@ -290,12 +290,13 @@ s16 lbl_1_bss_DAA[4];
s16 lbl_1_bss_DA8; s16 lbl_1_bss_DA8;
s32 lbl_1_bss_DA4; s32 lbl_1_bss_DA4;
void *lbl_1_bss_BA4[0x80]; void *lbl_1_bss_BA4[0x80];
u32 lbl_1_bss_B98; u32 lbl_1_bss_B98[3];
M438StructBss298 lbl_1_bss_298[48]; M438StructBss298 lbl_1_bss_298[48];
s32 lbl_1_bss_294; s32 lbl_1_bss_294;
u16 lbl_1_bss_C[0x144]; u16 lbl_1_bss_C[0x144];
s32 lbl_1_bss_8; s32 lbl_1_bss_8;
s32 lbl_1_bss_4; s32 lbl_1_bss_4;
static u32 lbl_1_bss_0;
void ObjectSetup(void) void ObjectSetup(void)
{ {
@ -458,7 +459,7 @@ void fn_1_974(omObjData *object)
if (lbl_1_data_64 == -1 && (MGSeqStatGet(lbl_1_bss_DB6) & 0x10) != 0) { if (lbl_1_data_64 == -1 && (MGSeqStatGet(lbl_1_bss_DB6) & 0x10) != 0) {
lbl_1_data_64 = HuAudSeqPlay(0x49); lbl_1_data_64 = HuAudSeqPlay(0x49);
} }
lbl_1_bss_B98 = 0x12C; lbl_1_bss_B98[0] = 0x12C;
break; break;
case 7: case 7:
var_r29 = 0; var_r29 = 0;
@ -481,8 +482,8 @@ void fn_1_974(omObjData *object)
} }
break; break;
case 8: case 8:
if (lbl_1_bss_B98 != 0) { if (lbl_1_bss_B98[0] != 0) {
lbl_1_bss_B98--; lbl_1_bss_B98[0]--;
} }
var_r24 = 0; var_r24 = 0;
for (var_r31 = 0; var_r31 < 4; var_r31++) { for (var_r31 = 0; var_r31 < 4; var_r31++) {
@ -502,7 +503,7 @@ void fn_1_974(omObjData *object)
} }
HuAudSeqFadeOut(lbl_1_data_64, 0x3C); HuAudSeqFadeOut(lbl_1_data_64, 0x3C);
} }
else if ((MGSeqStatGet(lbl_1_bss_DB6) == 0) && (var_r24 == 0 || lbl_1_bss_B98 == 0)) { else if ((MGSeqStatGet(lbl_1_bss_DB6) == 0) && (var_r24 == 0 || lbl_1_bss_B98[0] == 0)) {
lbl_1_bss_DB6 = -1; lbl_1_bss_DB6 = -1;
lbl_1_bss_DB2 = 0x3C; lbl_1_bss_DB2 = 0x3C;
lbl_1_bss_DBA += 1; lbl_1_bss_DBA += 1;
@ -3090,176 +3091,128 @@ Vec lbl_1_data_69C[9] = {
s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 }; s32 lbl_1_data_708[9] = { 0, -19, -18, -17, -1, 1, 0x11, 0x12, 0x13 };
s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 }; s32 lbl_1_data_72C[9] = { 0, -38, -54, -34, -3, 3, 0x22, 0x36, 0x26 };
s32 fn_1_AE18(u32 arg0, f32 arg8, Vec* arg1, Vec* arg2) {
s32 sp58[9];
Vec sp4C;
Vec sp40;
Vec sp34;
Vec sp28;
Vec sp1C;
u8* sp18;
u32 sp14;
u32 sp10;
f32 var_f31;
f32 var_f30;
f32 var_f29;
f32 temp_f28;
s32 var_r31;
s32 var_r30;
u32 var_r29;
s32 var_r28;
u16* temp_r27;
s32 var_r26;
M438MainWork *var_r25;
u8* temp_r24;
s32 var_r23;
u8* var_r22;
u16* var_r21;
u32 var_r19;
u32 var_r18;
u8* temp_r17;
// s32 fn_1_AE18(u32 arg0, Vec *arg1, Vec *arg2) memset(lbl_1_bss_C, 0, 0x288);
// { sp40 = *arg1;
// Vec sp4C; sp10 = 0.028235294f * (sp40.x - -850.0f);
// float sp48; sp14 = 0.028235294f * (sp40.z - -850.0f);
// float sp44; temp_r17 = &(&(*OM_GET_DATA_PTR(lbl_1_bss_DBC, M438UnkType))[sp10])[sp14 * 0x30];
// float sp40; sp40.y = 0.0f;
// Vec sp34; *arg2 = sp40;
// float sp30; var_r25 = lbl_1_bss_DC4[arg0]->data;
// float sp2C; temp_f28 = var_r25->unk_3C;
// s32 sp28; var_r19 = 0x2710;
// Vec sp1C; var_r18 = 0;
// void *sp18;
// u32 sp14; for (var_r30 = 0; var_r30 < 9; var_r30++) {
// u32 sp10; PSVECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34);
// Vec *spC; sp18 = temp_r17 + lbl_1_data_5E8[var_r30];
// u32 sp8; (void)temp_r17;
// Vec *var_r20; var_r21 = &(&lbl_1_bss_C[lbl_1_data_708[var_r30]])[0xAB];
// float temp_r0; var_f31 = 0.0f;
// float temp_r3; var_r29 = 0;
// float var_f22; var_r22 = sp18;
// float var_f23; sp28 = sp34;
// float var_f24;
// float var_f25; for (var_r23 = 0; var_r23 < 3; var_r23++) {
// float var_f26; for (var_r28 = 0; var_r28 < 9; var_r28++) {
// float var_f27; temp_r24 = var_r22 + lbl_1_data_5E8[var_r28];
// float var_f28; PSVECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C);
// float var_f29; if ((lbl_1_bss_DBC->data <= temp_r24) && (((u8*)lbl_1_bss_DBC->data + 0x900 > temp_r24) && (fabs(sp4C.x) < 850.0) && (fabs(sp4C.z) < 850.0))) {
// float var_f30; var_f31++;
// float var_f31; temp_r27 = &var_r21[lbl_1_data_708[var_r28]];
// s32 var_r18; if (*temp_r27 == 0) {
// s32 var_r23; var_r31 = fn_1_A8FC(&sp4C, temp_f28);
// s32 var_r26; var_r31 += *temp_r24;
// s32 var_r28; var_f29 = 0.0f;
// s32 var_r30; if (var_r31 < 0x3C) {
// u16 *var_r21; var_f29 = (1.0f / 60.0f) * (0x3C - var_r31);
// u16 *var_r27; }
// u16 var_r31; var_f29 = 80.0f + (100.0f * (2.5f * var_f29));
// u32 temp_r3_2; for (var_r26 = 0; var_r26 < 4; var_r26++) {
// u32 var_r19; if (var_r26 != arg0) {
// u32 var_r29; var_r25 = lbl_1_bss_DC4[var_r26]->data;
// u8 *var_r24; PSVECSubtract(&sp4C, &var_r25->unk_6C, &sp1C);
// void *var_r17; sp1C.y = 0.0f;
// void *var_r22; var_f30 = PSVECMag(&sp1C);
// void *var_r25; if (var_f30 < var_f29) {
var_f30 = var_f29 - var_f30;
var_f30 *= (40.0f / var_f29);
var_r31 += var_f30;
}
}
}
*temp_r27 = ++var_r31;
} else {
var_r31 = *temp_r27;
}
var_r29 += var_r31;
if ((var_r28 == 0) && (var_r23 == 0)) {
var_r29 += var_r31 * 3;
var_f31 += 3.0f;
}
}
}
PSVECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28);
var_r22 += lbl_1_data_678[var_r30];
var_r21 = &var_r21[lbl_1_data_72C[var_r30]];
var_f31 *= 2.0f;
var_r29 *= 2.0f;
}
if (var_f31 > 1.0f) {
var_r29 /= var_f31;
}
if (var_r19 > var_r29) {
var_r18 = var_r30;
var_r19 = var_r29;
*arg2 = sp34;
}
sp58[var_r30] = var_r29;
}
if (var_r18 != 0) {
return 1;
}
return 0;
}
// sp8 = arg0; f32 fn_1_B440(Vec* arg0, Vec* arg1, Vec* arg2) {
// spC = arg1; Vec sp10;
// var_r20 = arg2; f32 temp_f30;
// memset(lbl_1_bss_C, 0, 0x288); f32 var_f31;
// temp_r3 = arg1->x;
// sp40 = temp_r3; PSVECSubtract(arg1, arg0, &sp10);
// sp44 = arg1->y; var_f31 = PSVECDotProduct(&sp10, arg2);
// temp_r0 = arg1->z; temp_f30 = -PSVECSquareMag(arg2);
// sp48 = temp_r0; if (temp_f30 != 0.0f) {
// temp_r3_2 = 0.028235294f * (sp40 - -850.0f); var_f31 /= temp_f30;
// sp10 = temp_r3_2; }
// sp14 = 0.028235294f * (sp48 - -850.0f); return var_f31;
// var_r17 = temp_r3_2 + (sp14 * 0x30); }
// var_r17 += lbl_1_bss_DBC->data;
// sp44 = 0.0f;
// var_r20->x = temp_r3;
// var_r20->y = sp44;
// var_r20->z = temp_r0;
// var_r25 = lbl_1_bss_DC4[sp8]->data;
// var_f28 = var_r25->unk_3C;
// var_r19 = 0x2710;
// var_r18 = 0;
// for (var_r30 = 0; var_r30 < 9; var_r30++) {
// VECAdd(&sp40, &lbl_1_data_60C[var_r30], &sp34);
// sp18 = var_r17 + lbl_1_data_5E8[var_r30];
// var_r21 = &lbl_1_bss_C[lbl_1_data_708[var_r30]] + 0x156;
// var_f31 = 0.0f;
// var_r29 = 0;
// var_r22 = sp18;
// sp28 = sp34;
// sp2C = sp34.y;
// sp30 = sp34.z;
// for (var_r23 = 0; var_r23 < 3; var_r23++) {
// for (var_r28 = 0; var_r28 < 9; var_r28++) {
// var_r24 = var_r22 + lbl_1_data_5E8[var_r28];
// VECAdd(&sp28, &lbl_1_data_60C[var_r28], &sp4C);
// if ((lbl_1_bss_DBC->data <= var_r24) && ((lbl_1_bss_DBC->data + 0x900) > var_r24)) {
// var_f27 = sp4C;
// var_f25 = fabs(var_f27);
// var_f24 = var_f25;
// if (var_f24 < 850.0) {
// var_f26 = sp4C.z;
// var_f23 = fabs(var_f26);
// var_f22 = var_f23;
// if (var_f22 < 850.0) {
// var_f31 += 1.0f;
// var_r27 = &var_r21[lbl_1_data_708[var_r28]];
// if (*var_r27 == 0) {
// var_r31 = fn_1_A8FC(&sp4C, var_f28);
// var_r31 += *var_r24;
// var_f29 = 0.0f;
// if (var_r31 < 0x3C) {
// var_f29 = 0.016666668f * (0x3C - var_r31);
// }
// var_f29 = 80.0f + (100.0f * (2.5f * var_f29));
// for (var_r26 = 0; var_r26 < 4; var_r26++) {
// if (var_r26 != sp8) {
// var_r25 = lbl_1_bss_DC4[var_r26]->data;
// VECSubtract(&sp4C, var_r25 + 0x6C, &sp1C);
// sp1C.y = 0.0f;
// var_f30 = VECMag(&sp1C);
// if (var_f30 < var_f29) {
// var_f30 = var_f29 - var_f30;
// var_f30 *= 40.0f / var_f29;
// var_r31 = var_r31 + var_f30;
// }
// }
// }
// var_r31++;
// *var_r27 = var_r31;
// }
// else {
// var_r31 = *var_r27;
// }
// var_r29 += var_r31;
// if ((var_r28 == 0) && (var_r23 == 0)) {
// var_r29 += var_r31 * 3;
// var_f31 += 3.0f;
// }
// }
// }
// }
// }
// VECAdd(&sp28, &lbl_1_data_69C[var_r30], &sp28);
// var_r22 += lbl_1_data_678[var_r30];
// var_r21 = &var_r21[lbl_1_data_72C[var_r30]];
// var_f31 *= 2.0f;
// var_r29 = var_r29 * 2.0f;
// }
// if (var_f31 > 1.0f) {
// var_r29 = var_r29 / var_f31;
// }
// if (var_r19 > var_r29) {
// var_r18 = var_r30;
// var_r19 = var_r29;
// var_r20->x = sp34;
// var_r20->y = sp34.y;
// var_r20->z = sp34.z;
// }
// (&sp58[0])[var_r30] = var_r29;
// }
// if (var_r18 != 0) {
// return 1;
// }
// return 0;
// }
// float fn_1_B440(Vec *arg0, Vec *arg1, Vec *arg2)
// {
// Vec sp10;
// Vec *spC;
// Vec *sp8;
// Vec *var_r31;
// float var_f30;
// float var_f31;
// sp8 = arg0;
// spC = arg1;
// var_r31 = arg2;
// VECSubtract(spC, sp8, &sp10);
// var_f31 = VECDotProduct(&sp10, var_r31);
// var_f30 = -VECSquareMag(var_r31);
// if (var_f30 != 0.0f) {
// var_f31 /= var_f30;
// }
// return var_f31;
// }