diff --git a/asm/non_matchings/unknown_001050/func_80001F14.s b/asm/non_matchings/unknown_001050/func_80001F14.s deleted file mode 100644 index a19ea164..00000000 --- a/asm/non_matchings/unknown_001050/func_80001F14.s +++ /dev/null @@ -1,48 +0,0 @@ -glabel func_80001F14 -/* 002B14 80001F14 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 002B18 80001F18 308EFFFF */ andi $t6, $a0, 0xffff -/* 002B1C 80001F1C AFBF0014 */ sw $ra, 0x14($sp) -/* 002B20 80001F20 AFA40020 */ sw $a0, 0x20($sp) -/* 002B24 80001F24 19C00009 */ blez $t6, .L80001F4C -/* 002B28 80001F28 00A03025 */ move $a2, $a1 -/* 002B2C 80001F2C AFAE001C */ sw $t6, 0x1c($sp) -/* 002B30 80001F30 0C00083A */ jal func_800020E8 -/* 002B34 80001F34 AFA50024 */ sw $a1, 0x24($sp) -/* 002B38 80001F38 8FA3001C */ lw $v1, 0x1c($sp) -/* 002B3C 80001F3C 8FA60024 */ lw $a2, 0x24($sp) -/* 002B40 80001F40 0043082A */ slt $at, $v0, $v1 -/* 002B44 80001F44 10200005 */ beqz $at, .L80001F5C -/* 002B48 80001F48 00000000 */ nop -.L80001F4C: -/* 002B4C 80001F4C 10C00017 */ beqz $a2, .L80001FAC -/* 002B50 80001F50 8FBF0014 */ lw $ra, 0x14($sp) -/* 002B54 80001F54 10000014 */ b .L80001FA8 -/* 002B58 80001F58 ACC00000 */ sw $zero, ($a2) -.L80001F5C: -/* 002B5C 80001F5C 10C0000A */ beqz $a2, .L80001F88 -/* 002B60 80001F60 3C198011 */ lui $t9, %hi(D_80115D14) # $t9, 0x8011 -/* 002B64 80001F64 3C0F8011 */ lui $t7, %hi(D_80115D14) # $t7, 0x8011 -/* 002B68 80001F68 8DEF5D14 */ lw $t7, %lo(D_80115D14)($t7) -/* 002B6C 80001F6C 00032C00 */ sll $a1, $v1, 0x10 -/* 002B70 80001F70 0005C403 */ sra $t8, $a1, 0x10 -/* 002B74 80001F74 8DE40004 */ lw $a0, 4($t7) -/* 002B78 80001F78 0C00118E */ jal func_80004638 -/* 002B7C 80001F7C 03002825 */ move $a1, $t8 -/* 002B80 80001F80 1000000A */ b .L80001FAC -/* 002B84 80001F84 8FBF0014 */ lw $ra, 0x14($sp) -.L80001F88: -/* 002B88 80001F88 8F395D14 */ lw $t9, %lo(D_80115D14)($t9) -/* 002B8C 80001F8C 00032C00 */ sll $a1, $v1, 0x10 -/* 002B90 80001F90 00054403 */ sra $t0, $a1, 0x10 -/* 002B94 80001F94 3C068011 */ lui $a2, %hi(D_80115F88) # $a2, 0x8011 -/* 002B98 80001F98 8F240004 */ lw $a0, 4($t9) -/* 002B9C 80001F9C 24C65F88 */ addiu $a2, %lo(D_80115F88) # addiu $a2, $a2, 0x5f88 -/* 002BA0 80001FA0 0C00118E */ jal func_80004638 -/* 002BA4 80001FA4 01002825 */ move $a1, $t0 -.L80001FA8: -/* 002BA8 80001FA8 8FBF0014 */ lw $ra, 0x14($sp) -.L80001FAC: -/* 002BAC 80001FAC 27BD0020 */ addiu $sp, $sp, 0x20 -/* 002BB0 80001FB0 03E00008 */ jr $ra -/* 002BB4 80001FB4 00000000 */ nop - diff --git a/src/unknown_001050.c b/src/unknown_001050.c index a4177f87..219764fb 100644 --- a/src/unknown_001050.c +++ b/src/unknown_001050.c @@ -86,6 +86,7 @@ extern unk80115D48 D_80115D48[8]; extern s8 D_80115F78; extern s8 D_80115F79; extern s32 D_80115F7C; +extern u32 D_80115F88; #if 1 GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80000450.s") @@ -482,7 +483,26 @@ u16 func_80001CB8(u16 arg0) { GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001D04.s") GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001EA8.s") -GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001F14.s") + + +u16 func_800020E8(void); + +void func_80001F14(u16 arg0, u32 *arg1){ + if(arg0 <= 0 || func_800020E8() < arg0){ + if(arg1){ + *arg1 = 0; + } + } + else{ + if(arg1){ + func_80004638(D_80115D14->bankArray[0], (s16) arg0, arg1); + }else{ + func_80004638(D_80115D14->bankArray[0], (s16) arg0, &D_80115F88); + } + } +} + + GLOBAL_ASM("asm/non_matchings/unknown_001050/func_80001FB8.s") u16 func_800020E8(void) {