diff --git a/src/lib/lib_24e40.c b/src/lib/lib_24e40.c index 725c3312c..ff8df768b 100644 --- a/src/lib/lib_24e40.c +++ b/src/lib/lib_24e40.c @@ -618,63 +618,19 @@ glabel func000254d8 /* 25650: 00601025 */ or $v0,$v1,$zero ); -GLOBAL_ASM( -glabel func00025654 -/* 25654: 27bdffb8 */ addiu $sp,$sp,-72 -/* 25658: e7ac0048 */ swc1 $f12,0x48($sp) -/* 2565c: afa60050 */ sw $a2,0x50($sp) -/* 25660: c7a40050 */ lwc1 $f4,0x50($sp) -/* 25664: c7a60048 */ lwc1 $f6,0x48($sp) -/* 25668: e7ae004c */ swc1 $f14,0x4c($sp) -/* 2566c: afa70054 */ sw $a3,0x54($sp) -/* 25670: 46062081 */ sub.s $f2,$f4,$f6 -/* 25674: c7a80054 */ lwc1 $f8,0x54($sp) -/* 25678: c7aa004c */ lwc1 $f10,0x4c($sp) -/* 2567c: afbf0014 */ sw $ra,0x14($sp) -/* 25680: 46021482 */ mul.s $f18,$f2,$f2 -/* 25684: 460a4401 */ sub.s $f16,$f8,$f10 -/* 25688: e7a20020 */ swc1 $f2,0x20($sp) -/* 2568c: 46108102 */ mul.s $f4,$f16,$f16 -/* 25690: e7b0001c */ swc1 $f16,0x1c($sp) -/* 25694: 0c012974 */ jal sqrtf -/* 25698: 46049300 */ add.s $f12,$f18,$f4 -/* 2569c: 44803000 */ mtc1 $zero,$f6 -/* 256a0: c7a20020 */ lwc1 $f2,0x20($sp) -/* 256a4: c7b0001c */ lwc1 $f16,0x1c($sp) -/* 256a8: 46060032 */ c.eq.s $f0,$f6 -/* 256ac: 46000306 */ mov.s $f12,$f0 -/* 256b0: c7a80058 */ lwc1 $f8,0x58($sp) -/* 256b4: c7aa0058 */ lwc1 $f10,0x58($sp) -/* 256b8: 4500000d */ bc1f .L000256f0 -/* 256bc: c7b20048 */ lwc1 $f18,0x48($sp) -/* 256c0: c7aa0050 */ lwc1 $f10,0x50($sp) -/* 256c4: c7b2005c */ lwc1 $f18,0x5c($sp) -/* 256c8: c7a40054 */ lwc1 $f4,0x54($sp) -/* 256cc: 460a4001 */ sub.s $f0,$f8,$f10 -/* 256d0: 46049081 */ sub.s $f2,$f18,$f4 -/* 256d4: 46000182 */ mul.s $f6,$f0,$f0 -/* 256d8: 00000000 */ nop -/* 256dc: 46021202 */ mul.s $f8,$f2,$f2 -/* 256e0: 0c012974 */ jal sqrtf -/* 256e4: 46083300 */ add.s $f12,$f6,$f8 -/* 256e8: 1000000b */ b .L00025718 -/* 256ec: 8fbf0014 */ lw $ra,0x14($sp) -.L000256f0: -/* 256f0: 46125101 */ sub.s $f4,$f10,$f18 -/* 256f4: c7aa004c */ lwc1 $f10,0x4c($sp) -/* 256f8: c7a8005c */ lwc1 $f8,0x5c($sp) -/* 256fc: 46102182 */ mul.s $f6,$f4,$f16 -/* 25700: 460a4481 */ sub.s $f18,$f8,$f10 -/* 25704: 46001107 */ neg.s $f4,$f2 -/* 25708: 46122202 */ mul.s $f8,$f4,$f18 -/* 2570c: 46083280 */ add.s $f10,$f6,$f8 -/* 25710: 460c5003 */ div.s $f0,$f10,$f12 -/* 25714: 8fbf0014 */ lw $ra,0x14($sp) -.L00025718: -/* 25718: 27bd0048 */ addiu $sp,$sp,0x48 -/* 2571c: 03e00008 */ jr $ra -/* 25720: 00000000 */ nop -); +f32 func00025654(f32 x1, f32 z1, f32 x2, f32 z2, f32 x3, f32 z3) +{ + u32 stack[8]; + f32 result; + + result = sqrtf((x2 - x1) * (x2 - x1) + (z2 - z1) * (z2 - z1)); + + if (result == 0.0f) { + return sqrtf((x3 - x2) * (x3 - x2) + (z3 - z2) * (z3 - z2)); + } + + return ((x3 - x1) * (z2 - z1) + -(x2 - x1) * (z3 - z1)) / result; +} f32 func00025724(f32 x1, f32 z1, f32 x2, f32 z2) {