2
0
mirror of https://github.com/FWGS/xash3d-fwgs synced 2024-12-29 04:05:24 +01:00

engine: client: more accurate R_BeamKill reimplementation

Reverse engineered from HL25 hw.so
This commit is contained in:
Alibek Omarov 2024-07-19 07:13:11 +03:00
parent 85dfaaa2c2
commit 64726f13e1

View File

@ -636,12 +636,24 @@ and all particle trails (if this is a beamfollow)
*/
void GAME_EXPORT R_BeamKill( int deadEntity )
{
cl_entity_t *pDeadEntity;
BEAM *beam;
pDeadEntity = R_BeamGetEntity( deadEntity );
if( !pDeadEntity ) return;
for( beam = cl_active_beams; beam; beam = beam->next )
{
if( FBitSet( beam->flags, FBEAM_STARTENTITY ) && beam->startEntity == deadEntity )
{
if( beam->type != TE_BEAMFOLLOW )
beam->die = cl.time;
CL_KillDeadBeams( pDeadEntity );
ClearBits( beam->flags, FBEAM_STARTENTITY );
}
if( FBitSet( beam->flags, FBEAM_ENDENTITY ) && beam->endEntity == deadEntity )
{
beam->die = cl.time;
ClearBits( beam->flags, FBEAM_ENDENTITY );
}
}
}
/*