Attempt to decompile func0f13899c

This commit is contained in:
Ryan Dwyer 2021-01-16 17:33:17 +10:00
parent a882b51a92
commit abf1a0fa52
2 changed files with 107 additions and 25 deletions

View File

@ -839,33 +839,33 @@ void func0f13870c(void)
g_CreditsData->unk4200 = 0;
g_CreditsData->unk41ff = 7;
for (i = 0; i < ARRAYCOUNT(g_CreditsData->unk0000); i++) {
for (i = 0; i < ARRAYCOUNT(g_CreditsData->unk000c); i++) {
tmp = random() * (1.0f / U32_MAX);
g_CreditsData->unk0000[i].unk0c = (tmp + tmp) * 3000.0f - 3000.0f;
g_CreditsData->unk000c[i].unk00 = (tmp + tmp) * 3000.0f - 3000.0f;
tmp = random() * (1.0f / U32_MAX);
g_CreditsData->unk0000[i].unk10 = (tmp + tmp) * 3000.0f - 3000.0f;
g_CreditsData->unk000c[i].unk04 = (tmp + tmp) * 3000.0f - 3000.0f;
g_CreditsData->unk0000[i + 1].unk06 = random() % 4;
g_CreditsData->unk0000[i + 1].unk08 = random() % 4;
g_CreditsData->unk0000[i + 1].unk00 = random() * (1.0f / U32_MAX) * M_BADTAU;
g_CreditsData->unk000c[i].unk12 = random() % 4;
g_CreditsData->unk000c[i].unk14 = random() % 4;
g_CreditsData->unk000c[i].unk0c = random() * (1.0f / U32_MAX) * M_BADTAU;
if (g_CreditsData->unk4200 < g_CreditsData->unk41ff) {
g_CreditsData->unk0000[i + 1].unk07 = g_CreditsData->unk4200
g_CreditsData->unk000c[i].unk13 = g_CreditsData->unk4200
+ (random() % (g_CreditsData->unk41ff - g_CreditsData->unk4200));
} else {
g_CreditsData->unk0000[i + 1].unk07 = g_CreditsData->unk4200;
g_CreditsData->unk000c[i].unk13 = g_CreditsData->unk4200;
}
g_CreditsData->unk0000[i + 1].unk04 = g_CreditsData->unk41fc;
g_CreditsData->unk000c[i].unk10 = g_CreditsData->unk41fc;
if (random() % 2 == 1) {
g_CreditsData->unk0000[i + 1].unk05 = g_CreditsData->unk41fd;
g_CreditsData->unk000c[i].unk11 = g_CreditsData->unk41fd;
} else {
g_CreditsData->unk0000[i + 1].unk05 = g_CreditsData->unk41fe;
g_CreditsData->unk000c[i].unk11 = g_CreditsData->unk41fe;
}
g_CreditsData->unk0000[i].unk14 = random() * (1.0f / U32_MAX) * -8000.0f;
g_CreditsData->unk000c[i].unk08 = random() * (1.0f / U32_MAX) * -8000.0f;
}
}
@ -1215,6 +1215,88 @@ glabel var7f1b5824
/* f138e68: 27bd0048 */ addiu $sp,$sp,0x48
);
// Mismatch: 30.0f should be loaded earlier and needs to go into a callee-save
// register.
//void func0f13899c(void)
//{
// s32 i;
// f32 tmp;
//
// if (g_CreditsData->unk41f5 >= 0) {
// g_CreditsData->unk41f8 += g_Vars.diffframe240f / 720.0f;
//
// if (g_CreditsData->unk41f8 > 1.0f) {
// g_CreditsData->unk41f6 = g_CreditsData->unk41f5;
// g_CreditsData->unk41f5 = -1;
// }
// } else {
// if (random() * (1.0f / U32_MAX) < 0.007f && contGetButtons(0, L_TRIG | R_TRIG) == 0) {
// g_CreditsData->unk41f5 = random() % 4;
// g_CreditsData->unk41f8 = 0;
// }
// }
//
// if (random() * (1.0f / U32_MAX) < 0.002f && contGetButtons(0, L_TRIG | R_TRIG) == 0) {
// g_CreditsData->unk41fc = random() % 5;
// }
//
// if (contGetButtonsPressedThisFrame(0, R_TRIG)) {
// g_CreditsData->unk41fc = random() % 5;
//
// if (g_CreditsData->unk41f5 < 0) {
// g_CreditsData->unk41f5 = random() % 4;
// g_CreditsData->unk41f8 = 0;
// }
// }
//
// if (random() * (1.0f / U32_MAX) < 0.007f) {
// g_CreditsData->unk41fd = random() % 2;
// g_CreditsData->unk41fe = random() % 2;
// }
//
// for (i = 0; i < 500; i++) {
// tmp = ((i & 7) + 1) * 0.01f;
//
// if ((i & 8) == 0) {
// tmp = -tmp;
// }
//
// g_CreditsData->unk000c[i].unk0c += tmp;
//
// g_CreditsData->unk000c[i].unk08 += g_Vars.diffframe240f * 30.0f * 0.25f;
//
// if (g_CreditsData->unk000c[i].unk08 > 0) {
// tmp = random() * (1.0f / U32_MAX);
// g_CreditsData->unk000c[i].unk00 = (tmp + tmp) * 3000 - 3000;
//
// tmp = random() * (1.0f / U32_MAX);
// g_CreditsData->unk000c[i].unk04 = (tmp + tmp) * 3000 - 3000;
//
// g_CreditsData->unk000c[i].unk12 = random() % 4;
// g_CreditsData->unk000c[i].unk14 = random() % 4;
//
// g_CreditsData->unk000c[i].unk0c = random() * (1.0f / U32_MAX) * M_BADTAU;
//
// if (g_CreditsData->unk4200 < g_CreditsData->unk41ff) {
// g_CreditsData->unk000c[i].unk13 = g_CreditsData->unk4200
// + random() % (g_CreditsData->unk41ff - g_CreditsData->unk4200);
// } else {
// g_CreditsData->unk000c[i].unk13 = g_CreditsData->unk4200;
// }
//
// g_CreditsData->unk000c[i].unk10 = g_CreditsData->unk41fc;
//
// if (random() % 2 == 1) {
// g_CreditsData->unk000c[i].unk11 = g_CreditsData->unk41fd;
// } else {
// g_CreditsData->unk000c[i].unk11 = g_CreditsData->unk41fe;
// }
//
// g_CreditsData->unk000c[i].unk08 += -8000;
// }
// }
//}
GLOBAL_ASM(
glabel func0f138e6c
.late_rodata

View File

@ -28,16 +28,16 @@ Gfx *creditsRender(Gfx *gdl);
void creditsInit(void);
void creditsRequestAltTitle(void);
struct credits00 {
struct credits000c {
f32 unk00;
u8 unk04;
u8 unk05;
u8 unk06;
u8 unk07;
u8 unk08;
f32 unk04;
f32 unk08;
f32 unk0c;
f32 unk10;
f32 unk14;
u8 unk10;
u8 unk11;
u8 unk12;
u8 unk13;
u8 unk14;
};
struct creditsbgtype {
@ -57,10 +57,10 @@ struct creditsbglayer {
};
struct creditsdata {
/*0x0000*/ struct credits00 unk0000[500];
/*0x2ee0*/ u32 unk2ee0;
/*0x2ee4*/ u32 unk2ee4;
/*0x2ee8*/ u32 unk2ee8;
/*0x0000*/ u32 unk0000;
/*0x0004*/ u32 unk0004;
/*0x0008*/ u32 unk0008;
/*0x000c*/ struct credits000c unk000c[500];
/*0x2eec*/ u8 unk2eec;
/*0x2eed*/ u8 unk2eed;
/*0x2eee*/ u8 unk2eee;
@ -1270,7 +1270,7 @@ struct creditsdata {
/*0x41f4*/ u8 slidesenabled;
/*0x41f5*/ s8 unk41f5;
/*0x41f6*/ u8 unk41f6;
/*0x41f8*/ u32 unk41f8;
/*0x41f8*/ f32 unk41f8;
/*0x41fc*/ u8 unk41fc;
/*0x41fd*/ u8 unk41fd;
/*0x41fe*/ u8 unk41fe;