Decompile bodyLoad

This commit is contained in:
Ryan Dwyer 2020-02-16 17:24:35 +10:00
parent c34669cac6
commit 1ed7ced847
8 changed files with 24 additions and 42 deletions

View File

@ -659,24 +659,24 @@ glabel func0f00bbc8
/* f00c13c: 10000028 */ beqz $zero,.L0f00c1e0
/* f00c140: 02002025 */ or $a0,$s0,$zero
.L0f00c144:
/* f00c144: 0fc0b38c */ jal func0f02ce30
/* f00c144: 0fc0b38c */ jal bodyLoad
/* f00c148: 92040002 */ lbu $a0,0x2($s0)
/* f00c14c: 82040003 */ lb $a0,0x3($s0)
/* f00c150: 04820023 */ bltzl $a0,.L0f00c1e0
/* f00c154: 02002025 */ or $a0,$s0,$zero
/* f00c158: 0fc0b38c */ jal func0f02ce30
/* f00c158: 0fc0b38c */ jal bodyLoad
/* f00c15c: 00000000 */ sll $zero,$zero,0x0
/* f00c160: 5040001f */ beqzl $v0,.L0f00c1e0
/* f00c164: 02002025 */ or $a0,$s0,$zero
/* f00c168: 1000001d */ beqz $zero,.L0f00c1e0
/* f00c16c: 02002025 */ or $a0,$s0,$zero
.L0f00c170:
/* f00c170: 0fc0b38c */ jal func0f02ce30
/* f00c170: 0fc0b38c */ jal bodyLoad
/* f00c174: 92040002 */ lbu $a0,0x2($s0)
/* f00c178: 82040003 */ lb $a0,0x3($s0)
/* f00c17c: 04820018 */ bltzl $a0,.L0f00c1e0
/* f00c180: 02002025 */ or $a0,$s0,$zero
/* f00c184: 0fc0b38c */ jal func0f02ce30
/* f00c184: 0fc0b38c */ jal bodyLoad
/* f00c188: 00000000 */ sll $zero,$zero,0x0
/* f00c18c: 50400014 */ beqzl $v0,.L0f00c1e0
/* f00c190: 02002025 */ or $a0,$s0,$zero

View File

@ -126,33 +126,15 @@ glabel func0f02cde0
/* f02ce2c: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f02ce30
/* f02ce30: 00047080 */ sll $t6,$a0,0x2
/* f02ce34: 01c47021 */ addu $t6,$t6,$a0
/* f02ce38: 3c0f8008 */ lui $t7,%hi(g_Bodies)
/* f02ce3c: 25efcf04 */ addiu $t7,$t7,%lo(g_Bodies)
/* f02ce40: 000e7080 */ sll $t6,$t6,0x2
/* f02ce44: 01cf1821 */ addu $v1,$t6,$t7
/* f02ce48: 8c78000c */ lw $t8,0xc($v1)
/* f02ce4c: 27bdffe0 */ addiu $sp,$sp,-32
/* f02ce50: afbf0014 */ sw $ra,0x14($sp)
/* f02ce54: 57000009 */ bnezl $t8,.L0f02ce7c
/* f02ce58: 00001025 */ or $v0,$zero,$zero
/* f02ce5c: 94640002 */ lhu $a0,0x2($v1)
/* f02ce60: 0fc69e11 */ jal func0f1a7844
/* f02ce64: afa3001c */ sw $v1,0x1c($sp)
/* f02ce68: 8fa3001c */ lw $v1,0x1c($sp)
/* f02ce6c: ac62000c */ sw $v0,0xc($v1)
/* f02ce70: 10000002 */ beqz $zero,.L0f02ce7c
/* f02ce74: 24020001 */ addiu $v0,$zero,0x1
/* f02ce78: 00001025 */ or $v0,$zero,$zero
.L0f02ce7c:
/* f02ce7c: 8fbf0014 */ lw $ra,0x14($sp)
/* f02ce80: 27bd0020 */ addiu $sp,$sp,0x20
/* f02ce84: 03e00008 */ jr $ra
/* f02ce88: 00000000 */ sll $zero,$zero,0x0
);
bool bodyLoad(u32 bodynum)
{
if (!g_Bodies[bodynum].unk0c) {
g_Bodies[bodynum].unk0c = fileLoad(g_Bodies[bodynum].bodyfileid);
return true;
}
return false;
}
GLOBAL_ASM(
glabel func0f02ce8c
@ -193,7 +175,7 @@ glabel func0f02ce8c
/* f02cf10: 8d03000c */ lw $v1,0xc($t0)
/* f02cf14: 54600007 */ bnezl $v1,.L0f02cf34
/* f02cf18: afa30050 */ sw $v1,0x50($sp)
/* f02cf1c: 0fc69e11 */ jal func0f1a7844
/* f02cf1c: 0fc69e11 */ jal fileLoad
/* f02cf20: 95040002 */ lhu $a0,0x2($t0)
/* f02cf24: 8fa4001c */ lw $a0,0x1c($sp)
/* f02cf28: 00401825 */ or $v1,$v0,$zero
@ -248,7 +230,7 @@ glabel func0f02ce8c
/* f02cfe4: 000d6880 */ sll $t5,$t5,0x2
/* f02cfe8: 3c048008 */ lui $a0,0x8008
/* f02cfec: 008d2021 */ addu $a0,$a0,$t5
/* f02cff0: 0fc69e11 */ jal func0f1a7844
/* f02cff0: 0fc69e11 */ jal fileLoad
/* f02cff4: 9484cf06 */ lhu $a0,-0x30fa($a0)
/* f02cff8: 8fa5004c */ lw $a1,0x4c($sp)
/* f02cffc: 3c0e8008 */ lui $t6,%hi(g_Bodies)
@ -277,7 +259,7 @@ glabel func0f02ce8c
/* f02d054: 8c64000c */ lw $a0,0xc($v1)
/* f02d058: 5480000d */ bnezl $a0,.L0f02d090
/* f02d05c: afa40054 */ sw $a0,0x54($sp)
/* f02d060: 0fc69e11 */ jal func0f1a7844
/* f02d060: 0fc69e11 */ jal fileLoad
/* f02d064: 94640002 */ lhu $a0,0x2($v1)
/* f02d068: 8fa7004c */ lw $a3,0x4c($sp)
/* f02d06c: 3c0a8008 */ lui $t2,%hi(g_Bodies)

View File

@ -50342,7 +50342,7 @@ glabel func0f0921b4
/* f0921d0: 1700000a */ bnez $t8,.L0f0921fc
/* f0921d4: 00001025 */ or $v0,$zero,$zero
/* f0921d8: 94640004 */ lhu $a0,0x4($v1)
/* f0921dc: 0fc69e11 */ jal func0f1a7844
/* f0921dc: 0fc69e11 */ jal fileLoad
/* f0921e0: afa3001c */ sw $v1,0x1c($sp)
/* f0921e4: 8fa3001c */ lw $v1,0x1c($sp)
/* f0921e8: 00402025 */ or $a0,$v0,$zero

View File

@ -3206,7 +3206,7 @@ glabel func0f0b8ba0
/* f0b9064: 8c64000c */ lw $a0,0xc($v1)
/* f0b9068: 5480000e */ bnezl $a0,.L0f0b90a4
/* f0b906c: 8c6e0000 */ lw $t6,0x0($v1)
/* f0b9070: 0fc69e11 */ jal func0f1a7844
/* f0b9070: 0fc69e11 */ jal fileLoad
/* f0b9074: 94640002 */ lhu $a0,0x2($v1)
/* f0b9078: 8fac0068 */ lw $t4,0x68($sp)
/* f0b907c: 3c0b8008 */ lui $t3,%hi(g_Bodies)
@ -3248,7 +3248,7 @@ glabel func0f0b8ba0
/* f0b9100: 01ac6821 */ addu $t5,$t5,$t4
/* f0b9104: 000d6880 */ sll $t5,$t5,0x2
/* f0b9108: 008d2021 */ addu $a0,$a0,$t5
/* f0b910c: 0fc69e11 */ jal func0f1a7844
/* f0b910c: 0fc69e11 */ jal fileLoad
/* f0b9110: 9484cf06 */ lhu $a0,-0x30fa($a0)
/* f0b9114: 8fab0064 */ lw $t3,0x64($sp)
/* f0b9118: 3c088008 */ lui $t0,%hi(g_Bodies)
@ -3281,7 +3281,7 @@ glabel func0f0b8ba0
/* f0b917c: 8c64000c */ lw $a0,0xc($v1)
/* f0b9180: 5480000d */ bnezl $a0,.L0f0b91b8
/* f0b9184: afa400f8 */ sw $a0,0xf8($sp)
/* f0b9188: 0fc69e11 */ jal func0f1a7844
/* f0b9188: 0fc69e11 */ jal fileLoad
/* f0b918c: 94640002 */ lhu $a0,0x2($v1)
/* f0b9190: 8fac0064 */ lw $t4,0x64($sp)
/* f0b9194: 3c0b8008 */ lui $t3,%hi(g_Bodies)

View File

@ -4885,7 +4885,7 @@ glabel func0f1a7794
);
GLOBAL_ASM(
glabel func0f1a7844
glabel fileLoad
/* f1a7844: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a7848: afbf0014 */ sw $ra,0x14($sp)
/* f1a784c: afa40018 */ sw $a0,0x18($sp)

View File

@ -2,7 +2,7 @@
#define GAME_GAME_02CDE0
u32 func0f02cde0(void);
u32 func0f02ce30(void);
bool bodyLoad(u32 bodynum);
u32 func0f02ce8c(void);
u32 func0f02d338(void);
u32 func0f02d36c(void);

View File

@ -36,7 +36,7 @@ u32 func0f1a7554(void);
u32 func0f1a7560(void);
u32 func0f1a7730(void);
u32 func0f1a7794(void);
u32 func0f1a7844(void);
void *fileLoad(u32 fileid);
s32 menudialog001a39a8(u32, u32, u32 *);
s32 menudialog001a3af4(u32, u32, u32 *);
s32 menudialog001a5f48(u32, u32, u32 *);

View File

@ -2946,7 +2946,7 @@ struct body {
u16 bodyfileid;
f32 unk04;
f32 unk08;
u32 unk0c;
void *unk0c; // likely a pointer to bodyfile data if loaded
u16 handfileid;
};