Decompile func0f0a70f8

This commit is contained in:
Ryan Dwyer
2021-04-10 14:37:33 +10:00
parent a07a4ae7c9
commit 7180110f80
3 changed files with 26 additions and 47 deletions
+21 -46
View File
@@ -29132,54 +29132,29 @@ s8 freeFireslot(s32 fireslot_id)
return -1;
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f0a70f8
/* f0a70f8: 3c04800a */ lui $a0,%hi(g_Fireslots)
/* f0a70fc: 2403ffff */ addiu $v1,$zero,-1
/* f0a7100: 2484d150 */ addiu $a0,$a0,%lo(g_Fireslots)
/* f0a7104: 00001025 */ or $v0,$zero,$zero
/* f0a7108: 24050014 */ addiu $a1,$zero,0x14
.L0f0a710c:
/* f0a710c: 8c8e0000 */ lw $t6,0x0($a0)
/* f0a7110: 05c10004 */ bgez $t6,.L0f0a7124
/* f0a7114: 240fffff */ addiu $t7,$zero,-1
/* f0a7118: ac800000 */ sw $zero,0x0($a0)
/* f0a711c: 03e00008 */ jr $ra
/* f0a7120: a08f0004 */ sb $t7,0x4($a0)
.L0f0a7124:
/* f0a7124: 24420001 */ addiu $v0,$v0,0x1
/* f0a7128: 1445fff8 */ bne $v0,$a1,.L0f0a710c
/* f0a712c: 24840030 */ addiu $a0,$a0,0x30
/* f0a7130: 03e00008 */ jr $ra
/* f0a7134: 00601025 */ or $v0,$v1,$zero
);
#else
GLOBAL_ASM(
glabel func0f0a70f8
/* f0a4e3c: 3c04800a */ lui $a0,0x800a
/* f0a4e40: 2403ffff */ addiu $v1,$zero,-1
/* f0a4e44: 24841888 */ addiu $a0,$a0,0x1888
/* f0a4e48: 00001025 */ or $v0,$zero,$zero
/* f0a4e4c: 24050014 */ addiu $a1,$zero,0x14
.NB0f0a4e50:
/* f0a4e50: 8c8e0000 */ lw $t6,0x0($a0)
/* f0a4e54: 05c10006 */ bgez $t6,.NB0f0a4e70
/* f0a4e58: 240fffff */ addiu $t7,$zero,-1
/* f0a4e5c: ac800000 */ sw $zero,0x0($a0)
/* f0a4e60: ac800004 */ sw $zero,0x4($a0)
/* f0a4e64: ac800008 */ sw $zero,0x8($a0)
/* f0a4e68: 03e00008 */ jr $ra
/* f0a4e6c: a08f000c */ sb $t7,0xc($a0)
.NB0f0a4e70:
/* f0a4e70: 24420001 */ addiu $v0,$v0,0x1
/* f0a4e74: 1445fff6 */ bne $v0,$a1,.NB0f0a4e50
/* f0a4e78: 24840038 */ addiu $a0,$a0,0x38
/* f0a4e7c: 03e00008 */ jr $ra
/* f0a4e80: 00601025 */ or $v0,$v1,$zero
);
s32 func0f0a70f8(void)
{
s32 index = -1;
s32 i;
for (i = 0; i < ARRAYCOUNT(g_Fireslots); i++) {
if (g_Fireslots[i].unk00 < 0) {
g_Fireslots[i].unk00 = 0;
#if VERSION < VERSION_NTSC_1_0
g_Fireslots[i].unk04nb = 0;
g_Fireslots[i].unk08nb = 0;
#endif
g_Fireslots[i].beam.age = -1;
index = i;
break;
}
}
return index;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0a7138
+1 -1
View File
@@ -134,7 +134,7 @@ u32 func0f0a5300(void);
u32 func0f0a5550(void);
u32 func0f0a695c(void);
u32 func0f0a6c30(void);
u32 func0f0a70f8(void);
s32 func0f0a70f8(void);
void func0f0a7138(Gfx **gdl);
struct audiohandle **func0f0a7d5c(void);
void func0f0a7d98(struct shorthand *hand, struct prop *prop, s32 arg2);
+4
View File
@@ -3791,6 +3791,10 @@ struct fireslotthing {
struct fireslot {
/*0x00*/ s32 unk00;
#if VERSION < VERSION_NTSC_1_0
s32 unk04nb;
s32 unk08nb;
#endif
/*0x04*/ struct beam beam;
};