From 559a0f5669f537e21f3d39780e6e3d77591ff8c1 Mon Sep 17 00:00:00 2001 From: navewindre Date: Fri, 14 Sep 2018 21:46:28 +0200 Subject: a --- internal_rewrite/visual_player.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'internal_rewrite/visual_player.cpp') diff --git a/internal_rewrite/visual_player.cpp b/internal_rewrite/visual_player.cpp index ae3d52c..8c824e9 100644 --- a/internal_rewrite/visual_player.cpp +++ b/internal_rewrite/visual_player.cpp @@ -142,17 +142,21 @@ namespace features } vec2_t origin = util::screen_transform( stored_origin ); - - vec3_t origin_zoffset = stored_origin; - origin_zoffset.z += 10; + if( max_corner.y > 1 && max_corner.x > 1 && min_corner.y < screen_h && min_corner.x < screen_w ) { + vec3_t origin_zoffset = stored_origin; + origin_zoffset.z += 10; - vec2_t delta = util::screen_transform( origin_zoffset ) - origin; + vec2_t delta = util::screen_transform( origin_zoffset ) - origin; - min_corner.x += delta.y; - max_corner.x -= delta.y; + min_corner.x += delta.y; + max_corner.x -= delta.y; - min_corner.y += delta.y; - max_corner.y -= delta.y; + min_corner.y += delta.y; + max_corner.y -= delta.y; + } + else { + return { -100, -100, 0, 0 }; + } int x = ( int )min_corner.x; int w = ( int )( max_corner.x - min_corner.x ); @@ -160,7 +164,7 @@ namespace features int y = ( int )min_corner.y; int h = ( int )( max_corner.y - min_corner.y ); - return { x - ( int )origin.x, y - ( int )origin.y, w, h }; + return { x, y, w, h }; } void c_visuals::out_of_fov( c_base_player* ent, const vec3_t& pos, clr_t col ) { @@ -414,11 +418,6 @@ namespace features col.a( ) *= anim; } - auto w2s_cur_origin = util::screen_transform( m_stored_pos[ i ] ); - - box.x += w2s_cur_origin.x; - box.y += w2s_cur_origin.y; - if( box.x > screen_w || box.x + box.w < 0 || box.y > screen_h || box.y + box.h < 0 ) { if( g_settings.visuals.out_of_pov ) { -- cgit v1.2.3