From 36a0c1fb1785af097af1d35f6345b49f4aaefdde Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Mon, 22 Apr 2024 04:20:37 +0300 Subject: [PATCH] ref: if the entity is opaque, check the renderfx too, it might become translucent --- ref/gl/gl_rmain.c | 11 ++++++++++- ref/soft/r_main.c | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ref/gl/gl_rmain.c b/ref/gl/gl_rmain.c index 62850504..a0f584cb 100644 --- a/ref/gl/gl_rmain.c +++ b/ref/gl/gl_rmain.c @@ -64,7 +64,16 @@ Opaque entity can be brush or studio model but sprite qboolean R_OpaqueEntity( cl_entity_t *ent ) { if( R_GetEntityRenderMode( ent ) == kRenderNormal ) - return true; + { + switch( ent->curstate.renderfx ) + { + case kRenderFxNone: + case kRenderFxDeadPlayer: + case kRenderFxLightMultiplier: + case kRenderFxExplode: + return true; + } + } return false; } diff --git a/ref/soft/r_main.c b/ref/soft/r_main.c index 30f6281a..02f69861 100644 --- a/ref/soft/r_main.c +++ b/ref/soft/r_main.c @@ -150,7 +150,16 @@ qboolean R_OpaqueEntity( cl_entity_t *ent ) int rendermode = R_GetEntityRenderMode( ent ); if( rendermode == kRenderNormal ) - return true; + { + switch( ent->curstate.renderfx ) + { + case kRenderFxNone: + case kRenderFxDeadPlayer: + case kRenderFxLightMultiplier: + case kRenderFxExplode: + return true; + } + } if( sw_notransbrushes.value && ent->model && ent->model->type == mod_brush && rendermode == kRenderTransTexture ) return true;