GetActorViewHeight

From ZDoom Wiki
Jump to: navigation, search

fixed GetActorViewHeight (int tid)

Usage

This returns the view height of the actor, as a fixed point value. For a player, this corresponds to the Player.ViewHeight property, modified by crouching if needs be. For other actors, it corresponds to the CameraHeight if one is defined, or defaults to half their height otherwise.

Parameters

  • tid: TID of the actor.

Return value

The view height of the actor, as a fixed point value.

Examples

This script will train a camera with a tid of 1 on the player and adjust its pitch to stay with the player even if crouched. Unfortunately it appears that as of version 2.4.1 this function does not possess the capacity to accept a tid of 0 and retrieve the activator's data.

script 1 (void)
{
 int x, y, z, dist, angle, pitch;
 ChangeCamera(1, 0, FALSE);
 //To overcome GetActorViewHeight limitation...
 if (!ActivatorTID())
   Thing_ChangeTID(0, 1000 + PlayerNumber());
   
 while (TRUE)
 {
   x = GetActorX(0) - GetActorX(1);
   y = GetActorY(0) - GetActorY(1);
   z = GetActorZ(0) + GetActorViewHeight(ActivatorTID()) - GetActorZ(1);
   angle = VectorAngle(x, y);
   
   if ((angle + 0.125) % 0.5 > 0.25)
     dist = FixedDiv(y, sin(angle));
   else
     dist = FixedDiv(x, cos(angle));
     
   pitch = -VectorAngle(dist, z);
   SetActorAngle(1, angle);
   SetActorPitch(1, pitch);
   delay(1);
 }
}