mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-15 08:41:59 +00:00
made some changes to turn the CF_INTERPVIEW flag when changing angles into an op-in feature instead of making it automatic.
This commit is contained in:
parent
1f723c10ae
commit
67ebbe3ed4
5 changed files with 21 additions and 18 deletions
|
@ -8251,7 +8251,7 @@ scriptwait:
|
|||
{
|
||||
if (activator != NULL)
|
||||
{
|
||||
activator->SetAngle(STACK(1) << 16);
|
||||
activator->SetAngle(STACK(1) << 16, false);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -8261,7 +8261,7 @@ scriptwait:
|
|||
|
||||
while ( (actor = iterator.Next ()) )
|
||||
{
|
||||
actor->SetAngle(STACK(1) << 16);
|
||||
actor->SetAngle(STACK(1) << 16, false);
|
||||
}
|
||||
}
|
||||
sp -= 2;
|
||||
|
@ -8272,7 +8272,7 @@ scriptwait:
|
|||
{
|
||||
if (activator != NULL)
|
||||
{
|
||||
activator->SetPitch(STACK(1) << 16);
|
||||
activator->SetPitch(STACK(1) << 16, false);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -8282,7 +8282,7 @@ scriptwait:
|
|||
|
||||
while ( (actor = iterator.Next ()) )
|
||||
{
|
||||
actor->SetPitch(STACK(1) << 16);
|
||||
actor->SetPitch(STACK(1) << 16, false);
|
||||
}
|
||||
}
|
||||
sp -= 2;
|
||||
|
|
|
@ -2962,24 +2962,24 @@ void AActor::SetShade (int r, int g, int b)
|
|||
fillcolor = MAKEARGB(ColorMatcher.Pick (r, g, b), r, g, b);
|
||||
}
|
||||
|
||||
void AActor::SetPitch(int p)
|
||||
void AActor::SetPitch(int p, bool interpolate)
|
||||
{
|
||||
if (p != pitch)
|
||||
{
|
||||
pitch = p;
|
||||
if (player != NULL)
|
||||
if (player != NULL && interpolate)
|
||||
{
|
||||
player->cheats |= CF_INTERPVIEW;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AActor::SetAngle(angle_t ang)
|
||||
void AActor::SetAngle(angle_t ang, bool interpolate)
|
||||
{
|
||||
if (ang != angle)
|
||||
{
|
||||
angle = ang;
|
||||
if (player != NULL)
|
||||
if (player != NULL && interpolate)
|
||||
{
|
||||
player->cheats |= CF_INTERPVIEW;
|
||||
}
|
||||
|
|
|
@ -3930,12 +3930,19 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_MonsterRefire)
|
|||
// Set actor's angle (in degrees).
|
||||
//
|
||||
//===========================================================================
|
||||
enum
|
||||
{
|
||||
SPF_FORCECLAMP = 1, // players always clamp
|
||||
SPF_INTERPOLATE = 2,
|
||||
};
|
||||
|
||||
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetAngle)
|
||||
{
|
||||
ACTION_PARAM_START(1);
|
||||
ACTION_PARAM_START(2);
|
||||
ACTION_PARAM_ANGLE(angle, 0);
|
||||
self->SetAngle(angle);
|
||||
ACTION_PARAM_INT(flags, 1)
|
||||
self->SetAngle(angle, !!(flags & SPF_INTERPOLATE));
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
|
@ -3946,11 +3953,6 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetAngle)
|
|||
//
|
||||
//===========================================================================
|
||||
|
||||
enum
|
||||
{
|
||||
SPF_FORCECLAMP = 1, // players always clamp
|
||||
};
|
||||
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetPitch)
|
||||
{
|
||||
ACTION_PARAM_START(2);
|
||||
|
@ -3973,7 +3975,7 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetPitch)
|
|||
}
|
||||
pitch = clamp<int>(pitch, min, max);
|
||||
}
|
||||
self->SetPitch(pitch);
|
||||
self->SetPitch(pitch, !!(flags & SPF_INTERPOLATE));
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
|
|
|
@ -289,7 +289,7 @@ ACTOR Actor native //: Thinker
|
|||
action native A_DropWeaponPieces(class<Actor> p1, class<Actor> p2, class<Actor> p3);
|
||||
action native A_PigPain ();
|
||||
action native A_MonsterRefire(int chance, state label);
|
||||
action native A_SetAngle(float angle = 0);
|
||||
action native A_SetAngle(float angle = 0, int flags = 0);
|
||||
action native A_SetPitch(float pitch, int flags = 0);
|
||||
action native A_ScaleVelocity(float scale);
|
||||
action native A_ChangeVelocity(float x = 0, float y = 0, float z = 0, int flags = 0);
|
||||
|
|
|
@ -304,8 +304,9 @@ Const Int WARPF_STOP = 0x80;
|
|||
Const Int WARPF_TOFLOOR = 0x100;
|
||||
Const Int WARPF_TESTONLY = 0x200;
|
||||
|
||||
// flags for A_SetPitch
|
||||
// flags for A_SetPitch/SetAngle
|
||||
const int SPF_FORCECLAMP = 1;
|
||||
const int SPF_INTERPOLATE = 2;
|
||||
|
||||
|
||||
// flags for A_CheckLOF
|
||||
|
|
Loading…
Reference in a new issue