Attempt to decompile func0f1670fc

This commit is contained in:
Ryan Dwyer
2020-04-05 21:55:55 +10:00
parent 2e636d1725
commit 5088687dd0
10 changed files with 73 additions and 4057 deletions
+2 -2
View File
@@ -174,12 +174,12 @@ glabel var7f1a8a84
/* f02d00c: 000c6080 */ sll $t4,$t4,0x2
/* f02d010: 018e1821 */ addu $v1,$t4,$t6
/* f02d014: 94780002 */ lhu $t8,0x2($v1)
/* f02d018: 3c01800a */ lui $at,%hi(var800a6680)
/* f02d018: 3c01800a */ lui $at,%hi(g_FileInfo)
/* f02d01c: ac62000c */ sw $v0,0xc($v1)
/* f02d020: 0018c8c0 */ sll $t9,$t8,0x3
/* f02d024: 00390821 */ addu $at,$at,$t9
/* f02d028: afa20054 */ sw $v0,0x54($sp)
/* f02d02c: ac206680 */ sw $zero,%lo(var800a6680)($at)
/* f02d02c: ac206680 */ sw $zero,%lo(g_FileInfo)($at)
/* f02d030: 00402025 */ or $a0,$v0,$zero
/* f02d034: 0fc0b76f */ jal func0f02ddbc
/* f02d038: 8fa60048 */ lw $a2,0x48($sp)
+6 -6
View File
@@ -8183,8 +8183,8 @@ glabel func0f09e144
/* f09e204: afa7006c */ sw $a3,0x6c($sp)
/* f09e208: 964c15b2 */ lhu $t4,0x15b2($s2)
/* f09e20c: 8fa7006c */ lw $a3,0x6c($sp)
/* f09e210: 3c0e800a */ lui $t6,%hi(var800a6680)
/* f09e214: 25ce6680 */ addiu $t6,$t6,%lo(var800a6680)
/* f09e210: 3c0e800a */ lui $t6,%hi(g_FileInfo)
/* f09e214: 25ce6680 */ addiu $t6,$t6,%lo(g_FileInfo)
/* f09e218: 000c68c0 */ sll $t5,$t4,0x3
/* f09e21c: 01ae4021 */ addu $t0,$t5,$t6
/* f09e220: ad070004 */ sw $a3,0x4($t0)
@@ -8218,9 +8218,9 @@ glabel func0f09e144
/* f09e290: 24010002 */ addiu $at,$zero,0x2
.L0f09e294:
/* f09e294: 1441003f */ bne $v0,$at,.L0f09e394
/* f09e298: 3c0f800a */ lui $t7,%hi(var800a6680)
/* f09e298: 3c0f800a */ lui $t7,%hi(g_FileInfo)
/* f09e29c: 965815b2 */ lhu $t8,0x15b2($s2)
/* f09e2a0: 25ef6680 */ addiu $t7,$t7,%lo(var800a6680)
/* f09e2a0: 25ef6680 */ addiu $t7,$t7,%lo(g_FileInfo)
/* f09e2a4: 264c15d4 */ addiu $t4,$s2,0x15d4
/* f09e2a8: 0018c8c0 */ sll $t9,$t8,0x3
/* f09e2ac: 032f5021 */ addu $t2,$t9,$t7
@@ -8289,8 +8289,8 @@ glabel func0f09e144
/* f09e398: 5441004c */ bnel $v0,$at,.L0f09e4cc
/* f09e39c: 8fbf002c */ lw $ra,0x2c($sp)
/* f09e3a0: 965815b2 */ lhu $t8,0x15b2($s2)
/* f09e3a4: 3c0f800a */ lui $t7,%hi(var800a6680)
/* f09e3a8: 25ef6680 */ addiu $t7,$t7,%lo(var800a6680)
/* f09e3a4: 3c0f800a */ lui $t7,%hi(g_FileInfo)
/* f09e3a8: 25ef6680 */ addiu $t7,$t7,%lo(g_FileInfo)
/* f09e3ac: 0018c8c0 */ sll $t9,$t8,0x3
/* f09e3b0: 032f5021 */ addu $t2,$t9,$t7
/* f09e3b4: afaa0058 */ sw $t2,0x58($sp)
+2 -2
View File
@@ -3809,12 +3809,12 @@ glabel var7f1ad5b4
/* f0b9128: 000e7080 */ sll $t6,$t6,0x2
/* f0b912c: 01c81821 */ addu $v1,$t6,$t0
/* f0b9130: 94780002 */ lhu $t8,0x2($v1)
/* f0b9134: 3c01800a */ lui $at,%hi(var800a6680)
/* f0b9134: 3c01800a */ lui $at,%hi(g_FileInfo)
/* f0b9138: ac62000c */ sw $v0,0xc($v1)
/* f0b913c: 0018c8c0 */ sll $t9,$t8,0x3
/* f0b9140: 00390821 */ addu $at,$at,$t9
/* f0b9144: afa200f8 */ sw $v0,0xf8($sp)
/* f0b9148: ac206680 */ sw $zero,%lo(var800a6680)($at)
/* f0b9148: ac206680 */ sw $zero,%lo(g_FileInfo)($at)
/* f0b914c: 00402025 */ or $a0,$v0,$zero
/* f0b9150: 8fa50064 */ lw $a1,0x64($sp)
/* f0b9154: 0fc0b76f */ jal func0f02ddbc
+51 -14
View File
@@ -141,12 +141,12 @@ glabel func0f166f74
/* f166f7c: afb1001c */ sw $s1,0x1c($sp)
/* f166f80: afb40028 */ sw $s4,0x28($sp)
/* f166f84: afb00018 */ sw $s0,0x18($sp)
/* f166f88: 3c11800a */ lui $s1,%hi(var800a6680)
/* f166f88: 3c11800a */ lui $s1,%hi(g_FileInfo)
/* f166f8c: 3c128008 */ lui $s2,%hi(filetable)
/* f166f90: afbf002c */ sw $ra,0x2c($sp)
/* f166f94: afb30024 */ sw $s3,0x24($sp)
/* f166f98: 26522060 */ addiu $s2,$s2,%lo(filetable)
/* f166f9c: 26316680 */ addiu $s1,$s1,%lo(var800a6680)
/* f166f9c: 26316680 */ addiu $s1,$s1,%lo(g_FileInfo)
/* f166fa0: 24100001 */ addiu $s0,$zero,0x1
/* f166fa4: 241407de */ addiu $s4,$zero,0x7de
/* f166fa8: 001070c0 */ sll $t6,$s0,0x3
@@ -264,8 +264,8 @@ glabel func0f1670fc
/* f167120: 00000000 */ sll $zero,$zero,0x0
.L0f167124:
/* f167124: 8faf0030 */ lw $t7,0x30($sp)
/* f167128: 3c19800a */ lui $t9,%hi(var800a6680)
/* f16712c: 27396680 */ addiu $t9,$t9,%lo(var800a6680)
/* f167128: 3c19800a */ lui $t9,%hi(g_FileInfo)
/* f16712c: 27396680 */ addiu $t9,$t9,%lo(g_FileInfo)
/* f167130: 000fc0c0 */ sll $t8,$t7,0x3
/* f167134: 03198021 */ addu $s0,$t8,$t9
/* f167138: 8e080000 */ lw $t0,0x0($s0)
@@ -325,6 +325,43 @@ glabel func0f1670fc
/* f1671fc: ac202060 */ sw $zero,%lo(filetable)($at)
);
//void *func0f1670fc(u32 filenum, u32 arg1)
//{
// struct fileinfo *info;
// u32 stack;
// void *ptr;
//
// if (arg1 == 0x11 || arg1 == 0x22) {
// // 124
// info = &g_FileInfo[filenum];
//
// // 13c
// if (info->unk00 == 0) {
// info->unk00 = (func0f167054(filenum) + 0x20) & 0xfffffff0;
//
// // 164
// if (arg1 == 0x11) {
// info->unk00 += 0x8000;
// }
// }
//
// // 174
// ptr = malloc(info->unk00, 4);
// info->unk04 = info->unk00;
// func0f166eb4(ptr, info->unk00, &filetable[filenum], info);
//
// if (arg1 != 0x11) {
// func00012430(ptr, info->unk00, 4);
// }
// } else {
// while (true) {
// // empty
// }
// }
//
// return ptr;
//}
GLOBAL_ASM(
glabel func0f167200
/* f167200: 27bdffe8 */ addiu $sp,$sp,-24
@@ -340,8 +377,8 @@ glabel func0f167200
.L0f167228:
/* f167228: 8fae0018 */ lw $t6,0x18($sp)
/* f16722c: 8fb90024 */ lw $t9,0x24($sp)
/* f167230: 3c18800a */ lui $t8,%hi(var800a6680)
/* f167234: 27186680 */ addiu $t8,$t8,%lo(var800a6680)
/* f167230: 3c18800a */ lui $t8,%hi(g_FileInfo)
/* f167234: 27186680 */ addiu $t8,$t8,%lo(g_FileInfo)
/* f167238: 000e78c0 */ sll $t7,$t6,0x3
/* f16723c: 01f83821 */ addu $a3,$t7,$t8
/* f167240: acf90004 */ sw $t9,0x4($a3)
@@ -367,25 +404,25 @@ glabel func0f167200
GLOBAL_ASM(
glabel func0f167280
/* f167280: 000470c0 */ sll $t6,$a0,0x3
/* f167284: 3c02800a */ lui $v0,%hi(var800a6680)
/* f167284: 3c02800a */ lui $v0,%hi(g_FileInfo)
/* f167288: 004e1021 */ addu $v0,$v0,$t6
/* f16728c: 03e00008 */ jr $ra
/* f167290: 8c426680 */ lw $v0,%lo(var800a6680)($v0)
/* f167290: 8c426680 */ lw $v0,%lo(g_FileInfo)($v0)
);
GLOBAL_ASM(
glabel func0f167294
/* f167294: 000470c0 */ sll $t6,$a0,0x3
/* f167298: 3c02800a */ lui $v0,%hi(var800a6684)
/* f167298: 3c02800a */ lui $v0,%hi(g_FileInfo+0x4)
/* f16729c: 004e1021 */ addu $v0,$v0,$t6
/* f1672a0: 03e00008 */ jr $ra
/* f1672a4: 8c426684 */ lw $v0,%lo(var800a6684)($v0)
/* f1672a4: 8c426684 */ lw $v0,%lo(g_FileInfo+0x4)($v0)
);
GLOBAL_ASM(
glabel func0f1672a8
/* f1672a8: 3c0f800a */ lui $t7,%hi(var800a6680)
/* f1672ac: 25ef6680 */ addiu $t7,$t7,%lo(var800a6680)
/* f1672a8: 3c0f800a */ lui $t7,%hi(g_FileInfo)
/* f1672ac: 25ef6680 */ addiu $t7,$t7,%lo(g_FileInfo)
/* f1672b0: 000470c0 */ sll $t6,$a0,0x3
/* f1672b4: 27bdffe8 */ addiu $sp,$sp,-24
/* f1672b8: 01cf1021 */ addu $v0,$t6,$t7
@@ -409,8 +446,8 @@ GLOBAL_ASM(
glabel func0f1672f0
/* f1672f0: afa40000 */ sw $a0,0x0($sp)
/* f1672f4: 308300ff */ andi $v1,$a0,0xff
/* f1672f8: 3c05800a */ lui $a1,%hi(var800a6680)
/* f1672fc: 24a56680 */ addiu $a1,$a1,%lo(var800a6680)
/* f1672f8: 3c05800a */ lui $a1,%hi(g_FileInfo)
/* f1672fc: 24a56680 */ addiu $a1,$a1,%lo(g_FileInfo)
/* f167300: 24040004 */ addiu $a0,$zero,0x4
/* f167304: 24020001 */ addiu $v0,$zero,0x1
/* f167308: 240607de */ addiu $a2,$zero,0x7de
+1 -4028
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -1523,6 +1523,7 @@
#define NUM_CHALLENGES 30
#define NUM_CHEATS 42
#define NUM_EXPLOSIONTYPES 26
#define NUM_FILES 2014
#define NUM_FIRESLOTS 20
#define NUM_MPBEAUHEADS 5
#define NUM_MPBOTCOMMANDS 14
+3 -3
View File
@@ -7,11 +7,11 @@ u32 func0f166e40(void);
u32 func0f166e54(void);
u32 func0f166e7c(void);
u32 func0f166ea8(void);
u32 func0f166eb4(void);
void func0f166eb4(void *ptr, u32 len, void *table, struct fileinfo *info);
u32 func0f166f74(void);
u32 func0f166ff0(void);
u32 func0f167054(void);
void *func0f1670fc(s32 file_id, s32 arg1);
u32 func0f167054(u32 filenum);
void *func0f1670fc(u32 filenum, u32 arg1);
void *func0f167200(s32 file_id, s32 arg1, s32 arg2, s32 arg3);
u32 func0f167280(void);
u32 func0f167294(void);
+1 -1
View File
@@ -755,7 +755,7 @@ extern u32 var800a6630;
extern u32 var800a6660;
extern u32 var800a6668;
extern u32 var800a666c;
extern u32 var800a6680;
extern struct fileinfo g_FileInfo[NUM_FILES];
extern u32 var800aa580;
extern u32 var800aa590;
extern u32 var800aa59c;
+1 -1
View File
@@ -9,7 +9,7 @@ u32 func000122e0(void);
u32 func00012324(void);
void *func00012354(struct memorypool *pools, u32 len, u8 pool);
void *malloc(u32 len, u8 pool);
u32 func00012430(void);
void func00012430(void *ptr, u32 len, u8 pool);
u32 func000124d4(void);
void func00012528(s32 arg0);
void func00012594(s32 arg0);
+5
View File
@@ -5888,4 +5888,9 @@ struct var800aabb8 {
u16 unk00_02 : 14;
};
struct fileinfo {
u32 unk00;
u32 unk04;
};
#endif