- u-> in skel.cpp

This commit is contained in:
Christoph Oelckers 2021-12-25 22:32:14 +01:00
parent 4aed4a6965
commit 1da38cbc8e

View file

@ -502,31 +502,25 @@ ACTOR_ACTION_SET SkelActionSet =
int SetupSkel(DSWActor* actor) int SetupSkel(DSWActor* actor)
{ {
USERp u;
ANIMATOR DoActorDecide; ANIMATOR DoActorDecide;
if (TEST(actor->spr.cstat, CSTAT_SPRITE_RESTORE)) if (!TEST(actor->spr.cstat, CSTAT_SPRITE_RESTORE))
{ {
u = actor->u(); SpawnUser(actor,SKEL_RUN_R0,s_SkelRun[0]);
ASSERT(u); actor->user.Health = HEALTH_SKEL_PRIEST;
}
else
{
u = SpawnUser(actor,SKEL_RUN_R0,s_SkelRun[0]);
u->Health = HEALTH_SKEL_PRIEST;
} }
ChangeState(actor, s_SkelRun[0]); ChangeState(actor, s_SkelRun[0]);
u->Attrib = &SkelAttrib; actor->user.Attrib = &SkelAttrib;
DoActorSetSpeed(actor, NORM_SPEED); DoActorSetSpeed(actor, NORM_SPEED);
u->StateEnd = s_SkelDie; actor->user.StateEnd = s_SkelDie;
u->Rot = sg_SkelRun; actor->user.Rot = sg_SkelRun;
EnemyDefaults(actor, &SkelActionSet, &SkelPersonality); EnemyDefaults(actor, &SkelActionSet, &SkelPersonality);
// 256 is default // 256 is default
//actor->spr.clipdist = 256 >> 2; //actor->spr.clipdist = 256 >> 2;
SET(u->Flags, SPR_XFLIP_TOGGLE); SET(actor->user.Flags, SPR_XFLIP_TOGGLE);
return 0; return 0;
} }
@ -540,7 +534,6 @@ int DoSkelInitTeleport(DSWActor* actor)
int DoSkelTeleport(DSWActor* actor) int DoSkelTeleport(DSWActor* actor)
{ {
USER* u = actor->u();
int x,y; int x,y;
x = actor->spr.pos.X; x = actor->spr.pos.X;
@ -578,8 +571,7 @@ int DoSkelTermTeleport(DSWActor* actor)
int NullSkel(DSWActor* actor) int NullSkel(DSWActor* actor)
{ {
USER* u = actor->u(); if (TEST(actor->user.Flags,SPR_SLIDING))
if (TEST(u->Flags,SPR_SLIDING))
DoActorSlide(actor); DoActorSlide(actor);
KeepActorOnFloor(actor); KeepActorOnFloor(actor);
@ -590,11 +582,9 @@ int NullSkel(DSWActor* actor)
int DoSkelPain(DSWActor* actor) int DoSkelPain(DSWActor* actor)
{ {
USER* u = actor->u();
NullSkel(actor); NullSkel(actor);
if ((u->WaitTics -= ACTORMOVETICS) <= 0) if ((actor->user.WaitTics -= ACTORMOVETICS) <= 0)
InitActorDecide(actor); InitActorDecide(actor);
return 0; return 0;
@ -602,15 +592,13 @@ int DoSkelPain(DSWActor* actor)
int DoSkelMove(DSWActor* actor) int DoSkelMove(DSWActor* actor)
{ {
USER* u = actor->u(); if (TEST(actor->user.Flags,SPR_SLIDING))
if (TEST(u->Flags,SPR_SLIDING))
DoActorSlide(actor); DoActorSlide(actor);
if (u->track >= 0) if (actor->user.track >= 0)
ActorFollowTrack(actor, ACTORMOVETICS); ActorFollowTrack(actor, ACTORMOVETICS);
else else
(*u->ActorActionFunc)(actor); (*actor->user.ActorActionFunc)(actor);
KeepActorOnFloor(actor); KeepActorOnFloor(actor);