mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-23 15:52:41 +02:00
Attempt to decompile func0f14c50c
This commit is contained in:
1 parent
b40641dcbc
commit
9b66c2c82c
3 files changed
+76
-18
No files matched your search
+65
-3
@@ -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
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in new issue
Block a user