mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-21 19:11:06 +00:00
- call ScaleSectorObject directly.
It's the only PreMoveAnimator so a bool can be used as easily as the full pointer.
This commit is contained in:
parent
20b39c6a0d
commit
5e64d6c7aa
5 changed files with 11 additions and 15 deletions
|
@ -1211,7 +1211,7 @@ extern TRACK Track[MAX_TRACKS];
|
||||||
|
|
||||||
struct SECTOR_OBJECT
|
struct SECTOR_OBJECT
|
||||||
{
|
{
|
||||||
soANIMATORp PreMoveAnimator;
|
bool PreMoveScale;
|
||||||
soANIMATORp PostMoveAnimator;
|
soANIMATORp PostMoveAnimator;
|
||||||
soANIMATORp Animator;
|
soANIMATORp Animator;
|
||||||
TObjPtr<DSWActor*> controller;
|
TObjPtr<DSWActor*> controller;
|
||||||
|
|
|
@ -37,8 +37,6 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
|
||||||
|
|
||||||
BEGIN_SW_NS
|
BEGIN_SW_NS
|
||||||
|
|
||||||
void ScaleSectorObject(SECTOR_OBJECT*);
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -57,7 +55,7 @@ short DoSectorObjectSetScale(short match)
|
||||||
if (sop->match_event == match)
|
if (sop->match_event == match)
|
||||||
{
|
{
|
||||||
sop->flags |= (SOBJ_DYNAMIC);
|
sop->flags |= (SOBJ_DYNAMIC);
|
||||||
sop->PreMoveAnimator = ScaleSectorObject;
|
sop->PreMoveScale = true;
|
||||||
|
|
||||||
switch (sop->scale_active_type)
|
switch (sop->scale_active_type)
|
||||||
{
|
{
|
||||||
|
@ -539,10 +537,8 @@ void SpikeFloor(SECTOR_OBJECT* sop)
|
||||||
|
|
||||||
static saveable_code saveable_morph_code[] =
|
static saveable_code saveable_morph_code[] =
|
||||||
{
|
{
|
||||||
SAVE_CODE(ScaleSectorObject),
|
|
||||||
SAVE_CODE(MorphTornado),
|
SAVE_CODE(MorphTornado),
|
||||||
SAVE_CODE(MorphFloor),
|
SAVE_CODE(MorphFloor),
|
||||||
SAVE_CODE(SpikeFloor),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
saveable_module saveable_morph =
|
saveable_module saveable_morph =
|
||||||
|
|
|
@ -691,9 +691,10 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, SECTOR_OBJECT& w,
|
||||||
("morph_z_speed", w.morph_z_speed, def->morph_z_speed)
|
("morph_z_speed", w.morph_z_speed, def->morph_z_speed)
|
||||||
("morph_off", w.morph_off, def->morph_off)
|
("morph_off", w.morph_off, def->morph_off)
|
||||||
("limit_ang_center", w.limit_ang_center, def->limit_ang_center)
|
("limit_ang_center", w.limit_ang_center, def->limit_ang_center)
|
||||||
("limit_ang_delta", w.limit_ang_delta, def->limit_ang_delta);
|
("limit_ang_delta", w.limit_ang_delta, def->limit_ang_delta)
|
||||||
|
("premovescale", w.PreMoveScale, def->PreMoveScale);
|
||||||
|
|
||||||
|
|
||||||
SerializeCodePtr(arc, "preanimator", (void**)&w.PreMoveAnimator);
|
|
||||||
SerializeCodePtr(arc, "postanimator", (void**)&w.PostMoveAnimator);
|
SerializeCodePtr(arc, "postanimator", (void**)&w.PostMoveAnimator);
|
||||||
SerializeCodePtr(arc, "animator", (void**)&w.Animator);
|
SerializeCodePtr(arc, "animator", (void**)&w.Animator);
|
||||||
|
|
||||||
|
|
|
@ -391,7 +391,7 @@ void SectorSetup(void)
|
||||||
memset(&SectorObject[ndx].sectp, 0, sizeof(SectorObject[0].sectp));
|
memset(&SectorObject[ndx].sectp, 0, sizeof(SectorObject[0].sectp));
|
||||||
memset(&SectorObject[ndx].so_actors, 0, sizeof(SectorObject[0].so_actors));
|
memset(&SectorObject[ndx].so_actors, 0, sizeof(SectorObject[0].so_actors));
|
||||||
SectorObject[ndx].match_event_actor = nullptr;
|
SectorObject[ndx].match_event_actor = nullptr;
|
||||||
SectorObject[ndx].PreMoveAnimator = nullptr;
|
SectorObject[ndx].PreMoveScale = false;
|
||||||
SectorObject[ndx].PostMoveAnimator = nullptr;
|
SectorObject[ndx].PostMoveAnimator = nullptr;
|
||||||
SectorObject[ndx].Animator = nullptr;
|
SectorObject[ndx].Animator = nullptr;
|
||||||
SectorObject[ndx].controller = nullptr;
|
SectorObject[ndx].controller = nullptr;
|
||||||
|
|
|
@ -932,7 +932,6 @@ void SetupSectorObject(sectortype* sectp, short tag)
|
||||||
void DoTornadoObject(SECTOR_OBJECT* sop);
|
void DoTornadoObject(SECTOR_OBJECT* sop);
|
||||||
void MorphTornado(SECTOR_OBJECT* sop);
|
void MorphTornado(SECTOR_OBJECT* sop);
|
||||||
void MorphFloor(SECTOR_OBJECT* sop);
|
void MorphFloor(SECTOR_OBJECT* sop);
|
||||||
void ScaleSectorObject(SECTOR_OBJECT* sop);
|
|
||||||
void DoAutoTurretObject(SECTOR_OBJECT* sop);
|
void DoAutoTurretObject(SECTOR_OBJECT* sop);
|
||||||
|
|
||||||
memset(sop->sectp, 0, sizeof(sop->sectp));
|
memset(sop->sectp, 0, sizeof(sop->sectp));
|
||||||
|
@ -987,7 +986,7 @@ void SetupSectorObject(sectortype* sectp, short tag)
|
||||||
sop->morph_dist = 0;
|
sop->morph_dist = 0;
|
||||||
sop->morph_off = { 0,0 };
|
sop->morph_off = { 0,0 };
|
||||||
|
|
||||||
sop->PreMoveAnimator = nullptr;
|
sop->PreMoveScale = false;
|
||||||
sop->PostMoveAnimator = nullptr;
|
sop->PostMoveAnimator = nullptr;
|
||||||
sop->Animator = nullptr;
|
sop->Animator = nullptr;
|
||||||
}
|
}
|
||||||
|
@ -1089,7 +1088,7 @@ void SetupSectorObject(sectortype* sectp, short tag)
|
||||||
sop->last_ang = sop->ang;
|
sop->last_ang = sop->ang;
|
||||||
// animators
|
// animators
|
||||||
sop->Animator = DoTornadoObject;
|
sop->Animator = DoTornadoObject;
|
||||||
sop->PreMoveAnimator = ScaleSectorObject;
|
sop->PreMoveScale = true;
|
||||||
sop->PostMoveAnimator = MorphTornado;
|
sop->PostMoveAnimator = MorphTornado;
|
||||||
// clip
|
// clip
|
||||||
sop->clipdist = 156.25;
|
sop->clipdist = 156.25;
|
||||||
|
@ -1117,7 +1116,7 @@ void SetupSectorObject(sectortype* sectp, short tag)
|
||||||
sop->flags |= (SOBJ_DYNAMIC);
|
sop->flags |= (SOBJ_DYNAMIC);
|
||||||
//sop->scale_type = SO_SCALE_CYCLE;
|
//sop->scale_type = SO_SCALE_CYCLE;
|
||||||
sop->scale_type = SO_SCALE_RANDOM_POINT;
|
sop->scale_type = SO_SCALE_RANDOM_POINT;
|
||||||
sop->PreMoveAnimator = ScaleSectorObject;
|
sop->PreMoveScale = true;
|
||||||
|
|
||||||
memset(sop->scale_point_dist,0,sizeof(sop->scale_point_dist));;
|
memset(sop->scale_point_dist,0,sizeof(sop->scale_point_dist));;
|
||||||
sop->scale_point_base_speed = 0.25 + RandomRangeF(0.5);
|
sop->scale_point_base_speed = 0.25 + RandomRangeF(0.5);
|
||||||
|
@ -1769,8 +1768,8 @@ void RefreshPoints(SECTOR_OBJECT* sop, const DVector2& move, bool dynamic)
|
||||||
DAngle delta_ang_from_orig;
|
DAngle delta_ang_from_orig;
|
||||||
|
|
||||||
// do scaling
|
// do scaling
|
||||||
if (dynamic && sop->PreMoveAnimator)
|
if (dynamic && sop->PreMoveScale)
|
||||||
(*sop->PreMoveAnimator)(sop);
|
ScaleSectorObject(sop);
|
||||||
|
|
||||||
sectortype** sectp;
|
sectortype** sectp;
|
||||||
int j;
|
int j;
|
||||||
|
|
Loading…
Reference in a new issue