Merge pull request #187 from Faschz/func_800ACF98

Decomp func_800ACF98
This commit is contained in:
AntonioCastelli
2021-12-07 23:34:01 -08:00
committed by GitHub
2 changed files with 29 additions and 55 deletions
@@ -1,45 +0,0 @@
glabel func_800ACF98
/* 0ADB98 800ACF98 3C07800E */ lui $a3, %hi(D_800E2A88) # $a3, 0x800e
/* 0ADB9C 800ACF9C 24E72A88 */ addiu $a3, %lo(D_800E2A88) # addiu $a3, $a3, 0x2a88
/* 0ADBA0 800ACFA0 8CE50000 */ lw $a1, ($a3)
/* 0ADBA4 800ACFA4 00001025 */ move $v0, $zero
/* 0ADBA8 800ACFA8 18A0000E */ blez $a1, .L800ACFE4
/* 0ADBAC 800ACFAC 00001825 */ move $v1, $zero
/* 0ADBB0 800ACFB0 3C0F8012 */ lui $t7, %hi(D_80127C40) # $t7, 0x8012
/* 0ADBB4 800ACFB4 25EF7C40 */ addiu $t7, %lo(D_80127C40) # addiu $t7, $t7, 0x7c40
/* 0ADBB8 800ACFB8 00007080 */ sll $t6, $zero, 2
/* 0ADBBC 800ACFBC 01CF3021 */ addu $a2, $t6, $t7
.L800ACFC0:
/* 0ADBC0 800ACFC0 8CD80000 */ lw $t8, ($a2)
/* 0ADBC4 800ACFC4 24630001 */ addiu $v1, $v1, 1
/* 0ADBC8 800ACFC8 14980002 */ bne $a0, $t8, .L800ACFD4
/* 0ADBCC 800ACFCC 0065082A */ slt $at, $v1, $a1
/* 0ADBD0 800ACFD0 24020001 */ li $v0, 1
.L800ACFD4:
/* 0ADBD4 800ACFD4 10200003 */ beqz $at, .L800ACFE4
/* 0ADBD8 800ACFD8 24C60004 */ addiu $a2, $a2, 4
/* 0ADBDC 800ACFDC 1040FFF8 */ beqz $v0, .L800ACFC0
/* 0ADBE0 800ACFE0 00000000 */ nop
.L800ACFE4:
/* 0ADBE4 800ACFE4 10400010 */ beqz $v0, .L800AD028
/* 0ADBE8 800ACFE8 24B9FFFF */ addiu $t9, $a1, -1
/* 0ADBEC 800ACFEC 2463FFFF */ addiu $v1, $v1, -1
/* 0ADBF0 800ACFF0 0079082A */ slt $at, $v1, $t9
/* 0ADBF4 800ACFF4 1020000C */ beqz $at, .L800AD028
/* 0ADBF8 800ACFF8 ACF90000 */ sw $t9, ($a3)
/* 0ADBFC 800ACFFC 3C098012 */ lui $t1, %hi(D_80127C40) # $t1, 0x8012
/* 0ADC00 800AD000 25297C40 */ addiu $t1, %lo(D_80127C40) # addiu $t1, $t1, 0x7c40
/* 0ADC04 800AD004 00034080 */ sll $t0, $v1, 2
/* 0ADC08 800AD008 00195080 */ sll $t2, $t9, 2
/* 0ADC0C 800AD00C 01491021 */ addu $v0, $t2, $t1
/* 0ADC10 800AD010 01093021 */ addu $a2, $t0, $t1
.L800AD014:
/* 0ADC14 800AD014 8CCB0004 */ lw $t3, 4($a2)
/* 0ADC18 800AD018 24C60004 */ addiu $a2, $a2, 4
/* 0ADC1C 800AD01C 00C2082B */ sltu $at, $a2, $v0
/* 0ADC20 800AD020 1420FFFC */ bnez $at, .L800AD014
/* 0ADC24 800AD024 ACCBFFFC */ sw $t3, -4($a2)
.L800AD028:
/* 0ADC28 800AD028 03E00008 */ jr $ra
/* 0ADC2C 800AD02C 00000000 */ nop
+29 -10
View File
@@ -87,15 +87,15 @@ f32 D_800E2AA4 = -200.0f;
f32 D_800E2AA8 = -200.0f;
s16 D_800E2AAC[80] = {
0, 0, 0, -1, -1, 0, 0, 0,
-1, -1, 0, 0, 0, -1, -1, 0,
0, 0, -1, -1, 0, 0, 0, -1,
-1, 0, 0, 0, -1, -1, 0, 0,
0, -1, -1, 0, 0, 0, -1, -1,
0, 0, 0, -1, -1, 0, 0, 0,
-1, -1, 0, 0, 0, -1, -1, 0,
0, 0, -1, -1, 0, 0, 0, -1,
-1, 0, 0, 0, -1, -1, 0, 0,
0, 0, 0, -1, -1, 0, 0, 0,
-1, -1, 0, 0, 0, -1, -1, 0,
0, 0, -1, -1, 0, 0, 0, -1,
-1, 0, 0, 0, -1, -1, 0, 0,
0, -1, -1, 0, 0, 0, -1, -1,
0, 0, 0, -1, -1, 0, 0, 0,
-1, -1, 0, 0, 0, -1, -1, 0,
0, 0, -1, -1, 0, 0, 0, -1,
-1, 0, 0, 0, -1, -1, 0, 0,
0, -1, -1, 0, 0, 0, -1, -1
};
@@ -199,7 +199,26 @@ void func_800ACF60(Object *arg0) {
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800ACF98.s")
void func_800ACF98(Object* arg0) {
s32 i;
s32 isFound = FALSE;
for (i = 0; i < D_800E2A88 && !isFound; i++) {
if (D_80127C40[i] == arg0) {
isFound = TRUE;
}
}
if (isFound) {
D_800E2A88--;
i--;
for (; i < D_800E2A88; i++) {
D_80127C40[i] = D_80127C40[i + 1];
}
}
}
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD030.s")
GLOBAL_ASM("asm/non_matchings/unknown_09F8F0/func_800AD144.s")