Decompile chrRemoveFromChrsC

This commit is contained in:
Ryan Dwyer
2020-05-18 22:43:17 +10:00
parent 6c223800e2
commit ea255f5420
2 changed files with 22 additions and 57 deletions
+21 -56
View File
@@ -342,61 +342,26 @@ void chrInsertToChrsC(s32 chrnum, s32 chrindex)
g_NumChrsC++;
}
GLOBAL_ASM(
glabel func0f01e6a4
/* f01e6a4: 3c08800a */ lui $t0,%hi(g_NumChrsC)
/* f01e6a8: 2508cd10 */ addiu $t0,$t0,%lo(g_NumChrsC)
/* f01e6ac: 8d030000 */ lw $v1,0x0($t0)
/* f01e6b0: 00001025 */ or $v0,$zero,$zero
/* f01e6b4: 00002825 */ or $a1,$zero,$zero
/* f01e6b8: 18600027 */ blez $v1,.L0f01e758
/* f01e6bc: 3c06800a */ lui $a2,%hi(g_ChrnumsC)
/* f01e6c0: 8cc6cd14 */ lw $a2,%lo(g_ChrnumsC)($a2)
.L0f01e6c4:
/* f01e6c4: 84ce0000 */ lh $t6,0x0($a2)
/* f01e6c8: 24c60002 */ addiu $a2,$a2,0x2
/* f01e6cc: 548e001f */ bnel $a0,$t6,.L0f01e74c
/* f01e6d0: 24420001 */ addiu $v0,$v0,0x1
/* f01e6d4: 24460001 */ addiu $a2,$v0,0x1
/* f01e6d8: 00c3082a */ slt $at,$a2,$v1
/* f01e6dc: 10200017 */ beqz $at,.L0f01e73c
/* f01e6e0: 00c02025 */ or $a0,$a2,$zero
/* f01e6e4: 3c0a800a */ lui $t2,%hi(g_ChrIndexesC)
/* f01e6e8: 3c09800a */ lui $t1,%hi(g_ChrnumsC)
/* f01e6ec: 2529cd14 */ addiu $t1,$t1,%lo(g_ChrnumsC)
/* f01e6f0: 254acd18 */ addiu $t2,$t2,%lo(g_ChrIndexesC)
/* f01e6f4: 00063040 */ sll $a2,$a2,0x1
/* f01e6f8: 8d220000 */ lw $v0,0x0($t1)
.L0f01e6fc:
/* f01e6fc: 24840001 */ addiu $a0,$a0,0x1
/* f01e700: 00467821 */ addu $t7,$v0,$a2
/* f01e704: 85f80000 */ lh $t8,0x0($t7)
/* f01e708: 0045c821 */ addu $t9,$v0,$a1
/* f01e70c: a7380000 */ sh $t8,0x0($t9)
/* f01e710: 8d470000 */ lw $a3,0x0($t2)
/* f01e714: 00e65821 */ addu $t3,$a3,$a2
/* f01e718: 856c0000 */ lh $t4,0x0($t3)
/* f01e71c: 00e56821 */ addu $t5,$a3,$a1
/* f01e720: 24a50002 */ addiu $a1,$a1,0x2
/* f01e724: a5ac0000 */ sh $t4,0x0($t5)
/* f01e728: 8d030000 */ lw $v1,0x0($t0)
/* f01e72c: 24c60002 */ addiu $a2,$a2,0x2
/* f01e730: 0083082a */ slt $at,$a0,$v1
/* f01e734: 5420fff1 */ bnezl $at,.L0f01e6fc
/* f01e738: 8d220000 */ lw $v0,0x0($t1)
.L0f01e73c:
/* f01e73c: 246effff */ addiu $t6,$v1,-1
/* f01e740: 03e00008 */ jr $ra
/* f01e744: ad0e0000 */ sw $t6,0x0($t0)
/* f01e748: 24420001 */ addiu $v0,$v0,0x1
.L0f01e74c:
/* f01e74c: 0043082a */ slt $at,$v0,$v1
/* f01e750: 1420ffdc */ bnez $at,.L0f01e6c4
/* f01e754: 24a50002 */ addiu $a1,$a1,0x2
.L0f01e758:
/* f01e758: 03e00008 */ jr $ra
/* f01e75c: 00000000 */ sll $zero,$zero,0x0
);
void chrRemoveFromChrsC(s32 chrnum)
{
s32 i;
for (i = 0; i < g_NumChrsC; i++) {
if (g_ChrnumsC[i] == chrnum) {
s32 j = i + 1;
while (j < g_NumChrsC) {
g_ChrnumsC[i] = g_ChrnumsC[j];
g_ChrIndexesC[i] = g_ChrIndexesC[j];
i++;
j++;
}
g_NumChrsC--;
return;
}
}
}
void func0f01e760(s32 arg0)
{
@@ -2920,7 +2885,7 @@ glabel func0f020d44
/* f020e90: 8fb90054 */ lw $t9,0x54($sp)
/* f020e94: 53200039 */ beqzl $t9,.L0f020f7c
/* f020e98: 8fbf0024 */ lw $ra,0x24($sp)
/* f020e9c: 0fc079a9 */ jal func0f01e6a4
/* f020e9c: 0fc079a9 */ jal chrRemoveFromChrsC
/* f020ea0: 84440000 */ lh $a0,0x0($v0)
/* f020ea4: 8fa8004c */ lw $t0,0x4c($sp)
/* f020ea8: 2410ffff */ addiu $s0,$zero,-1
+1 -1
View File
@@ -5,7 +5,7 @@
void func0f01e250(void);
u32 chrSetChrnum(struct chrdata *chr, s16 arg1);
u32 func0f01e6a4(void);
void chrRemoveFromChrsC(s32 chrnum);
u32 func0f01e7f4(void);
u32 func0f01f264(struct chrdata *chr, struct coord *pos, s16 *room, f32 arg3, bool arg4);
void func0f01f378(void);