diff options
Diffstat (limited to 'internal_rewrite/util.cpp')
| -rw-r--r-- | internal_rewrite/util.cpp | 20 |
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;
}
}
|
