Decompile freeFireslot

This commit is contained in:
Ryan Dwyer 2019-12-23 21:56:18 +10:00
parent 9ead5f8a48
commit d1adc6eee4
10 changed files with 46 additions and 278 deletions

View File

@ -6504,8 +6504,8 @@ glabel func0f022fe0
/* f022fe0: 27bdffe0 */ addiu $sp,$sp,-32
/* f022fe4: afbf0014 */ sw $ra,0x14($sp)
/* f022fe8: 8c830004 */ lw $v1,0x4($a0)
/* f022fec: 3c18800a */ lui $t8,%hi(var8009d150)
/* f022ff0: 2718d150 */ addiu $t8,$t8,%lo(var8009d150)
/* f022fec: 3c18800a */ lui $t8,%hi(g_Fireslots)
/* f022ff0: 2718d150 */ addiu $t8,$t8,%lo(g_Fireslots)
/* f022ff4: 8062017c */ lb $v0,0x17c($v1)
/* f022ff8: 04400008 */ bltz $v0,.L0f02301c
/* f022ffc: 00027080 */ sll $t6,$v0,0x2
@ -6518,8 +6518,8 @@ glabel func0f022fe0
/* f023018: 8fa3001c */ lw $v1,0x1c($sp)
.L0f02301c:
/* f02301c: 8062017d */ lb $v0,0x17d($v1)
/* f023020: 3c09800a */ lui $t1,%hi(var8009d150)
/* f023024: 2529d150 */ addiu $t1,$t1,%lo(var8009d150)
/* f023020: 3c09800a */ lui $t1,%hi(g_Fireslots)
/* f023024: 2529d150 */ addiu $t1,$t1,%lo(g_Fireslots)
/* f023028: 04400008 */ bltz $v0,.L0f02304c
/* f02302c: 0002c880 */ sll $t9,$v0,0x2
/* f023030: 0322c823 */ subu $t9,$t9,$v0
@ -36779,8 +36779,8 @@ glabel func0f03e29c
/* f03e328: 0003c080 */ sll $t8,$v1,0x2
/* f03e32c: 8fab0070 */ lw $t3,0x70($sp)
/* f03e330: 0303c023 */ subu $t8,$t8,$v1
/* f03e334: 3c19800a */ lui $t9,%hi(var8009d150)
/* f03e338: 2739d150 */ addiu $t9,$t9,%lo(var8009d150)
/* f03e334: 3c19800a */ lui $t9,%hi(g_Fireslots)
/* f03e338: 2739d150 */ addiu $t9,$t9,%lo(g_Fireslots)
/* f03e33c: 0018c100 */ sll $t8,$t8,0x4
/* f03e340: 11600013 */ beqz $t3,.L0f03e390
/* f03e344: 03194021 */ addu $t0,$t8,$t9

View File

@ -155,11 +155,11 @@ glabel func0f010b20
/* f010b6c: 1420fffd */ bnez $at,.L0f010b64
/* f010b70: ac60fffc */ sw $zero,-0x4($v1)
/* f010b74: 3c018007 */ lui $at,0x8007
/* f010b78: 3c03800a */ lui $v1,%hi(var8009d150)
/* f010b78: 3c03800a */ lui $v1,%hi(g_Fireslots)
/* f010b7c: 3c04800a */ lui $a0,%hi(var8009d510)
/* f010b80: ac200524 */ sw $zero,0x524($at)
/* f010b84: 2484d510 */ addiu $a0,$a0,%lo(var8009d510)
/* f010b88: 2463d150 */ addiu $v1,$v1,%lo(var8009d150)
/* f010b88: 2463d150 */ addiu $v1,$v1,%lo(g_Fireslots)
/* f010b8c: 2402ffff */ addiu $v0,$zero,-1
.L0f010b90:
/* f010b90: 24630030 */ addiu $v1,$v1,0x30

View File

@ -29700,8 +29700,8 @@ glabel func0f07f6d0
/* f07f704: afb30024 */ sw $s3,0x24($sp)
/* f07f708: 12400076 */ beqz $s2,.L0f07f8e4
/* f07f70c: afb00018 */ sw $s0,0x18($sp)
/* f07f710: 3c13800a */ lui $s3,%hi(var8009d150)
/* f07f714: 2673d150 */ addiu $s3,$s3,%lo(var8009d150)
/* f07f710: 3c13800a */ lui $s3,%hi(g_Fireslots)
/* f07f714: 2673d150 */ addiu $s3,$s3,%lo(g_Fireslots)
/* f07f718: 241e0001 */ addiu $s8,$zero,0x1
/* f07f71c: 24170004 */ addiu $s7,$zero,0x4
/* f07f720: 24160003 */ addiu $s6,$zero,0x3

View File

@ -18224,28 +18224,20 @@ glabel func0f0a70a8
/* f0a70c4: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel freeFireslot
/* f0a70c8: 04800009 */ bltz $a0,.L0f0a70f0
/* f0a70cc: 28810014 */ slti $at,$a0,0x14
/* f0a70d0: 10200007 */ beqz $at,.L0f0a70f0
/* f0a70d4: 240effff */ addiu $t6,$zero,-1
/* f0a70d8: 00047880 */ sll $t7,$a0,0x2
/* f0a70dc: 01e47823 */ subu $t7,$t7,$a0
/* f0a70e0: 000f7900 */ sll $t7,$t7,0x4
/* f0a70e4: 3c01800a */ lui $at,0x800a
/* f0a70e8: 002f0821 */ addu $at,$at,$t7
/* f0a70ec: ac2ed150 */ sw $t6,-0x2eb0($at)
.L0f0a70f0:
/* f0a70f0: 03e00008 */ jr $ra
/* f0a70f4: 2402ffff */ addiu $v0,$zero,-1
);
s8 freeFireslot(s32 fireslot_id)
{
if (fireslot_id >= 0 && fireslot_id < 20) {
g_Fireslots[fireslot_id].unk00 = -1;
}
return -1;
}
GLOBAL_ASM(
glabel func0f0a70f8
/* f0a70f8: 3c04800a */ lui $a0,%hi(var8009d150)
/* f0a70f8: 3c04800a */ lui $a0,%hi(g_Fireslots)
/* f0a70fc: 2403ffff */ addiu $v1,$zero,-1
/* f0a7100: 2484d150 */ addiu $a0,$a0,%lo(var8009d150)
/* f0a7100: 2484d150 */ addiu $a0,$a0,%lo(g_Fireslots)
/* f0a7104: 00001025 */ or $v0,$zero,$zero
/* f0a7108: 24050014 */ addiu $a1,$zero,0x14
.L0f0a710c:

View File

@ -507,12 +507,12 @@ glabel func0f0ac138
/* f0ac3f4: 46105300 */ add.s $f12,$f10,$f16
/* f0ac3f8: 3c017f1b */ lui $at,%hi(var7f1acc48)
/* f0ac3fc: c428cc48 */ lwc1 $f8,%lo(var7f1acc48)($at)
/* f0ac400: 3c0a800a */ lui $t2,%hi(var8009d150)
/* f0ac400: 3c0a800a */ lui $t2,%hi(g_Fireslots)
/* f0ac404: 8fa20024 */ lw $v0,0x24($sp)
/* f0ac408: 4600403c */ c.lt.s $f8,$f0
/* f0ac40c: 2401fffe */ addiu $at,$zero,-2
/* f0ac410: 8faf0060 */ lw $t7,0x60($sp)
/* f0ac414: 254ad150 */ addiu $t2,$t2,%lo(var8009d150)
/* f0ac414: 254ad150 */ addiu $t2,$t2,%lo(g_Fireslots)
/* f0ac418: 45000003 */ bc1f .L0f0ac428
/* f0ac41c: 8fae0020 */ lw $t6,0x20($sp)
/* f0ac420: 55e10022 */ bnel $t7,$at,.L0f0ac4ac
@ -529,8 +529,8 @@ glabel func0f0ac138
/* f0ac448: 0fc2af9c */ jal func0f0abe70
/* f0ac44c: 8fa70018 */ lw $a3,0x18($sp)
/* f0ac450: 8fac0020 */ lw $t4,0x20($sp)
/* f0ac454: 3c0f800a */ lui $t7,%hi(var8009d150)
/* f0ac458: 25efd150 */ addiu $t7,$t7,%lo(var8009d150)
/* f0ac454: 3c0f800a */ lui $t7,%hi(g_Fireslots)
/* f0ac458: 25efd150 */ addiu $t7,$t7,%lo(g_Fireslots)
/* f0ac45c: 818b017c */ lb $t3,0x17c($t4)
/* f0ac460: 8fb80074 */ lw $t8,0x74($sp)
/* f0ac464: 8fb9002c */ lw $t9,0x2c($sp)

View File

@ -17881,21 +17881,21 @@ glabel func0f0c228c
/* f0c22f0: 8fbf0014 */ lw $ra,0x14($sp)
/* f0c22f4: 8045017c */ lb $a1,0x17c($v0)
/* f0c22f8: 00401825 */ or $v1,$v0,$zero
/* f0c22fc: 3c0a800a */ lui $t2,%hi(var8009d150)
/* f0c22fc: 3c0a800a */ lui $t2,%hi(g_Fireslots)
/* f0c2300: 04a00009 */ bltz $a1,.L0f0c2328
/* f0c2304: 00054080 */ sll $t0,$a1,0x2
/* f0c2308: 01054023 */ subu $t0,$t0,$a1
/* f0c230c: 00084100 */ sll $t0,$t0,0x4
/* f0c2310: 25090004 */ addiu $t1,$t0,0x4
/* f0c2314: 254ad150 */ addiu $t2,$t2,%lo(var8009d150)
/* f0c2314: 254ad150 */ addiu $t2,$t2,%lo(g_Fireslots)
/* f0c2318: 012a2021 */ addu $a0,$t1,$t2
/* f0c231c: 0fc2b6ef */ jal func0f0adbbc
/* f0c2320: afa2001c */ sw $v0,0x1c($sp)
/* f0c2324: 8fa3001c */ lw $v1,0x1c($sp)
.L0f0c2328:
/* f0c2328: 8062017d */ lb $v0,0x17d($v1)
/* f0c232c: 3c0d800a */ lui $t5,%hi(var8009d150)
/* f0c2330: 25add150 */ addiu $t5,$t5,%lo(var8009d150)
/* f0c232c: 3c0d800a */ lui $t5,%hi(g_Fireslots)
/* f0c2330: 25add150 */ addiu $t5,$t5,%lo(g_Fireslots)
/* f0c2334: 04400006 */ bltz $v0,.L0f0c2350
/* f0c2338: 00025880 */ sll $t3,$v0,0x2
/* f0c233c: 01625823 */ subu $t3,$t3,$v0

View File

@ -16387,246 +16387,7 @@ u32 var8009d140 = 0;
u32 var8009d144 = 0;
u32 var8009d148 = 0;
u32 var8009d14c = 0;
u32 var8009d150 = 0;
u32 var8009d154 = 0;
u32 var8009d158 = 0;
u32 var8009d15c = 0;
u32 var8009d160 = 0;
u32 var8009d164 = 0;
u32 var8009d168 = 0;
u32 var8009d16c = 0;
u32 var8009d170 = 0;
u32 var8009d174 = 0;
u32 var8009d178 = 0;
u32 var8009d17c = 0;
u32 var8009d180 = 0;
u32 var8009d184 = 0;
u32 var8009d188 = 0;
u32 var8009d18c = 0;
u32 var8009d190 = 0;
u32 var8009d194 = 0;
u32 var8009d198 = 0;
u32 var8009d19c = 0;
u32 var8009d1a0 = 0;
u32 var8009d1a4 = 0;
u32 var8009d1a8 = 0;
u32 var8009d1ac = 0;
u32 var8009d1b0 = 0;
u32 var8009d1b4 = 0;
u32 var8009d1b8 = 0;
u32 var8009d1bc = 0;
u32 var8009d1c0 = 0;
u32 var8009d1c4 = 0;
u32 var8009d1c8 = 0;
u32 var8009d1cc = 0;
u32 var8009d1d0 = 0;
u32 var8009d1d4 = 0;
u32 var8009d1d8 = 0;
u32 var8009d1dc = 0;
u32 var8009d1e0 = 0;
u32 var8009d1e4 = 0;
u32 var8009d1e8 = 0;
u32 var8009d1ec = 0;
u32 var8009d1f0 = 0;
u32 var8009d1f4 = 0;
u32 var8009d1f8 = 0;
u32 var8009d1fc = 0;
u32 var8009d200 = 0;
u32 var8009d204 = 0;
u32 var8009d208 = 0;
u32 var8009d20c = 0;
u32 var8009d210 = 0;
u32 var8009d214 = 0;
u32 var8009d218 = 0;
u32 var8009d21c = 0;
u32 var8009d220 = 0;
u32 var8009d224 = 0;
u32 var8009d228 = 0;
u32 var8009d22c = 0;
u32 var8009d230 = 0;
u32 var8009d234 = 0;
u32 var8009d238 = 0;
u32 var8009d23c = 0;
u32 var8009d240 = 0;
u32 var8009d244 = 0;
u32 var8009d248 = 0;
u32 var8009d24c = 0;
u32 var8009d250 = 0;
u32 var8009d254 = 0;
u32 var8009d258 = 0;
u32 var8009d25c = 0;
u32 var8009d260 = 0;
u32 var8009d264 = 0;
u32 var8009d268 = 0;
u32 var8009d26c = 0;
u32 var8009d270 = 0;
u32 var8009d274 = 0;
u32 var8009d278 = 0;
u32 var8009d27c = 0;
u32 var8009d280 = 0;
u32 var8009d284 = 0;
u32 var8009d288 = 0;
u32 var8009d28c = 0;
u32 var8009d290 = 0;
u32 var8009d294 = 0;
u32 var8009d298 = 0;
u32 var8009d29c = 0;
u32 var8009d2a0 = 0;
u32 var8009d2a4 = 0;
u32 var8009d2a8 = 0;
u32 var8009d2ac = 0;
u32 var8009d2b0 = 0;
u32 var8009d2b4 = 0;
u32 var8009d2b8 = 0;
u32 var8009d2bc = 0;
u32 var8009d2c0 = 0;
u32 var8009d2c4 = 0;
u32 var8009d2c8 = 0;
u32 var8009d2cc = 0;
u32 var8009d2d0 = 0;
u32 var8009d2d4 = 0;
u32 var8009d2d8 = 0;
u32 var8009d2dc = 0;
u32 var8009d2e0 = 0;
u32 var8009d2e4 = 0;
u32 var8009d2e8 = 0;
u32 var8009d2ec = 0;
u32 var8009d2f0 = 0;
u32 var8009d2f4 = 0;
u32 var8009d2f8 = 0;
u32 var8009d2fc = 0;
u32 var8009d300 = 0;
u32 var8009d304 = 0;
u32 var8009d308 = 0;
u32 var8009d30c = 0;
u32 var8009d310 = 0;
u32 var8009d314 = 0;
u32 var8009d318 = 0;
u32 var8009d31c = 0;
u32 var8009d320 = 0;
u32 var8009d324 = 0;
u32 var8009d328 = 0;
u32 var8009d32c = 0;
u32 var8009d330 = 0;
u32 var8009d334 = 0;
u32 var8009d338 = 0;
u32 var8009d33c = 0;
u32 var8009d340 = 0;
u32 var8009d344 = 0;
u32 var8009d348 = 0;
u32 var8009d34c = 0;
u32 var8009d350 = 0;
u32 var8009d354 = 0;
u32 var8009d358 = 0;
u32 var8009d35c = 0;
u32 var8009d360 = 0;
u32 var8009d364 = 0;
u32 var8009d368 = 0;
u32 var8009d36c = 0;
u32 var8009d370 = 0;
u32 var8009d374 = 0;
u32 var8009d378 = 0;
u32 var8009d37c = 0;
u32 var8009d380 = 0;
u32 var8009d384 = 0;
u32 var8009d388 = 0;
u32 var8009d38c = 0;
u32 var8009d390 = 0;
u32 var8009d394 = 0;
u32 var8009d398 = 0;
u32 var8009d39c = 0;
u32 var8009d3a0 = 0;
u32 var8009d3a4 = 0;
u32 var8009d3a8 = 0;
u32 var8009d3ac = 0;
u32 var8009d3b0 = 0;
u32 var8009d3b4 = 0;
u32 var8009d3b8 = 0;
u32 var8009d3bc = 0;
u32 var8009d3c0 = 0;
u32 var8009d3c4 = 0;
u32 var8009d3c8 = 0;
u32 var8009d3cc = 0;
u32 var8009d3d0 = 0;
u32 var8009d3d4 = 0;
u32 var8009d3d8 = 0;
u32 var8009d3dc = 0;
u32 var8009d3e0 = 0;
u32 var8009d3e4 = 0;
u32 var8009d3e8 = 0;
u32 var8009d3ec = 0;
u32 var8009d3f0 = 0;
u32 var8009d3f4 = 0;
u32 var8009d3f8 = 0;
u32 var8009d3fc = 0;
u32 var8009d400 = 0;
u32 var8009d404 = 0;
u32 var8009d408 = 0;
u32 var8009d40c = 0;
u32 var8009d410 = 0;
u32 var8009d414 = 0;
u32 var8009d418 = 0;
u32 var8009d41c = 0;
u32 var8009d420 = 0;
u32 var8009d424 = 0;
u32 var8009d428 = 0;
u32 var8009d42c = 0;
u32 var8009d430 = 0;
u32 var8009d434 = 0;
u32 var8009d438 = 0;
u32 var8009d43c = 0;
u32 var8009d440 = 0;
u32 var8009d444 = 0;
u32 var8009d448 = 0;
u32 var8009d44c = 0;
u32 var8009d450 = 0;
u32 var8009d454 = 0;
u32 var8009d458 = 0;
u32 var8009d45c = 0;
u32 var8009d460 = 0;
u32 var8009d464 = 0;
u32 var8009d468 = 0;
u32 var8009d46c = 0;
u32 var8009d470 = 0;
u32 var8009d474 = 0;
u32 var8009d478 = 0;
u32 var8009d47c = 0;
u32 var8009d480 = 0;
u32 var8009d484 = 0;
u32 var8009d488 = 0;
u32 var8009d48c = 0;
u32 var8009d490 = 0;
u32 var8009d494 = 0;
u32 var8009d498 = 0;
u32 var8009d49c = 0;
u32 var8009d4a0 = 0;
u32 var8009d4a4 = 0;
u32 var8009d4a8 = 0;
u32 var8009d4ac = 0;
u32 var8009d4b0 = 0;
u32 var8009d4b4 = 0;
u32 var8009d4b8 = 0;
u32 var8009d4bc = 0;
u32 var8009d4c0 = 0;
u32 var8009d4c4 = 0;
u32 var8009d4c8 = 0;
u32 var8009d4cc = 0;
u32 var8009d4d0 = 0;
u32 var8009d4d4 = 0;
u32 var8009d4d8 = 0;
u32 var8009d4dc = 0;
u32 var8009d4e0 = 0;
u32 var8009d4e4 = 0;
u32 var8009d4e8 = 0;
u32 var8009d4ec = 0;
u32 var8009d4f0 = 0;
u32 var8009d4f4 = 0;
u32 var8009d4f8 = 0;
u32 var8009d4fc = 0;
u32 var8009d500 = 0;
u32 var8009d504 = 0;
u32 var8009d508 = 0;
u32 var8009d50c = 0;
struct fireslot g_Fireslots[20] = {0};
u32 var8009d510 = 0;
u32 var8009d514 = 0;
u32 var8009d518 = 0;

View File

@ -139,7 +139,7 @@ u32 func0f0a5550(void);
u32 func0f0a695c(void);
u32 func0f0a6c30(void);
u32 func0f0a70a8(void);
s8 freeFireslot(s8 fireslot);
s8 freeFireslot(s32 fireslot);
u32 func0f0a70f8(void);
u32 func0f0a7138(void);
u32 func0f0a7d5c(void);

View File

@ -601,7 +601,7 @@ extern u32 var8009d0d8;
extern u32 var8009d0e0;
extern u32 var8009d0f0;
extern u32 var8009d144;
extern u32 var8009d150;
extern struct fireslot g_Fireslots[];
extern u32 var8009d510;
extern u32 var8009da60;
extern u32 var8009dbe0;

View File

@ -2811,4 +2811,19 @@ struct room {
/*0x88*/ u32 unk88;
};
struct fireslot {
/*0x00*/ s32 unk00;
/*0x04*/ u32 unk04;
/*0x08*/ u32 unk08;
/*0x0c*/ u32 unk0c;
/*0x10*/ u32 unk10;
/*0x14*/ u32 unk14;
/*0x18*/ u32 unk18;
/*0x1c*/ u32 unk1c;
/*0x20*/ u32 unk20;
/*0x24*/ u32 unk24;
/*0x28*/ u32 unk28;
/*0x2c*/ u32 unk2c;
};
#endif