Attempt to decompile func0f14c50c

This commit is contained in:
Ryan Dwyer committed 2021-10-02 15:55:51 +10:00
1 parent b40641dcbc
commit 9b66c2c82c
3 files changed
+76 -18

No files matched your search

+65 -3
View File
@@ -790,7 +790,7 @@ void func0f14a830(void)
}
}
u8 **func0f14a89c(s32 index)
struct textureconfig *func0f14a89c(s32 index)
{
struct var8007f8e0 *thing = func0f14a06c(index);
@@ -1437,13 +1437,13 @@ void func0f14b394(struct var8007f8e0 *arg0)
size = align32(func0f14c814(&arg0->unk004));
for (i = 0; i < size; i++) {
arg0->unk004[i] = random() % 0xff;
arg0->unk004.textureptr[i] = random() % 0xff;
}
size = align32(func0f14c814(&arg0->unk010));
for (i = 0; i < size; i++) {
arg0->unk010[i] = random() % 0xff;
arg0->unk010.textureptr[i] = random() % 0xff;
}
func0f14b228(arg0);
@@ -2065,6 +2065,68 @@ glabel func0f14c50c
/* f14c758: 27bd0020 */ addiu $sp,$sp,0x20
);
// Mismatch: Goal loads var8007f8e0 into a2 then does nothing with it.
// The below optimises it out.
//void func0f14c50c(struct var8007f8e0 *dst, struct var8007f8e0 *src, u32 line, char *file)
//{
// struct var8007f8e0 *thing = var8007f8e0;
// s32 i;
// s32 j;
// s32 row = 0;
//
// for (i = 0; i < 22; i++);
//
// dst->unk3f4_00 = src->unk3f4_00;
// dst->unk3f4_01 = src->unk3f4_01;
// dst->unk3f4_02 = src->unk3f4_02;
// dst->unk3f4_03 = src->unk3f4_03;
// dst->colournum = src->colournum;
// dst->stylenum = src->stylenum;
// dst->unk3a4 = src->unk3a4;
// dst->unk3b4 = src->unk3b4;
// dst->unk3b8 = src->unk3b8;
// dst->unk3bc = src->unk3bc;
// dst->unk3c0 = src->unk3c0;
// dst->unk3c4 = src->unk3c4;
// dst->unk3c8 = src->unk3c8;
// dst->unk3cc = src->unk3cc;
// dst->unk3ec = src->unk3ec;
// dst->unk3f0 = src->unk3f0;
//
// dst->fileguid.fileid = src->fileguid.fileid;
// dst->fileguid.deviceserial = src->fileguid.deviceserial;
//
// for (i = 0; i != 7; i++) {
// dst->unk3d0[i] = src->unk3d0[i];
// }
//
// if (dst->unk01c) {
// s32 i;
//
// for (i = 63; i != -1; i--) {
// for (j = 0; j != 64; j++) {
// s32 fudge = (i & 1) ? ((j & 4) ? -4 : 4) : 0;
//
// dst->unk01c[row * 64 + j] = src->unk004.textureptr[i * 64 + j + fudge];
// }
//
// row++;
// }
// }
//
// func0f14c75c(&dst->unk004, &src->unk004);
//
// if (dst->unk010.textureptr && src->unk010.textureptr) {
// func0f14c75c(&dst->unk010, &src->unk010);
// }
//
// if (src->unk3f4_04) {
// for (i = 0; i < 1024; i++) {
// dst->unk020[i] = src->unk020[i];
// }
// }
//}
GLOBAL_ASM(
glabel func0f14c75c
/* f14c75c: 27bdffd8 */ addiu $sp,$sp,-40
+6 -6
View File
@@ -45,19 +45,19 @@ void func0f14bdbc(s32 index);
void func0f14bec8(s32 index);
void func0f14c1cc(s32 index);
void func0f14c50c(struct var8007f8e0 *arg0, struct var8007f8e0 *arg1, u32 line, char *file);
void func0f14c75c(struct textureconfig *tconfig, u8 **arg1);
void func0f14c75c(struct textureconfig *arg0, struct textureconfig *arg1);
u32 func0f14c7dc(void);
u32 func0f14c814(u8 **arg0);
u32 func0f14c814(struct textureconfig *arg0);
Gfx *func0f14c870(Gfx *gdl, struct textureconfig *tconfig, f32 *arg2, f32 arg3, f32 arg4);
void func0f14cdb8(s32 index, u8 *arg1);
u32 func0f14cf6c(void);
void func0f14d064(s32 index, u8 *arg1);
void func0f14d2c8(u8 *arg0, u32 arg1);
void func0f14d4f0(u8 *arg0, u32 arg1);
void func0f14d714(u8 *arg0, u32 arg1);
void func0f14d2c8(u8 *arg0, u8 *arg1);
void func0f14d4f0(u8 *arg0, u8 *arg1);
void func0f14d714(u8 *arg0, u8 *arg1);
u32 func0f14d84c(void);
u32 func0f14d8d8(void);
void func0f14dac0(u8 *arg0, u8 **arg1);
void func0f14dac0(u8 *arg0, struct textureconfig *arg1);
void func0f14dc30(s32 arg0, bool arg1);
void func0f14def0(s32 arg0, u32 line, char *file);
u32 func0f14dfc0(void);
+5 -9
View File
@@ -7419,15 +7419,11 @@ struct var800a45a0 {
struct var8007f8e0 { // perfect head?
/*0x000*/ u32 unk000;
/*0x004*/ u8 *unk004;
/*0x008*/ u32 unk008;
/*0x00c*/ u32 unk00c;
/*0x010*/ u8 *unk010;
/*0x014*/ u32 unk014;
/*0x018*/ u32 unk018;
/*0x01c*/ u32 unk01c;
/*0x020*/ u32 unk020;
/*0x024*/ u32 unk024;
/*0x004*/ struct textureconfig unk004;
/*0x010*/ struct textureconfig unk010;
/*0x01c*/ u8 *unk01c;
/*0x028*/ u8 *unk020;
/*0x028*/ u32 unk024;
/*0x028*/ u32 unk028;
/*0x02c*/ u32 unk02c;
/*0x030*/ f32 unk030;