diff --git a/asm/non_matchings/unknown_00BC20/func_8000E0B0.s b/asm/non_matchings/unknown_00BC20/func_8000E0B0.s deleted file mode 100644 index 717c2a54..00000000 --- a/asm/non_matchings/unknown_00BC20/func_8000E0B0.s +++ /dev/null @@ -1,45 +0,0 @@ -.late_rodata -glabel jpt_800E5188 -.word L8000E104, L8000E0E4, L8000E0F4, L8000E0F4, L8000E0FC, L8000E104, L8000E0FC, L8000E0EC, L8000E104 - -.text -glabel func_8000E0B0 -/* 00ECB0 8000E0B0 3C0E8012 */ lui $t6, %hi(D_8011AD38) # $t6, 0x8012 -/* 00ECB4 8000E0B4 8DCEAD38 */ lw $t6, %lo(D_8011AD38)($t6) -/* 00ECB8 8000E0B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 00ECBC 8000E0BC 2DC10009 */ sltiu $at, $t6, 9 -/* 00ECC0 8000E0C0 10200014 */ beqz $at, .L8000E114 -/* 00ECC4 8000E0C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 00ECC8 8000E0C8 000E7080 */ sll $t6, $t6, 2 -/* 00ECCC 8000E0CC 3C01800E */ lui $at, %hi(jpt_800E5188) # $at, 0x800e -/* 00ECD0 8000E0D0 002E0821 */ addu $at, $at, $t6 -/* 00ECD4 8000E0D4 8C2E5188 */ lw $t6, %lo(jpt_800E5188)($at) -/* 00ECD8 8000E0D8 00000000 */ nop -/* 00ECDC 8000E0DC 01C00008 */ jr $t6 -/* 00ECE0 8000E0E0 00000000 */ nop -glabel L8000E0E4 -/* 00ECE4 8000E0E4 1000000C */ b .L8000E118 -/* 00ECE8 8000E0E8 2402FFFF */ li $v0, -1 -glabel L8000E0EC -/* 00ECEC 8000E0EC 1000000A */ b .L8000E118 -/* 00ECF0 8000E0F0 00001025 */ move $v0, $zero -glabel L8000E0F4 -/* 00ECF4 8000E0F4 10000008 */ b .L8000E118 -/* 00ECF8 8000E0F8 24020003 */ li $v0, 3 -glabel L8000E0FC -/* 00ECFC 8000E0FC 10000006 */ b .L8000E118 -/* 00ED00 8000E100 24020002 */ li $v0, 2 -glabel L8000E104 -/* 00ED04 8000E104 0C016788 */ jal func_80059E20 -/* 00ED08 8000E108 00000000 */ nop -/* 00ED0C 8000E10C 10000003 */ b .L8000E11C -/* 00ED10 8000E110 8FBF0014 */ lw $ra, 0x14($sp) -.L8000E114: -/* 00ED14 8000E114 00001025 */ move $v0, $zero -.L8000E118: -/* 00ED18 8000E118 8FBF0014 */ lw $ra, 0x14($sp) -.L8000E11C: -/* 00ED1C 8000E11C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 00ED20 8000E120 03E00008 */ jr $ra -/* 00ED24 8000E124 00000000 */ nop - diff --git a/src/unknown_00BC20.c b/src/unknown_00BC20.c index e354ac33..a5d98fa9 100644 --- a/src/unknown_00BC20.c +++ b/src/unknown_00BC20.c @@ -558,9 +558,26 @@ s32 func_8000CC20(u32 *arg0) { // Has a jump table GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000CC7C.s") -// Has a jump table -GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000E0B0.s") - +u32 func_8000E0B0(void) { + switch(D_8011AD38) { + case 1: + return -1; + case 7: + return 0; + case 2: + case 3: + return 3; + case 4: + case 6: + return 2; + case 0: + case 5: + case 8: + return func_80059E20(); + default: + return 0; + } +} void func_8000E128(void) { D_800DC708 = 0x8000;