Updated to new save game code.
This commit is contained in:
parent
e9f31e5f95
commit
dfa4f38c8f
10 changed files with 180 additions and 4 deletions
|
|
@ -7344,3 +7344,55 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetSpriteRotation)
|
|||
mobj->SpriteRotation = angle;
|
||||
ACTION_RETURN_BOOL(true);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// A_SetMaskRotation(anglestart, angleend, pitchstart, pitchend, flags, ptr)
|
||||
//
|
||||
// Specifies how much to fake a sprite rotation.
|
||||
//==========================================================================
|
||||
|
||||
enum VRFFlags
|
||||
{
|
||||
VRF_NOANGLESTART = 1,
|
||||
VRF_NOANGLEEND = 1 << 1,
|
||||
VRF_NOPITCHSTART = 1 << 2,
|
||||
VRF_NOPITCHEND = 1 << 3,
|
||||
};
|
||||
|
||||
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetVisibleRotation)
|
||||
{
|
||||
PARAM_ACTION_PROLOGUE;
|
||||
PARAM_ANGLE_OPT(anglestart) { anglestart = 0.; }
|
||||
PARAM_ANGLE_OPT(angleend) { angleend = 0.; }
|
||||
PARAM_ANGLE_OPT(pitchstart) { pitchstart = 0.; }
|
||||
PARAM_ANGLE_OPT(pitchend) { pitchend = 0.; }
|
||||
PARAM_INT_OPT(flags) { flags = 0; }
|
||||
PARAM_INT_OPT(ptr) { ptr = AAPTR_DEFAULT; }
|
||||
|
||||
AActor *mobj = COPY_AAPTR(self, ptr);
|
||||
|
||||
if (mobj == nullptr)
|
||||
{
|
||||
ACTION_RETURN_BOOL(false);
|
||||
}
|
||||
|
||||
if (!(flags & VRF_NOANGLESTART))
|
||||
{
|
||||
mobj->VisibleStartAngle = anglestart;
|
||||
}
|
||||
if (!(flags & VRF_NOANGLEEND))
|
||||
{
|
||||
mobj->VisibleEndAngle = angleend;
|
||||
}
|
||||
if (!(flags & VRF_NOPITCHSTART))
|
||||
{
|
||||
mobj->VisibleStartPitch = pitchstart;
|
||||
}
|
||||
if (!(flags & VRF_NOPITCHEND))
|
||||
{
|
||||
mobj->VisibleEndPitch = pitchend;
|
||||
}
|
||||
|
||||
ACTION_RETURN_BOOL(true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -275,6 +275,9 @@ static FFlagDef ActorFlagDefs[]=
|
|||
DEFINE_FLAG(RF, WALLSPRITE, AActor, renderflags),
|
||||
DEFINE_FLAG(RF, DONTFLIP, AActor, renderflags),
|
||||
DEFINE_FLAG(RF, ROLLCENTER, AActor, renderflags),
|
||||
DEFINE_FLAG(RF, MASKROTATION, AActor, renderflags),
|
||||
DEFINE_FLAG(RF, ABSMASKANGLE, AActor, renderflags),
|
||||
DEFINE_FLAG(RF, ABSMASKPITCH, AActor, renderflags),
|
||||
|
||||
// Bounce flags
|
||||
DEFINE_FLAG2(BOUNCE_Walls, BOUNCEONWALLS, AActor, BounceFlags),
|
||||
|
|
@ -667,4 +670,8 @@ void InitThingdef()
|
|||
symt.AddSymbol(new PField(NAME_Threshold, TypeSInt32, VARF_Native|VARF_ReadOnly, myoffsetof(AActor, threshold)));
|
||||
symt.AddSymbol(new PField(NAME_DefThreshold, TypeSInt32, VARF_Native|VARF_ReadOnly, myoffsetof(AActor, DefThreshold)));
|
||||
symt.AddSymbol(new PField(NAME_Damage, TypeSInt32, VARF_Native|VARF_ReadOnly, myoffsetof(AActor, DamageVal)));
|
||||
symt.AddSymbol(new PField(NAME_VisibleStartAngle, TypeFloat64, VARF_Native, myoffsetof(AActor, VisibleStartAngle)));
|
||||
symt.AddSymbol(new PField(NAME_VisibleStartPitch, TypeFloat64, VARF_Native, myoffsetof(AActor, VisibleStartPitch)));
|
||||
symt.AddSymbol(new PField(NAME_VisibleEndAngle, TypeFloat64, VARF_Native, myoffsetof(AActor, VisibleEndAngle)));
|
||||
symt.AddSymbol(new PField(NAME_VisibleEndPitch, TypeFloat64, VARF_Native, myoffsetof(AActor, VisibleEndPitch)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1431,6 +1431,28 @@ DEFINE_PROPERTY(spriterotation, F, Actor)
|
|||
defaults->SpriteRotation = i;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_PROPERTY(visibleangles, Ff, Actor)
|
||||
{
|
||||
PROP_DOUBLE_PARM(visstart, 0);
|
||||
PROP_DOUBLE_PARM(visend, 0);
|
||||
defaults->VisibleStartAngle = visstart;
|
||||
defaults->VisibleEndAngle = visend;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_PROPERTY(visiblepitch, Ff, Actor)
|
||||
{
|
||||
PROP_DOUBLE_PARM(visstart, 0);
|
||||
PROP_DOUBLE_PARM(visend, 0);
|
||||
defaults->VisibleStartPitch = visstart;
|
||||
defaults->VisibleEndPitch = visend;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue