diff options
| author | navewindre <boneyaard@gmail.com> | 2018-09-14 21:46:28 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2018-09-14 21:46:28 +0200 |
| commit | 559a0f5669f537e21f3d39780e6e3d77591ff8c1 (patch) | |
| tree | 8a94df7f4fd12333e9a9bdb0d7086e7a70ef9e97 /internal_rewrite/visual_player.cpp | |
| parent | b4748901d34d26bee517dea9655d2c0362c627f0 (diff) | |
a
Diffstat (limited to 'internal_rewrite/visual_player.cpp')
| -rw-r--r-- | internal_rewrite/visual_player.cpp | 27 |
1 files changed, 13 insertions, 14 deletions
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 ) {
|
