Decompile func0f085194

This commit is contained in:
Ryan Dwyer
2020-03-07 22:08:14 +10:00
parent 18b342f3a8
commit 8b6929633d
2 changed files with 164 additions and 117 deletions
+163 -116
View File
@@ -749,93 +749,6 @@ const u32 var7f1aaad8[] = {0x7f085180};
const u32 var7f1aaadc[] = {0x7f085180};
const u32 var7f1aaae0[] = {0x7f085188};
const u32 var7f1aaae4[] = {0x7f085180};
const u32 var7f1aaae8[] = {0x7f0851d8};
const u32 var7f1aaaec[] = {0x7f0851e0};
const u32 var7f1aaaf0[] = {0x7f0851e0};
const u32 var7f1aaaf4[] = {0x7f0851d8};
const u32 var7f1aaaf8[] = {0x7f0851d8};
const u32 var7f1aaafc[] = {0x7f0851e0};
const u32 var7f1aab00[] = {0x7f0851e0};
const u32 var7f1aab04[] = {0x7f0851e0};
const u32 var7f1aab08[] = {0x7f0851e0};
const u32 var7f1aab0c[] = {0x7f0851e0};
const u32 var7f1aab10[] = {0x7f0851e0};
const u32 var7f1aab14[] = {0x7f0851e0};
const u32 var7f1aab18[] = {0x7f0851e0};
const u32 var7f1aab1c[] = {0x7f0851d8};
const u32 var7f1aab20[] = {0x7f0851e0};
const u32 var7f1aab24[] = {0x7f0851e0};
const u32 var7f1aab28[] = {0x7f0851d8};
const u32 var7f1aab2c[] = {0x7f0851d8};
const u32 var7f1aab30[] = {0x46fffe00};
const u32 var7f1aab34[] = {0x40c907a9};
const u32 var7f1aab38[] = {0x404907a9};
const u32 var7f1aab3c[] = {0x3ec907a9};
const u32 var7f1aab40[] = {0x40c907a9};
const u32 var7f1aab44[] = {0x3ec907a9};
const u32 var7f1aab48[] = {0x4016c5bf};
const u32 var7f1aab4c[] = {0x40bc772e};
const u32 var7f1aab50[] = {0x407b4993};
const u32 var7f1aab54[] = {0x7f087784};
const u32 var7f1aab58[] = {0x7f087784};
const u32 var7f1aab5c[] = {0x7f087790};
const u32 var7f1aab60[] = {0x7f087784};
const u32 var7f1aab64[] = {0x7f087790};
const u32 var7f1aab68[] = {0x7f0877b0};
const u32 var7f1aab6c[] = {0x7f087790};
const u32 var7f1aab70[] = {0x7f087790};
const u32 var7f1aab74[] = {0x7f087790};
const u32 var7f1aab78[] = {0x7f087790};
const u32 var7f1aab7c[] = {0x7f087790};
const u32 var7f1aab80[] = {0x7f087790};
const u32 var7f1aab84[] = {0x7f087790};
const u32 var7f1aab88[] = {0x7f087790};
const u32 var7f1aab8c[] = {0x7f087790};
const u32 var7f1aab90[] = {0x7f087790};
const u32 var7f1aab94[] = {0x7f087790};
const u32 var7f1aab98[] = {0x7f0877b0};
const u32 var7f1aab9c[] = {0x7f087784};
const u32 var7f1aaba0[] = {0x7f08777c};
const u32 var7f1aaba4[] = {0x7f087790};
const u32 var7f1aaba8[] = {0x7f087784};
const u32 var7f1aabac[] = {0x7f0877f4};
const u32 var7f1aabb0[] = {0x7f087790};
const u32 var7f1aabb4[] = {0x7f087790};
const u32 var7f1aabb8[] = {0x7f087784};
const u32 var7f1aabbc[] = {0x7f0877f4};
const u32 var7f1aabc0[] = {0x7f0877f4};
const u32 var7f1aabc4[] = {0x7f0877f4};
const u32 var7f1aabc8[] = {0x7f0877d4};
const u32 var7f1aabcc[] = {0x7f0877f4};
const u32 var7f1aabd0[] = {0x7f0877b0};
const u32 var7f1aabd4[] = {0x7f0879f4};
const u32 var7f1aabd8[] = {0x7f087aa0};
const u32 var7f1aabdc[] = {0x7f0879fc};
const u32 var7f1aabe0[] = {0x7f087a04};
const u32 var7f1aabe4[] = {0x7f087a0c};
const u32 var7f1aabe8[] = {0x7f087a14};
const u32 var7f1aabec[] = {0x7f087aa0};
const u32 var7f1aabf0[] = {0x7f087a1c};
const u32 var7f1aabf4[] = {0x7f087a24};
const u32 var7f1aabf8[] = {0x7f087a2c};
const u32 var7f1aabfc[] = {0x7f087a34};
const u32 var7f1aac00[] = {0x7f087a3c};
const u32 var7f1aac04[] = {0x7f087a44};
const u32 var7f1aac08[] = {0x7f087a4c};
const u32 var7f1aac0c[] = {0x7f087a54};
const u32 var7f1aac10[] = {0x7f087a5c};
const u32 var7f1aac14[] = {0x7f087a64};
const u32 var7f1aac18[] = {0x7f087a94};
const u32 var7f1aac1c[] = {0x7f087a9c};
const u32 var7f1aac20[] = {0x7f087a6c};
const u32 var7f1aac24[] = {0x7f087aa0};
const u32 var7f1aac28[] = {0x7f087a74};
const u32 var7f1aac2c[] = {0x7f087a7c};
const u32 var7f1aac30[] = {0x7f087a8c};
const u32 var7f1aac34[] = {0x7f087aa0};
const u32 var7f1aac38[] = {0x7f087aa0};
const u32 var7f1aac3c[] = {0x7f087aa0};
const u32 var7f1aac40[] = {0x7f087a84};
GLOBAL_ASM(
glabel func0f066310
@@ -35313,35 +35226,21 @@ glabel func0f085050
/* f085190: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f085194
/* f085194: 90820003 */ lbu $v0,0x3($a0)
/* f085198: 28410016 */ slti $at,$v0,0x16
/* f08519c: 14200006 */ bnez $at,.L0f0851b8
/* f0851a0: 244efffc */ addiu $t6,$v0,-4
/* f0851a4: 2401003b */ addiu $at,$zero,0x3b
/* f0851a8: 1041000b */ beq $v0,$at,.L0f0851d8
/* f0851ac: 00000000 */ sll $zero,$zero,0x0
/* f0851b0: 1000000c */ beqz $zero,.L0f0851e4
/* f0851b4: 00001025 */ or $v0,$zero,$zero
.L0f0851b8:
/* f0851b8: 2dc10012 */ sltiu $at,$t6,0x12
/* f0851bc: 10200008 */ beqz $at,.L0f0851e0
/* f0851c0: 000e7080 */ sll $t6,$t6,0x2
/* f0851c4: 3c017f1b */ lui $at,%hi(var7f1aaae8)
/* f0851c8: 002e0821 */ addu $at,$at,$t6
/* f0851cc: 8c2eaae8 */ lw $t6,%lo(var7f1aaae8)($at)
/* f0851d0: 01c00008 */ jr $t6
/* f0851d4: 00000000 */ sll $zero,$zero,0x0
.L0f0851d8:
/* f0851d8: 03e00008 */ jr $ra
/* f0851dc: 24020001 */ addiu $v0,$zero,0x1
.L0f0851e0:
/* f0851e0: 00001025 */ or $v0,$zero,$zero
.L0f0851e4:
/* f0851e4: 03e00008 */ jr $ra
/* f0851e8: 00000000 */ sll $zero,$zero,0x0
);
bool func0f085194(struct defaultobj *obj)
{
switch (obj->type) {
case OBJTYPE_KEY:
case OBJTYPE_07:
case OBJTYPE_WEAPON:
case OBJTYPE_11:
case OBJTYPE_MULTIAMMOCRATE:
case OBJTYPE_SHIELD:
case OBJTYPE_ESCALATOR:
return true;
}
return false;
}
GLOBAL_ASM(
glabel func0f0851ec
@@ -35406,6 +35305,10 @@ glabel func0f085270
GLOBAL_ASM(
glabel func0f0852ac
.late_rodata
glabel var7f1aab30
.word 0x46fffe00
.text
/* f0852ac: 27bdff40 */ addiu $sp,$sp,-192
/* f0852b0: afbf001c */ sw $ra,0x1c($sp)
/* f0852b4: afb00018 */ sw $s0,0x18($sp)
@@ -37038,6 +36941,14 @@ glabel objIsHealthy
GLOBAL_ASM(
glabel func0f0869cc
.late_rodata
glabel var7f1aab34
.word 0x40c907a9
glabel var7f1aab38
.word 0x404907a9
glabel var7f1aab3c
.word 0x3ec907a9
.text
/* f0869cc: 27bdffd0 */ addiu $sp,$sp,-48
/* f0869d0: afbf001c */ sw $ra,0x1c($sp)
/* f0869d4: 8c860004 */ lw $a2,0x4($a0)
@@ -37288,6 +37199,18 @@ glabel func0f0869cc
GLOBAL_ASM(
glabel func0f086d60
.late_rodata
glabel var7f1aab40
.word 0x40c907a9
glabel var7f1aab44
.word 0x3ec907a9
glabel var7f1aab48
.word 0x4016c5bf
glabel var7f1aab4c
.word 0x40bc772e
glabel var7f1aab50
.word 0x407b4993
.text
/* f086d60: 27bdffd0 */ addiu $sp,$sp,-48
/* f086d64: afbf0014 */ sw $ra,0x14($sp)
/* f086d68: afa40030 */ sw $a0,0x30($sp)
@@ -37889,6 +37812,72 @@ glabel func0f087638
GLOBAL_ASM(
glabel func0f087668
.late_rodata
glabel var7f1aab54
.word 0x7f087784
glabel var7f1aab58
.word 0x7f087784
glabel var7f1aab5c
.word 0x7f087790
glabel var7f1aab60
.word 0x7f087784
glabel var7f1aab64
.word 0x7f087790
glabel var7f1aab68
.word 0x7f0877b0
glabel var7f1aab6c
.word 0x7f087790
glabel var7f1aab70
.word 0x7f087790
glabel var7f1aab74
.word 0x7f087790
glabel var7f1aab78
.word 0x7f087790
glabel var7f1aab7c
.word 0x7f087790
glabel var7f1aab80
.word 0x7f087790
glabel var7f1aab84
.word 0x7f087790
glabel var7f1aab88
.word 0x7f087790
glabel var7f1aab8c
.word 0x7f087790
glabel var7f1aab90
.word 0x7f087790
glabel var7f1aab94
.word 0x7f087790
glabel var7f1aab98
.word 0x7f0877b0
glabel var7f1aab9c
.word 0x7f087784
glabel var7f1aaba0
.word 0x7f08777c
glabel var7f1aaba4
.word 0x7f087790
glabel var7f1aaba8
.word 0x7f087784
glabel var7f1aabac
.word 0x7f0877f4
glabel var7f1aabb0
.word 0x7f087790
glabel var7f1aabb4
.word 0x7f087790
glabel var7f1aabb8
.word 0x7f087784
glabel var7f1aabbc
.word 0x7f0877f4
glabel var7f1aabc0
.word 0x7f0877f4
glabel var7f1aabc4
.word 0x7f0877f4
glabel var7f1aabc8
.word 0x7f0877d4
glabel var7f1aabcc
.word 0x7f0877f4
glabel var7f1aabd0
.word 0x7f0877b0
.text
/* f087668: 27bdffd0 */ addiu $sp,$sp,-48
/* f08766c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f087670: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
@@ -38084,6 +38073,64 @@ glabel func0f087668
GLOBAL_ASM(
glabel func0f08791c
.late_rodata
glabel var7f1aabd4
.word 0x7f0879f4
glabel var7f1aabd8
.word 0x7f087aa0
glabel var7f1aabdc
.word 0x7f0879fc
glabel var7f1aabe0
.word 0x7f087a04
glabel var7f1aabe4
.word 0x7f087a0c
glabel var7f1aabe8
.word 0x7f087a14
glabel var7f1aabec
.word 0x7f087aa0
glabel var7f1aabf0
.word 0x7f087a1c
glabel var7f1aabf4
.word 0x7f087a24
glabel var7f1aabf8
.word 0x7f087a2c
glabel var7f1aabfc
.word 0x7f087a34
glabel var7f1aac00
.word 0x7f087a3c
glabel var7f1aac04
.word 0x7f087a44
glabel var7f1aac08
.word 0x7f087a4c
glabel var7f1aac0c
.word 0x7f087a54
glabel var7f1aac10
.word 0x7f087a5c
glabel var7f1aac14
.word 0x7f087a64
glabel var7f1aac18
.word 0x7f087a94
glabel var7f1aac1c
.word 0x7f087a9c
glabel var7f1aac20
.word 0x7f087a6c
glabel var7f1aac24
.word 0x7f087aa0
glabel var7f1aac28
.word 0x7f087a74
glabel var7f1aac2c
.word 0x7f087a7c
glabel var7f1aac30
.word 0x7f087a8c
glabel var7f1aac34
.word 0x7f087aa0
glabel var7f1aac38
.word 0x7f087aa0
glabel var7f1aac3c
.word 0x7f087aa0
glabel var7f1aac40
.word 0x7f087a84
.text
/* f08791c: 27bdffe8 */ addiu $sp,$sp,-24
/* f087920: 24010001 */ addiu $at,$zero,0x1
/* f087924: afbf0014 */ sw $ra,0x14($sp)
+1 -1
View File
@@ -218,7 +218,7 @@ u32 func0f084cf0(void);
u32 func0f084e58(void);
u32 func0f084f64(void);
u32 func0f085050(void);
u32 func0f085194(void);
bool func0f085194(struct defaultobj *obj);
u32 func0f0851ec(void);
u32 func0f085270(void);
void func0f0852ac(struct defaultobj *obj, f32 damage, struct coord *pos, s32 arg3, s32 arg4);