Decompile chrGetAimLimitAngle

This commit is contained in:
Ryan Dwyer
2021-04-27 17:40:26 +10:00
parent 9365931cb6
commit 9a3867b927
2 changed files with 21 additions and 68 deletions
+20 -67
View File
@@ -14142,73 +14142,26 @@ void func0f03f988(struct chrdata *chr, s32 hand, s32 arg2)
}
}
GLOBAL_ASM(
glabel chrGetAimLimitAngle
.late_rodata
glabel var7f1a8fcc
.word 0x4a1c4000
glabel var7f1a8fd0
.word 0x3c999f74
glabel var7f1a8fd4
.word 0x491c4000
glabel var7f1a8fd8
.word 0x3d1a1533
glabel var7f1a8fdc
.word 0x481c4000
glabel var7f1a8fe0
.word 0x3d992a68
glabel var7f1a8fe4
.word 0x471c4000
glabel var7f1a8fe8
.word 0x3e192a68
glabel var7f1a8fec
.word 0x3e80a8be
.text
/* f03fa10: 3c017f1b */ lui $at,%hi(var7f1a8fcc)
/* f03fa14: c4248fcc */ lwc1 $f4,%lo(var7f1a8fcc)($at)
/* f03fa18: 3c017f1b */ lui $at,%hi(var7f1a8fd0)
/* f03fa1c: 460c203c */ c.lt.s $f4,$f12
/* f03fa20: 00000000 */ nop
/* f03fa24: 45000004 */ bc1f .L0f03fa38
/* f03fa28: 00000000 */ nop
/* f03fa2c: 3c017f1b */ lui $at,%hi(var7f1a8fd4)
/* f03fa30: 03e00008 */ jr $ra
/* f03fa34: c4208fd0 */ lwc1 $f0,%lo(var7f1a8fd0)($at)
.L0f03fa38:
/* f03fa38: c4268fd4 */ lwc1 $f6,%lo(var7f1a8fd4)($at)
/* f03fa3c: 3c017f1b */ lui $at,%hi(var7f1a8fd8)
/* f03fa40: 460c303c */ c.lt.s $f6,$f12
/* f03fa44: 00000000 */ nop
/* f03fa48: 45000004 */ bc1f .L0f03fa5c
/* f03fa4c: 00000000 */ nop
/* f03fa50: 3c017f1b */ lui $at,%hi(var7f1a8fdc)
/* f03fa54: 03e00008 */ jr $ra
/* f03fa58: c4208fd8 */ lwc1 $f0,%lo(var7f1a8fd8)($at)
.L0f03fa5c:
/* f03fa5c: c4288fdc */ lwc1 $f8,%lo(var7f1a8fdc)($at)
/* f03fa60: 3c017f1b */ lui $at,%hi(var7f1a8fe0)
/* f03fa64: 460c403c */ c.lt.s $f8,$f12
/* f03fa68: 00000000 */ nop
/* f03fa6c: 45000004 */ bc1f .L0f03fa80
/* f03fa70: 00000000 */ nop
/* f03fa74: 3c017f1b */ lui $at,%hi(var7f1a8fe4)
/* f03fa78: 03e00008 */ jr $ra
/* f03fa7c: c4208fe0 */ lwc1 $f0,%lo(var7f1a8fe0)($at)
.L0f03fa80:
/* f03fa80: c42a8fe4 */ lwc1 $f10,%lo(var7f1a8fe4)($at)
/* f03fa84: 3c017f1b */ lui $at,%hi(var7f1a8fe8)
/* f03fa88: 460c503c */ c.lt.s $f10,$f12
/* f03fa8c: 00000000 */ nop
/* f03fa90: 45000004 */ bc1f .L0f03faa4
/* f03fa94: 00000000 */ nop
/* f03fa98: 3c017f1b */ lui $at,%hi(var7f1a8fec)
/* f03fa9c: 03e00008 */ jr $ra
/* f03faa0: c4208fe8 */ lwc1 $f0,%lo(var7f1a8fe8)($at)
.L0f03faa4:
/* f03faa4: c4208fec */ lwc1 $f0,%lo(var7f1a8fec)($at)
/* f03faa8: 03e00008 */ jr $ra
/* f03faac: 00000000 */ nop
);
f32 chrGetAimLimitAngle(f32 sqdist)
{
if (sqdist > 1600 * 1600) {
return 0.018752790987492f;
}
if (sqdist > 800 * 800) {
return 0.03761787340045f;
}
if (sqdist > 400 * 400) {
return 0.07478791475296f;
}
if (sqdist > 200 * 200) {
return 0.14957582950592f;
}
return 0.2512874007225f;
}
/**
* Calculate whether a chr's shot hits their target on this tick.
+1 -1
View File
@@ -141,7 +141,7 @@ f32 func0f03e754(struct chrdata *chr);
void func0f03e788(struct chrdata *chr, s32 arg1, f32 arg2, f32 arg3, f32 arg4);
void func0f03e9f4(struct chrdata *chr, struct act_attackamount_2c *arg1, s32 arg2, s32 arg3, f32 arg4);
u32 func0f03f778(void);
f32 chrGetAimLimitAngle(f32 arg0);
f32 chrGetAimLimitAngle(f32 sqdist);
void chrCalculateHit(struct chrdata *chr, bool *angleokptr, bool *hit, struct shorthand *hand);
u32 func0f03fde4(void);
void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord *vector, struct modelnode **node, s32 *ibh, struct model **model, s32 *side);