Decompile cd00025410

This commit is contained in:
Ryan Dwyer
2022-04-15 13:17:06 +10:00
parent a5f171f925
commit 1545c9f171
2 changed files with 24 additions and 59 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ void cd00025254(struct coord *arg0, struct coord *arg1, struct coord *pos, struc
void cd00025314(struct coord *pos, struct coord *arg1);
bool cd00025364(struct coord *arg0, struct coord *arg1);
u32 cd000253c4(void);
u32 cd00025410(void);
s32 cd00025410(f32 arg0, f32 arg1, f32 arg2, f32 arg3);
u32 cd000254d8(void);
f32 cd00025654(f32 x1, f32 z1, f32 x2, f32 z2, f32 x3, f32 z3);
f32 cd00025724(f32 x1, f32 z1, f32 x2, f32 z2);
+23 -58
View File
@@ -323,64 +323,29 @@ glabel cd000253c4
/* 2540c: ac29f034 */ sw $t1,%lo(var8005f034)($at)
);
GLOBAL_ASM(
glabel cd00025410
/* 25410: afa60008 */ sw $a2,0x8($sp)
/* 25414: c7a40008 */ lwc1 $f4,0x8($sp)
/* 25418: afa7000c */ sw $a3,0xc($sp)
/* 2541c: c7a6000c */ lwc1 $f6,0xc($sp)
/* 25420: 46047082 */ mul.s $f2,$f14,$f4
/* 25424: 00000000 */ nop
/* 25428: 46066002 */ mul.s $f0,$f12,$f6
/* 2542c: 4600103c */ c.lt.s $f2,$f0
/* 25430: 00000000 */ nop
/* 25434: 45000003 */ bc1f .L00025444
/* 25438: 00000000 */ nop
/* 2543c: 03e00008 */ jr $ra
/* 25440: 24020001 */ addiu $v0,$zero,0x1
.L00025444:
/* 25444: 4602003c */ c.lt.s $f0,$f2
/* 25448: c7a80008 */ lwc1 $f8,0x8($sp)
/* 2544c: 45000003 */ bc1f .L0002545c
/* 25450: 00000000 */ nop
/* 25454: 03e00008 */ jr $ra
/* 25458: 2402ffff */ addiu $v0,$zero,-1
.L0002545c:
/* 2545c: 46086282 */ mul.s $f10,$f12,$f8
/* 25460: 44800000 */ mtc1 $zero,$f0
/* 25464: c7b0000c */ lwc1 $f16,0xc($sp)
/* 25468: 4600503c */ c.lt.s $f10,$f0
/* 2546c: 00000000 */ nop
/* 25470: 45010006 */ bc1t .L0002548c
/* 25474: 00000000 */ nop
/* 25478: 46107482 */ mul.s $f18,$f14,$f16
/* 2547c: 4600903c */ c.lt.s $f18,$f0
/* 25480: 00000000 */ nop
/* 25484: 45000003 */ bc1f .L00025494
/* 25488: 00000000 */ nop
.L0002548c:
/* 2548c: 03e00008 */ jr $ra
/* 25490: 2402ffff */ addiu $v0,$zero,-1
.L00025494:
/* 25494: 460c6102 */ mul.s $f4,$f12,$f12
/* 25498: c7aa0008 */ lwc1 $f10,0x8($sp)
/* 2549c: c7b2000c */ lwc1 $f18,0xc($sp)
/* 254a0: 460e7182 */ mul.s $f6,$f14,$f14
/* 254a4: 00001025 */ or $v0,$zero,$zero
/* 254a8: 460a5402 */ mul.s $f16,$f10,$f10
/* 254ac: 46062200 */ add.s $f8,$f4,$f6
/* 254b0: 46129102 */ mul.s $f4,$f18,$f18
/* 254b4: 46048180 */ add.s $f6,$f16,$f4
/* 254b8: 4606403c */ c.lt.s $f8,$f6
/* 254bc: 00000000 */ nop
/* 254c0: 45000003 */ bc1f .L000254d0
/* 254c4: 00000000 */ nop
/* 254c8: 03e00008 */ jr $ra
/* 254cc: 24020001 */ addiu $v0,$zero,0x1
.L000254d0:
/* 254d0: 03e00008 */ jr $ra
/* 254d4: 00000000 */ nop
);
s32 cd00025410(f32 arg0, f32 arg1, f32 arg2, f32 arg3)
{
f32 f0 = arg0 * arg3;
f32 f2 = arg1 * arg2;
if (f2 < f0) {
return 1;
}
if (f2 > f0) {
return -1;
}
if (arg0 * arg2 < 0.0f || arg1 * arg3 < 0.0f) {
return -1;
}
if (arg0 * arg0 + arg1 * arg1 < arg2 * arg2 + arg3 * arg3) {
return 1;
}
return 0;
}
GLOBAL_ASM(
glabel cd000254d8