diff --git a/src/16c8e0.c b/src/16c8e0.c index 41dc9e4d56..a3e2a86076 100644 --- a/src/16c8e0.c +++ b/src/16c8e0.c @@ -474,7 +474,17 @@ void func_8023ED5C(void) { } } -INCLUDE_ASM(s32, "16c8e0", func_8023F060); +u16 func_8023F060(u16 arg0, s32 arg1, s32 arg2) { + s32 temp_lo; + s32 phi_v0; + + temp_lo = (arg1 - (arg0)) * arg2; + phi_v0 = temp_lo; + if (temp_lo < 0) { + phi_v0 = temp_lo + 0xFF; + } + return (arg0 + (phi_v0 >> 8)); +} INCLUDE_ASM(s32, "16c8e0", func_8023F088); diff --git a/ver/us/asm/nonmatchings/16c8e0/func_8023F060.s b/ver/us/asm/nonmatchings/16c8e0/func_8023F060.s deleted file mode 100644 index b561a47dcc..0000000000 --- a/ver/us/asm/nonmatchings/16c8e0/func_8023F060.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8023F060 -/* 16D940 8023F060 3082FFFF */ andi $v0, $a0, 0xffff -/* 16D944 8023F064 00A22823 */ subu $a1, $a1, $v0 -/* 16D948 8023F068 00A60018 */ mult $a1, $a2 -/* 16D94C 8023F06C 00001012 */ mflo $v0 -/* 16D950 8023F070 04420001 */ bltzl $v0, .L8023F078 -/* 16D954 8023F074 244200FF */ addiu $v0, $v0, 0xff -.L8023F078: -/* 16D958 8023F078 00021203 */ sra $v0, $v0, 8 -/* 16D95C 8023F07C 00821021 */ addu $v0, $a0, $v0 -/* 16D960 8023F080 03E00008 */ jr $ra -/* 16D964 8023F084 3042FFFF */ andi $v0, $v0, 0xffff