diff --git a/dlls/func_tank.cpp b/dlls/func_tank.cpp index 8961756a..3fd4678d 100644 --- a/dlls/func_tank.cpp +++ b/dlls/func_tank.cpp @@ -824,7 +824,7 @@ void CFuncTank::TrackTarget( void ) BOOL updateTime = FALSE, lineOfSight; Vector angles, direction, targetPosition, barrelEnd; Vector v_right, v_up; - CBaseEntity *pTarget; + CBaseEntity *pTarget = NULL; CBasePlayer* pController = NULL; // ALERT(at_console,"TrackTarget\n"); @@ -1111,7 +1111,7 @@ void CFuncTank::TrackTarget( void ) Vector forward; UTIL_MakeVectorsPrivate( pev->angles, forward, NULL, NULL ); - if( pev->spawnflags & SF_TANK_LINEOFSIGHT ) + if( pTarget && pev->spawnflags & SF_TANK_LINEOFSIGHT ) { float length = direction.Length(); UTIL_TraceLine( barrelEnd, barrelEnd + forward * length, dont_ignore_monsters, edict(), &tr ); diff --git a/dlls/locus.cpp b/dlls/locus.cpp index 2e90620b..7b8d8dc8 100644 --- a/dlls/locus.cpp +++ b/dlls/locus.cpp @@ -259,7 +259,7 @@ void CLocusBeam::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE us CBaseEntity *pEndEnt; Vector vecStartPos; Vector vecEndPos; - CBeam *pBeam; + CBeam *pBeam = NULL; switch(pev->impulse) { @@ -297,6 +297,10 @@ void CLocusBeam::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE us pBeam->PointsInit( vecStartPos, vecStartPos + vecEndPos ); break; } + + if( !pBeam ) + return; + pBeam->SetColor( pev->rendercolor.x, pev->rendercolor.y, pev->rendercolor.z ); pBeam->SetBrightness( pev->renderamt ); pBeam->SetNoise( m_iDistortion );