summaryrefslogtreecommitdiff
path: root/internal_rewrite/util.cpp
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2018-09-01 17:54:45 +0200
committernavewindre <boneyaard@gmail.com>2018-09-01 17:54:45 +0200
commit89d0110da2e65405fcbdac0e24f4fcc5cdce4c1c (patch)
treefc33ee66cfc1b104c355391386abfccf1e5b94ea /internal_rewrite/util.cpp
parentaeef9e6d8241b4f7451a26f5af9645c1a6e5c4d9 (diff)
uh
Diffstat (limited to 'internal_rewrite/util.cpp')
-rw-r--r--internal_rewrite/util.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/internal_rewrite/util.cpp b/internal_rewrite/util.cpp
index ee815c5..9bc315f 100644
--- a/internal_rewrite/util.cpp
+++ b/internal_rewrite/util.cpp
@@ -24,8 +24,8 @@ bool util::is_low_fps( ) {
return g_csgo.m_globals->m_frametime > g_csgo.m_globals->m_interval_per_tick;
}
-int util::get_closest_player( ) {
- float cur_fov{ 360.f };
+int util::get_closest_player( bool dist ) {
+ float cur_fov = FLT_MAX;
int ret{ -1 };
vec3_t viewangles{ };
vec3_t local_pos{ };
@@ -47,13 +47,19 @@ int util::get_closest_player( ) {
continue;
}
- auto ang = math::vector_angles( local_pos, ent->get_hitbox_pos( 0 ) );
- ang.clamp( );
+ float distance = 0.f;
+ if( dist ) {
+ distance = g_ctx.m_local->m_vecOrigin( ).dist_to( ent->m_vecOrigin( ) );
+ }
+ else {
+ auto ang = math::vector_angles( local_pos, ent->get_hitbox_pos( 0 ) );
+ ang.clamp( );
+ distance = ( viewangles - ang ).clamp( ).length2d( );
+ }
- float fov = ( viewangles - ang ).clamp( ).length2d( );
- if( fov < cur_fov ) {
+ if( distance < cur_fov ) {
ret = i;
- cur_fov = fov;
+ cur_fov = distance;
}
}