From 89d0110da2e65405fcbdac0e24f4fcc5cdce4c1c Mon Sep 17 00:00:00 2001 From: navewindre Date: Sat, 1 Sep 2018 17:54:45 +0200 Subject: uh --- internal_rewrite/util.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'internal_rewrite/util.cpp') 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; } } -- cgit v1.2.3