mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-07 02:49:49 -04:00
Decompile cd00025410
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user