Merge branch 'faceconsoleplayer' of https://github.com/edward-san/zdoom

This commit is contained in:
Christoph Oelckers 2014-11-08 00:48:07 +01:00
commit 3976de1404
2 changed files with 31 additions and 0 deletions

View file

@ -3781,6 +3781,36 @@ DEFINE_ACTION_FUNCTION(AActor, A_RaiseSiblings)
} }
} }
//===========================================================================
//
// [TP] A_FaceConsolePlayer
//
//===========================================================================
DEFINE_ACTION_FUNCTION_PARAMS (AActor, A_FaceConsolePlayer) {
ACTION_PARAM_START (1);
ACTION_PARAM_ANGLE (MaxTurnAngle, 0);
angle_t Angle;
angle_t DeltaAngle;
AActor *pConsolePlayer;
// Always watch the consoleplayer.
pConsolePlayer = players[consoleplayer].mo;
if (( playeringame[consoleplayer] == false ) || ( pConsolePlayer == NULL ))
return;
// Find the angle between the actor and the console player.
Angle = R_PointToAngle2( self->x, self->y, pConsolePlayer->x, pConsolePlayer->y );
DeltaAngle = Angle - self->angle;
if (( MaxTurnAngle == 0 ) || ( DeltaAngle < MaxTurnAngle ) || ( DeltaAngle > (unsigned)-MaxTurnAngle ))
self->angle = Angle;
else if ( DeltaAngle < ANG180 )
self->angle += MaxTurnAngle;
else
self->angle -= MaxTurnAngle;
}
//=========================================================================== //===========================================================================
// //
// A_MonsterRefire // A_MonsterRefire

View file

@ -186,6 +186,7 @@ ACTOR Actor native //: Thinker
action native A_ClearSoundTarget(); action native A_ClearSoundTarget();
action native A_FireAssaultGun(); action native A_FireAssaultGun();
action native A_CheckTerrain(); action native A_CheckTerrain();
action native A_FaceConsolePlayer(float MaxTurnAngle = 0); // [TP]
action native A_MissileAttack(); action native A_MissileAttack();
action native A_MeleeAttack(); action native A_MeleeAttack();