void WatchEntity::init( Actor &self ) { SetSelf(&self); if ( _time > 0 ) _time = level.time + _time; _oldTurnSpeed = self.movementSubsystem->getTurnSpeed(); //Check if we have an entity to watch if ( !_ent ) { self.enemyManager->FindHighestHateEnemy(); _ent = self.enemyManager->GetCurrentEnemy(); if ( !_ent ) { if ( _forcePlayer ) _ent = (Entity*)GetPlayer( 0 ); if ( !_ent ) { transitionToState(WATCH_FAILED); return; } } } transitionToState(WATCH_HOLD); }
/* ================ hhCameraInterpolator::hhCameraInterpolator ================ */ hhCameraInterpolator::hhCameraInterpolator() : clipBounds( idBounds(idVec3(-1, -1, 10), idVec3(1, 1, 12)) ) { ClearFuncList(); RegisterFunc( NoInterpEvaluate, IT_None ); RegisterFunc( VariableMidPointSinusoidalEvaluate, IT_VariableMidPointSinusoidal ); RegisterFunc( LinearEvaluate, IT_Linear ); RegisterFunc( InverseEvaluate, IT_Inverse ); SetSelf( NULL ); Setup( 0.0f, IT_None ); Reset( vec3_origin, mat3_identity[2], 0.0f ); }