- renamed NewStateGroup.

As refactoring aid.
This commit is contained in:
Christoph Oelckers 2021-10-30 23:05:28 +02:00
parent fdcff8002d
commit d98fe4af73
18 changed files with 177 additions and 179 deletions

View file

@ -467,7 +467,6 @@ int DoActorDebris(DSWActor* actor)
int DoFireFly(DSWActor* actor) int DoFireFly(DSWActor* actor)
{ {
USER* u = actor->u(); USER* u = actor->u();
int SpriteNum = u->SpriteNum;
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
int nx, ny; int nx, ny;
@ -519,7 +518,6 @@ void KeepActorOnFloor(DSWActor* actor)
{ {
USERp u = actor->u(); USERp u = actor->u();
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
int SpriteNum = actor->GetSpriteIndex();
SECTORp sectp; SECTORp sectp;
int depth; int depth;
@ -553,7 +551,7 @@ void KeepActorOnFloor(DSWActor* actor)
if (u->Rot == u->ActorActionSet->Run) if (u->Rot == u->ActorActionSet->Run)
{ {
NewStateGroup(SpriteNum, u->ActorActionSet->Swim); NewStateGroup_(u->SpriteNum, u->ActorActionSet->Swim);
} }
// are swimming // are swimming
@ -565,7 +563,7 @@ void KeepActorOnFloor(DSWActor* actor)
// only start swimming if you are running // only start swimming if you are running
if (u->Rot == u->ActorActionSet->Run || u->Rot == u->ActorActionSet->Swim) if (u->Rot == u->ActorActionSet->Run || u->Rot == u->ActorActionSet->Swim)
{ {
NewStateGroup(SpriteNum, u->ActorActionSet->Swim); NewStateGroup_(u->SpriteNum, u->ActorActionSet->Swim);
u->oz = sp->z = u->loz - Z(depth); u->oz = sp->z = u->loz - Z(depth);
sp->backupz(); sp->backupz();
SET(u->Flags, SPR_SWIMMING); SET(u->Flags, SPR_SWIMMING);
@ -669,9 +667,9 @@ int DoActorBeginJump(DSWActor* actor)
if (u->ActorActionSet) if (u->ActorActionSet)
{ {
if (TEST(u->Flags, SPR_DEAD)) if (TEST(u->Flags, SPR_DEAD))
NewStateGroup(SpriteNum, u->ActorActionSet->DeathJump); NewStateGroup_(SpriteNum, u->ActorActionSet->DeathJump);
else else
NewStateGroup(SpriteNum, u->ActorActionSet->Jump); NewStateGroup_(SpriteNum, u->ActorActionSet->Jump);
} }
u->StateFallOverride = nullptr; u->StateFallOverride = nullptr;
@ -741,14 +739,14 @@ int DoActorBeginFall(DSWActor* actor)
{ {
if (TEST(u->Flags, SPR_DEAD)) if (TEST(u->Flags, SPR_DEAD))
{ {
NewStateGroup(u, u->ActorActionSet->DeathFall); NewStateGroup_(u, u->ActorActionSet->DeathFall);
} }
else else
NewStateGroup(u, u->ActorActionSet->Fall); NewStateGroup_(u, u->ActorActionSet->Fall);
if (u->StateFallOverride) if (u->StateFallOverride)
{ {
NewStateGroup(u, u->StateFallOverride); NewStateGroup_(u, u->StateFallOverride);
} }
} }
@ -809,19 +807,19 @@ int DoActorStopFall(DSWActor* actor)
{ {
if (TEST(u->Flags, SPR_DEAD)) if (TEST(u->Flags, SPR_DEAD))
{ {
NewStateGroup(SpriteNum, u->ActorActionSet->Dead); NewStateGroup_(SpriteNum, u->ActorActionSet->Dead);
PlaySound(DIGI_ACTORBODYFALL1, sp, v3df_none); PlaySound(DIGI_ACTORBODYFALL1, sp, v3df_none);
} }
else else
{ {
PlaySound(DIGI_ACTORHITGROUND, sp, v3df_none); PlaySound(DIGI_ACTORHITGROUND, sp, v3df_none);
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
if ((u->track >= 0) && (u->jump_speed) > 800 && (u->ActorActionSet->Sit)) if ((u->track >= 0) && (u->jump_speed) > 800 && (u->ActorActionSet->Sit))
{ {
u->WaitTics = 80; u->WaitTics = 80;
NewStateGroup(SpriteNum, u->ActorActionSet->Sit); NewStateGroup_(SpriteNum, u->ActorActionSet->Sit);
} }
} }
} }

View file

@ -554,7 +554,7 @@ int DoActorOperate(DSWActor* actor)
{ {
u->WaitTics = 2 * 120; u->WaitTics = 2 * 120;
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
} }
} }
#endif #endif
@ -567,7 +567,7 @@ int DoActorOperate(DSWActor* actor)
{ {
u->WaitTics = 2 * 120; u->WaitTics = 2 * 120;
NewStateGroup(SpriteNum, u->ActorActionSet->Sit); NewStateGroup_(SpriteNum, u->ActorActionSet->Sit);
} }
} }
@ -577,7 +577,7 @@ int DoActorOperate(DSWActor* actor)
{ {
u->WaitTics = 2 * 120; u->WaitTics = 2 * 120;
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
} }
} }
return true; return true;
@ -843,7 +843,7 @@ int DoActorDecide(DSWActor* actor)
else else
{ {
// Actually staying put // Actually staying put
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
//CON_Message("DoActorDecide: Staying put"); //CON_Message("DoActorDecide: Staying put");
} }
@ -971,7 +971,7 @@ int InitActorMoveCloser(DSWActor* actor)
u->ActorActionFunc = DoActorMoveCloser; u->ActorActionFunc = DoActorMoveCloser;
if (u->Rot != u->ActorActionSet->Run) if (u->Rot != u->ActorActionSet->Run)
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
(*u->ActorActionFunc)(actor); (*u->ActorActionFunc)(actor);
@ -996,7 +996,7 @@ int DoActorCantMoveCloser(DSWActor* actor)
SET(u->Flags, SPR_FIND_PLAYER); SET(u->Flags, SPR_FIND_PLAYER);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
//MONO_PRINT("Trying to get to the track point\n"); //MONO_PRINT("Trying to get to the track point\n");
} }
else else
@ -1262,7 +1262,7 @@ int InitActorRunAway(DSWActor* actor)
//MONO_PRINT("Init Actor RunAway\n"); //MONO_PRINT("Init Actor RunAway\n");
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
u->track = FindTrackAwayFromPlayer(actor); u->track = FindTrackAwayFromPlayer(actor);
@ -1292,7 +1292,7 @@ int InitActorRunToward(DSWActor* actor)
//MONO_PRINT("InitActorRunToward\n"); //MONO_PRINT("InitActorRunToward\n");
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
InitActorReposition(actor); InitActorReposition(actor);
DoActorSetSpeed(actor, FAST_SPEED); DoActorSetSpeed(actor, FAST_SPEED);
@ -1357,7 +1357,7 @@ int InitActorAttack(DSWActor* actor)
u->ActorActionFunc = DoActorAttack; u->ActorActionFunc = DoActorAttack;
// move into standing frame // move into standing frame
//NewStateGroup(SpriteNum, u->ActorActionSet->Stand); //NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
// face player when attacking // face player when attacking
sp->ang = NORM_ANGLE(getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y)); sp->ang = NORM_ANGLE(getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y));
@ -1397,7 +1397,7 @@ int InitActorAttack(DSWActor* actor)
if (CHOOSE2(100)) if (CHOOSE2(100))
{ {
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Death2); NewStateGroup_(SpriteNum, u->ActorActionSet->Death2);
return 0; return 0;
} }
} }
@ -1428,7 +1428,7 @@ int DoActorAttack(DSWActor* actor)
{ {
rand_num = ChooseActionNumber(u->ActorActionSet->CloseAttackPercent); rand_num = ChooseActionNumber(u->ActorActionSet->CloseAttackPercent);
NewStateGroup(SpriteNum, u->ActorActionSet->CloseAttack[rand_num]); NewStateGroup_(SpriteNum, u->ActorActionSet->CloseAttack[rand_num]);
} }
else else
{ {
@ -1438,7 +1438,7 @@ int DoActorAttack(DSWActor* actor)
ASSERT(rand_num < u->WeaponNum); ASSERT(rand_num < u->WeaponNum);
NewStateGroup(SpriteNum, u->ActorActionSet->Attack[rand_num]); NewStateGroup_(SpriteNum, u->ActorActionSet->Attack[rand_num]);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
} }
@ -1460,7 +1460,7 @@ int InitActorEvade(DSWActor* actor)
// you stop and take up the fight again. // you stop and take up the fight again.
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
u->track = FindTrackAwayFromPlayer(actor); u->track = FindTrackAwayFromPlayer(actor);
@ -1485,7 +1485,7 @@ int InitActorWanderAround(DSWActor* actor)
//MONO_PRINT(ds); //MONO_PRINT(ds);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
DoActorPickClosePlayer(actor); DoActorPickClosePlayer(actor);
@ -1511,7 +1511,7 @@ int InitActorFindPlayer(DSWActor* actor)
//MONO_PRINT(ds); //MONO_PRINT(ds);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
u->track = FindTrackToPlayer(actor); u->track = FindTrackToPlayer(actor);
@ -1522,7 +1522,7 @@ int InitActorFindPlayer(DSWActor* actor)
SET(u->Flags, SPR_FIND_PLAYER); SET(u->Flags, SPR_FIND_PLAYER);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
} }
else else
{ {
@ -1549,7 +1549,7 @@ int InitActorDuck(DSWActor* actor)
} }
u->ActorActionFunc = DoActorDuck; u->ActorActionFunc = DoActorDuck;
NewStateGroup(SpriteNum, u->ActorActionSet->Duck); NewStateGroup_(SpriteNum, u->ActorActionSet->Duck);
dist = Distance(sp->x, sp->y, u->targetActor->s().x, u->targetActor->s().y); dist = Distance(sp->x, sp->y, u->targetActor->s().x, u->targetActor->s().y);
@ -1576,7 +1576,7 @@ int DoActorDuck(DSWActor* actor)
if ((u->WaitTics -= ACTORMOVETICS) < 0) if ((u->WaitTics -= ACTORMOVETICS) < 0)
{ {
NewStateGroup(SpriteNum, u->ActorActionSet->Rise); NewStateGroup_(SpriteNum, u->ActorActionSet->Rise);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
// InitActorDecide(SpriteNum); // InitActorDecide(SpriteNum);
RESET(u->Flags, SPR_TARGETED); RESET(u->Flags, SPR_TARGETED);
@ -1914,7 +1914,7 @@ int InitActorReposition(DSWActor* actor)
u->ActorActionFunc = DoActorReposition; u->ActorActionFunc = DoActorReposition;
if (!TEST(u->Flags, SPR_SWIMMING)) if (!TEST(u->Flags, SPR_SWIMMING))
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
(*u->ActorActionFunc)(actor); (*u->ActorActionFunc)(actor);
@ -1961,7 +1961,7 @@ int InitActorPause(DSWActor* actor)
// !JIM! This makes actors not animate // !JIM! This makes actors not animate
//if (!TEST(u->Flags, SPR_SWIMMING)) //if (!TEST(u->Flags, SPR_SWIMMING))
//NewStateGroup(SpriteNum, u->ActorActionSet->Stand); //NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
(*u->ActorActionFunc)(actor); (*u->ActorActionFunc)(actor);

View file

@ -1089,8 +1089,8 @@ DoBunnyQuickJump(DSWActor* actor)
u->Vis = sp->ang; // Remember angles for later u->Vis = sp->ang; // Remember angles for later
tu->Vis = tsp->ang; tu->Vis = tsp->ang;
NewStateGroup(SpriteNum, sg_BunnyScrew); NewStateGroup_(SpriteNum, sg_BunnyScrew);
NewStateGroup(hit_sprite, sg_BunnyScrew); NewStateGroup_(hit_sprite, sg_BunnyScrew);
u->WaitTics = tu->WaitTics = SEC(10); // Mate for this long u->WaitTics = tu->WaitTics = SEC(10); // Mate for this long
return true; return true;
} }
@ -1148,7 +1148,7 @@ int DoBunnyRipHeart(DSWActor* actor)
SPRITEp tsp = u->tgt_sp(); SPRITEp tsp = u->tgt_sp();
NewStateGroup(SpriteNum, sg_BunnyHeart); NewStateGroup_(SpriteNum, sg_BunnyHeart);
u->WaitTics = 6 * 120; u->WaitTics = 6 * 120;
// player face bunny // player face bunny
@ -1169,7 +1169,7 @@ int DoBunnyStandKill(DSWActor* actor)
PlaySound(DIGI_BUNNYATTACK, sp, v3df_none); PlaySound(DIGI_BUNNYATTACK, sp, v3df_none);
if ((u->WaitTics -= ACTORMOVETICS) <= 0) if ((u->WaitTics -= ACTORMOVETICS) <= 0)
NewStateGroup(SpriteNum, sg_BunnyRun); NewStateGroup_(SpriteNum, sg_BunnyRun);
return 0; return 0;
} }
@ -1234,7 +1234,7 @@ void BunnyHatch(short Weapon)
nu->ShellNum = 0; // Not Pregnant right now nu->ShellNum = 0; // Not Pregnant right now
NewStateGroup(New, nu->ActorActionSet->Jump); NewStateGroup_(New, nu->ActorActionSet->Jump);
nu->ActorActionFunc = DoActorMoveJump; nu->ActorActionFunc = DoActorMoveJump;
DoActorSetSpeed(actorNew, FAST_SPEED); DoActorSetSpeed(actorNew, FAST_SPEED);
PickJumpMaxSpeed(New, -600); PickJumpMaxSpeed(New, -600);
@ -1292,7 +1292,7 @@ int BunnyHatch2(short Weapon)
nu->ShellNum = 0; // Not Pregnant right now nu->ShellNum = 0; // Not Pregnant right now
NewStateGroup(New, nu->ActorActionSet->Jump); NewStateGroup_(New, nu->ActorActionSet->Jump);
nu->ActorActionFunc = DoActorMoveJump; nu->ActorActionFunc = DoActorMoveJump;
DoActorSetSpeed(actorNew, FAST_SPEED); DoActorSetSpeed(actorNew, FAST_SPEED);
if (TEST_BOOL3(wp)) if (TEST_BOOL3(wp))
@ -1385,7 +1385,7 @@ DoBunnyMove(DSWActor* actor)
case 3562: case 3562:
case 3563: case 3563:
case 3564: case 3564:
NewStateGroup(SpriteNum,sg_BunnyStand); NewStateGroup_(SpriteNum,sg_BunnyStand);
break; break;
default: default:
sp->ang = NORM_ANGLE(RandomRange(2048 << 6) >> 6); sp->ang = NORM_ANGLE(RandomRange(2048 << 6) >> 6);
@ -1453,10 +1453,10 @@ DoBunnyEat(DSWActor* actor)
case 3563: case 3563:
case 3564: case 3564:
if (RandomRange(1000) > 970) if (RandomRange(1000) > 970)
NewStateGroup(SpriteNum,sg_BunnyRun); NewStateGroup_(SpriteNum,sg_BunnyRun);
break; break;
default: default:
NewStateGroup(SpriteNum,sg_BunnyRun); NewStateGroup_(SpriteNum,sg_BunnyRun);
break; break;
} }
return 0; return 0;
@ -1494,7 +1494,7 @@ DoBunnyScrew(DSWActor* actor)
u->WaitTics -= ACTORMOVETICS; u->WaitTics -= ACTORMOVETICS;
if ((u->FlagOwner || u->spal == PALETTE_PLAYER0) && u->WaitTics > 0) // Keep Girl still if ((u->FlagOwner || u->spal == PALETTE_PLAYER0) && u->WaitTics > 0) // Keep Girl still
NewStateGroup(SpriteNum,sg_BunnyScrew); NewStateGroup_(SpriteNum,sg_BunnyScrew);
if (u->spal == PALETTE_PLAYER0 && u->WaitTics <= 0) // Female has baby if (u->spal == PALETTE_PLAYER0 && u->WaitTics <= 0) // Female has baby
{ {
@ -1506,7 +1506,7 @@ DoBunnyScrew(DSWActor* actor)
{ {
RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE); // Turn em' back on RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE); // Turn em' back on
u->FlagOwner = 0; u->FlagOwner = 0;
NewStateGroup(SpriteNum,sg_BunnyRun); NewStateGroup_(SpriteNum,sg_BunnyRun);
} }
return 0; return 0;

View file

@ -705,7 +705,7 @@ int InitCoolgCircle(DSWActor* actor)
u->ActorActionFunc = DoCoolgCircle; u->ActorActionFunc = DoCoolgCircle;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
// set it close // set it close
DoActorSetSpeed(actor, FAST_SPEED); DoActorSetSpeed(actor, FAST_SPEED);
@ -812,7 +812,7 @@ int DoCoolgDeath(DSWActor* actor)
{ {
RESET(u->Flags, SPR_FALLING|SPR_SLIDING); RESET(u->Flags, SPR_FALLING|SPR_SLIDING);
RESET(sp->cstat, CSTAT_SPRITE_YFLIP); // If upside down, reset it RESET(sp->cstat, CSTAT_SPRITE_YFLIP); // If upside down, reset it
NewStateGroup(SpriteNum, u->ActorActionSet->Dead); NewStateGroup_(SpriteNum, u->ActorActionSet->Dead);
return 0; return 0;
} }

View file

@ -505,7 +505,7 @@ void EnemyDefaults(short SpriteNum, ACTOR_ACTION_SETp action, PERSONALITYp perso
if (!action) if (!action)
return; return;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
u->ActorActionFunc = DoActorDecide; u->ActorActionFunc = DoActorDecide;
@ -658,7 +658,7 @@ int InitCoolieCharge(DSWActor* actor)
InitActorMoveCloser(actor); InitActorMoveCloser(actor);
NewStateGroup(SpriteNum, sg_CoolieCharge); NewStateGroup_(SpriteNum, sg_CoolieCharge);
return 0; return 0;
} }

View file

@ -565,7 +565,7 @@ DoEelDeath(DSWActor* actor)
SET(sp->cstat, CSTAT_SPRITE_XFLIP); SET(sp->cstat, CSTAT_SPRITE_XFLIP);
if (RandomRange(1000) > 500) if (RandomRange(1000) > 500)
SET(sp->cstat, CSTAT_SPRITE_YFLIP); SET(sp->cstat, CSTAT_SPRITE_YFLIP);
NewStateGroup(SpriteNum, u->ActorActionSet->Dead); NewStateGroup_(SpriteNum, u->ActorActionSet->Dead);
return 0; return 0;
} }
@ -580,7 +580,7 @@ int DoEelMove(DSWActor* actor)
ASSERT(u->Rot != nullptr); ASSERT(u->Rot != nullptr);
if (SpriteOverlap(SpriteNum, int16_t(u->tgt_sp() - sprite))) if (SpriteOverlap(SpriteNum, int16_t(u->tgt_sp() - sprite)))
NewStateGroup(SpriteNum, u->ActorActionSet->CloseAttack[0]); NewStateGroup_(SpriteNum, u->ActorActionSet->CloseAttack[0]);
if (TEST(u->Flags,SPR_SLIDING)) if (TEST(u->Flags,SPR_SLIDING))
DoActorSlide(actor); DoActorSlide(actor);

View file

@ -1859,8 +1859,8 @@ ANIMATOR NullAnimator;
int Distance(int x1, int y1, int x2, int y2); int Distance(int x1, int y1, int x2, int y2);
int NewStateGroup(short SpriteNum, STATEp SpriteGroup[]); int NewStateGroup_(short SpriteNum, STATEp SpriteGroup[]);
int NewStateGroup(USERp user, STATEp SpriteGroup[]); int NewStateGroup_(USERp user, STATEp SpriteGroup[]);
void SectorMidPoint(short sectnum, int *xmid, int *ymid, int *zmid); void SectorMidPoint(short sectnum, int *xmid, int *ymid, int *zmid);
USERp SpawnUser(short SpriteNum, short id, STATEp state); USERp SpawnUser(short SpriteNum, short id, STATEp state);
USERp SpawnUser(DSWActor* actor, short id, STATEp state); USERp SpawnUser(DSWActor* actor, short id, STATEp state);

View file

@ -431,7 +431,7 @@ int InitHornetCircle(DSWActor* actor)
u->ActorActionFunc = DoHornetCircle; u->ActorActionFunc = DoHornetCircle;
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
// set it close // set it close
DoActorSetSpeed(actor, FAST_SPEED); DoActorSetSpeed(actor, FAST_SPEED);
@ -546,7 +546,7 @@ DoHornetDeath(DSWActor* actor)
{ {
RESET(u->Flags, SPR_FALLING|SPR_SLIDING); RESET(u->Flags, SPR_FALLING|SPR_SLIDING);
RESET(sp->cstat, CSTAT_SPRITE_YFLIP); // If upside down, reset it RESET(sp->cstat, CSTAT_SPRITE_YFLIP); // If upside down, reset it
NewStateGroup(SpriteNum, u->ActorActionSet->Dead); NewStateGroup_(SpriteNum, u->ActorActionSet->Dead);
DeleteNoSoundOwner(SpriteNum); DeleteNoSoundOwner(SpriteNum);
return 0; return 0;
} }

View file

@ -1395,7 +1395,7 @@ PlayerInitChemBomb(PLAYERp pp)
} }
// wu->RotNum = 5; // wu->RotNum = 5;
// NewStateGroup(w, &sg_ChemBomb); // NewStateGroup_(w, &sg_ChemBomb);
SET(wu->Flags, SPR_XFLIP_TOGGLE); SET(wu->Flags, SPR_XFLIP_TOGGLE);
SetOwner(pp->PlayerSprite, w); SetOwner(pp->PlayerSprite, w);
@ -1526,7 +1526,7 @@ InitChemBomb(short SpriteNum)
wu = User[w].Data(); wu = User[w].Data();
// wu->RotNum = 5; // wu->RotNum = 5;
// NewStateGroup(w, &sg_ChemBomb); // NewStateGroup_(w, &sg_ChemBomb);
SET(wu->Flags, SPR_XFLIP_TOGGLE); SET(wu->Flags, SPR_XFLIP_TOGGLE);
// SetOwner(SpriteNum, w); // SetOwner(SpriteNum, w);

View file

@ -2018,9 +2018,9 @@ DoNinjaMove(DSWActor* actor)
if (TEST(u->Flags2, SPR2_DYING)) if (TEST(u->Flags2, SPR2_DYING))
{ {
if (sw_ninjahack) if (sw_ninjahack)
NewStateGroup(SpriteNum, sg_NinjaHariKari); NewStateGroup_(SpriteNum, sg_NinjaHariKari);
else else
NewStateGroup(SpriteNum, sg_NinjaGrabThroat); NewStateGroup_(SpriteNum, sg_NinjaGrabThroat);
return 0; return 0;
} }
@ -2120,9 +2120,9 @@ int DoNinjaPain(DSWActor* actor)
if (TEST(u->Flags2, SPR2_DYING)) if (TEST(u->Flags2, SPR2_DYING))
{ {
if (sw_ninjahack) if (sw_ninjahack)
NewStateGroup(SpriteNum, sg_NinjaHariKari); NewStateGroup_(SpriteNum, sg_NinjaHariKari);
else else
NewStateGroup(SpriteNum, sg_NinjaGrabThroat); NewStateGroup_(SpriteNum, sg_NinjaGrabThroat);
return 0; return 0;
} }
@ -2437,7 +2437,7 @@ InitPlayerSprite(PLAYERp pp)
sp->pal = PALETTE_PLAYER0 + pp->pnum; sp->pal = PALETTE_PLAYER0 + pp->pnum;
u->spal = sp->pal; u->spal = sp->pal;
NewStateGroup(sp_num, u->ActorActionSet->Run); NewStateGroup_(sp_num, u->ActorActionSet->Run);
pp->PlayerUnderSprite = -1; pp->PlayerUnderSprite = -1;
pp->UnderSpriteP = nullptr; pp->UnderSpriteP = nullptr;
@ -2489,7 +2489,7 @@ SpawnPlayerUnderSprite(PLAYERp pp)
u->Rot = sg_NinjaRun; u->Rot = sg_NinjaRun;
u->RotNum = pu->RotNum; u->RotNum = pu->RotNum;
NewStateGroup(sp_num, pu->Rot); NewStateGroup_(sp_num, pu->Rot);
u->Radius = pu->Radius; u->Radius = pu->Radius;
u->PlayerP = pp; u->PlayerP = pp;

View file

@ -1067,12 +1067,12 @@ DoPlayerSpriteThrow(PLAYERp pp)
if (!TEST(pp->Flags, PF_DIVING|PF_FLYING|PF_CRAWLING)) if (!TEST(pp->Flags, PF_DIVING|PF_FLYING|PF_CRAWLING))
{ {
if (pp->CurWpn == pp->Wpn[WPN_SWORD] && User[pp->PlayerSprite]->Rot != sg_PlayerNinjaSword) if (pp->CurWpn == pp->Wpn[WPN_SWORD] && User[pp->PlayerSprite]->Rot != sg_PlayerNinjaSword)
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaSword); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaSword);
else else
//if (pp->CurWpn == pp->Wpn[WPN_FIST] && User[pp->PlayerSprite]->Rot != sg_PlayerNinjaPunch) //if (pp->CurWpn == pp->Wpn[WPN_FIST] && User[pp->PlayerSprite]->Rot != sg_PlayerNinjaPunch)
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaPunch); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaPunch);
//else //else
// NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaThrow); // NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaThrow);
} }
} }
@ -1090,13 +1090,13 @@ DoPlayerSpriteReset(DSWActor* actor)
// need to figure out what frames to put sprite into // need to figure out what frames to put sprite into
if (pp->DoPlayerAction == DoPlayerCrawl) if (pp->DoPlayerAction == DoPlayerCrawl)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Crawl); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Crawl);
else else
{ {
if (TEST(pp->Flags, PF_PLAYER_MOVED)) if (TEST(pp->Flags, PF_PLAYER_MOVED))
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
else else
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
return 0; return 0;
@ -1421,7 +1421,7 @@ DoPlayerWarpTeleporter(PLAYERp pp)
//DoPlayerStand(pp); //DoPlayerStand(pp);
pp->DoPlayerAction = DoPlayerTeleportPause; pp->DoPlayerAction = DoPlayerTeleportPause;
NewStateGroup(pp->PlayerSprite, User[pp->PlayerSprite]->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, User[pp->PlayerSprite]->ActorActionSet->Stand);
UpdatePlayerSprite(pp); UpdatePlayerSprite(pp);
DoSpawnTeleporterEffect(sp); DoSpawnTeleporterEffect(sp);
@ -3014,7 +3014,7 @@ DoPlayerBeginJump(PLAYERp pp)
///DamageData[u->WeaponNum].Init(pp); ///DamageData[u->WeaponNum].Init(pp);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Jump); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Jump);
} }
void void
@ -3036,7 +3036,7 @@ DoPlayerBeginForceJump(PLAYERp pp)
///DamageData[u->WeaponNum].Init(pp); ///DamageData[u->WeaponNum].Init(pp);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Jump); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Jump);
} }
void void
@ -3183,7 +3183,7 @@ DoPlayerBeginFall(PLAYERp pp)
// Only change to falling frame if you were in the jump frame // Only change to falling frame if you were in the jump frame
// Otherwise an animation may be messed up such as Running Jump Kick // Otherwise an animation may be messed up such as Running Jump Kick
if (u->Rot == u->ActorActionSet->Jump) if (u->Rot == u->ActorActionSet->Jump)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Fall); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Fall);
} }
void StackedWaterSplash(PLAYERp pp) void StackedWaterSplash(PLAYERp pp)
@ -3377,8 +3377,8 @@ DoPlayerBeginClimb(PLAYERp pp)
//DamageData[u->WeaponNum].Init(pp); //DamageData[u->WeaponNum].Init(pp);
//NewStateGroup(pp->PlayerSprite, User[pp->PlayerSprite]->ActorActionSet->Climb); //NewStateGroup_(pp->PlayerSprite, User[pp->PlayerSprite]->ActorActionSet->Climb);
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaClimb); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaClimb);
} }
@ -3499,7 +3499,7 @@ DoPlayerClimb(PLAYERp pp)
{ {
// put player at the hiz // put player at the hiz
pp->posz = pp->hiz; pp->posz = pp->hiz;
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaClimb); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaClimb);
} }
// if player gets to close the ceiling while climbing // if player gets to close the ceiling while climbing
@ -3507,7 +3507,7 @@ DoPlayerClimb(PLAYERp pp)
{ {
// put player at the ceiling // put player at the ceiling
pp->posz = sector[pp->LadderSector].ceilingz + Z(4); pp->posz = sector[pp->LadderSector].ceilingz + Z(4);
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaClimb); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaClimb);
} }
// if floor is ABOVE you && your head goes above it, do a jump up to // if floor is ABOVE you && your head goes above it, do a jump up to
@ -3552,7 +3552,7 @@ DoPlayerClimb(PLAYERp pp)
} }
else else
{ {
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaClimb); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaClimb);
} }
// setsprite to players location // setsprite to players location
@ -3676,7 +3676,7 @@ DoPlayerBeginCrawl(PLAYERp pp)
//pp->posz = pp->loz - PLAYER_CRAWL_HEIGHT; //pp->posz = pp->loz - PLAYER_CRAWL_HEIGHT;
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Crawl); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Crawl);
} }
bool PlayerFallTest(PLAYERp pp, int player_height) bool PlayerFallTest(PLAYERp pp, int player_height)
@ -3752,7 +3752,7 @@ DoPlayerCrawl(PLAYERp pp)
if (!TEST(pp->Flags, PF_PLAYER_MOVED)) if (!TEST(pp->Flags, PF_PLAYER_MOVED))
{ {
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Crawl); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Crawl);
} }
// If the floor is far below you, fall hard instead of adjusting height // If the floor is far below you, fall hard instead of adjusting height
@ -3797,7 +3797,7 @@ DoPlayerBeginFly(PLAYERp pp)
///DamageData[u->WeaponNum].Init(pp); ///DamageData[u->WeaponNum].Init(pp);
NewStateGroup(pp->PlayerSprite, sg_PlayerNinjaFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerNinjaFly);
} }
int GetSinNdx(int range, int bob_amt) int GetSinNdx(int range, int bob_amt)
@ -4506,7 +4506,7 @@ DoPlayerBeginDive(PLAYERp pp)
DoPlayerMove(pp); // needs to be called to reset the pp->loz/hiz variable DoPlayerMove(pp); // needs to be called to reset the pp->loz/hiz variable
///DamageData[u->WeaponNum].Init(pp); ///DamageData[u->WeaponNum].Init(pp);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Dive); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Dive);
DoPlayerDive(pp); DoPlayerDive(pp);
} }
@ -4554,7 +4554,7 @@ void DoPlayerBeginDiveNoWarp(PLAYERp pp)
pp->DiveDamageTics = 0; pp->DiveDamageTics = 0;
DoPlayerMove(pp); // needs to be called to reset the pp->loz/hiz variable DoPlayerMove(pp); // needs to be called to reset the pp->loz/hiz variable
///DamageData[u->WeaponNum].Init(pp); ///DamageData[u->WeaponNum].Init(pp);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Dive); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Dive);
DoPlayerDive(pp); DoPlayerDive(pp);
} }
@ -4963,7 +4963,7 @@ DoPlayerBeginWade(PLAYERp pp)
ASSERT(u->ActorActionSet->Run); ASSERT(u->ActorActionSet->Run);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
} }
@ -5056,12 +5056,12 @@ DoPlayerWade(PLAYERp pp)
if (TEST(pp->Flags, PF_PLAYER_MOVED)) if (TEST(pp->Flags, PF_PLAYER_MOVED))
{ {
if (u->Rot != u->ActorActionSet->Run) if (u->Rot != u->ActorActionSet->Run)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
} }
else else
{ {
if (u->Rot != u->ActorActionSet->Stand) if (u->Rot != u->ActorActionSet->Stand)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
// If the floor is far below you, fall hard instead of adjusting height // If the floor is far below you, fall hard instead of adjusting height
@ -5125,7 +5125,7 @@ DoPlayerBeginOperateBoat(PLAYERp pp)
ASSERT(u->ActorActionSet->Run); ASSERT(u->ActorActionSet->Run);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
} }
#endif #endif
@ -5146,7 +5146,7 @@ DoPlayerBeginOperateVehicle(PLAYERp pp)
ASSERT(u->ActorActionSet->Stand); ASSERT(u->ActorActionSet->Stand);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
void void
@ -5166,7 +5166,7 @@ DoPlayerBeginOperateTurret(PLAYERp pp)
ASSERT(u->ActorActionSet->Stand); ASSERT(u->ActorActionSet->Stand);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
void FindMainSector(SECTOR_OBJECTp sop) void FindMainSector(SECTOR_OBJECTp sop)
@ -5944,7 +5944,7 @@ DoPlayerBeginDie(PLAYERp pp)
pp->sop = nullptr; pp->sop = nullptr;
RESET(pp->Flags, PF_TWO_UZI); RESET(pp->Flags, PF_TWO_UZI);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
pWeaponForceRest(pp); pWeaponForceRest(pp);
switch (pp->DeathType) switch (pp->DeathType)
@ -5954,7 +5954,7 @@ DoPlayerBeginDie(PLAYERp pp)
SET(pp->Flags, PF_JUMPING); SET(pp->Flags, PF_JUMPING);
u->ID = NINJA_DEAD; u->ID = NINJA_DEAD;
pp->jump_speed = -200; pp->jump_speed = -200;
NewStateGroup(pp->PlayerSprite, sg_PlayerDeath); NewStateGroup_(pp->PlayerSprite, sg_PlayerDeath);
DoFindGround(pp->PlayerSprite); DoFindGround(pp->PlayerSprite);
DoBeginJump(pp->Actor()); DoBeginJump(pp->Actor());
u->jump_speed = -300; u->jump_speed = -300;
@ -5968,7 +5968,7 @@ DoPlayerBeginDie(PLAYERp pp)
SET(pp->Flags, PF_JUMPING); SET(pp->Flags, PF_JUMPING);
u->ID = NINJA_DEAD; u->ID = NINJA_DEAD;
pp->jump_speed = -300; pp->jump_speed = -300;
NewStateGroup(pp->PlayerSprite, sg_PlayerDeath); NewStateGroup_(pp->PlayerSprite, sg_PlayerDeath);
//pp->ceiling_dist = Z(0); //pp->ceiling_dist = Z(0);
//pp->floor_dist = Z(0); //pp->floor_dist = Z(0);
@ -5988,7 +5988,7 @@ DoPlayerBeginDie(PLAYERp pp)
u->slide_vel = 0; u->slide_vel = 0;
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER); SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER);
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadFly);
u->ID = NINJA_Head_R0; u->ID = NINJA_Head_R0;
pp->SpriteP->xrepeat = 48; pp->SpriteP->xrepeat = 48;
pp->SpriteP->yrepeat = 48; pp->SpriteP->yrepeat = 48;
@ -6003,7 +6003,7 @@ DoPlayerBeginDie(PLAYERp pp)
pp->jump_speed = -650; pp->jump_speed = -650;
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER); SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER);
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadFly);
u->ID = NINJA_Head_R0; u->ID = NINJA_Head_R0;
pp->SpriteP->xrepeat = 48; pp->SpriteP->xrepeat = 48;
pp->SpriteP->yrepeat = 48; pp->SpriteP->yrepeat = 48;
@ -6021,7 +6021,7 @@ DoPlayerBeginDie(PLAYERp pp)
u->slide_vel = 800; u->slide_vel = 800;
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER); SET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER);
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadFly);
u->ID = NINJA_Head_R0; u->ID = NINJA_Head_R0;
pp->SpriteP->xrepeat = 48; pp->SpriteP->xrepeat = 48;
pp->SpriteP->yrepeat = 48; pp->SpriteP->yrepeat = 48;
@ -6099,7 +6099,7 @@ void DoPlayerDeathHurl(PLAYERp pp)
SET(pp->Flags, PF_HEAD_CONTROL); SET(pp->Flags, PF_HEAD_CONTROL);
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadHurl); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadHurl);
if (MoveSkip4 == 0) if (MoveSkip4 == 0)
{ {
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
@ -6112,7 +6112,7 @@ void DoPlayerDeathHurl(PLAYERp pp)
} }
if (!TEST(pp->Flags, PF_JUMPING|PF_FALLING)) if (!TEST(pp->Flags, PF_JUMPING|PF_FALLING))
NewStateGroup(pp->PlayerSprite, sg_PlayerHead); NewStateGroup_(pp->PlayerSprite, sg_PlayerHead);
} }
@ -6172,7 +6172,7 @@ void DoPlayerDeathCheckKeys(PLAYERp pp)
PlayerSpawnPosition(pp); PlayerSpawnPosition(pp);
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
pp->SpriteP->picnum = u->State->Pic; pp->SpriteP->picnum = u->State->Pic;
pp->SpriteP->xrepeat = pp->SpriteP->yrepeat = PLAYER_NINJA_XREPEAT; pp->SpriteP->xrepeat = pp->SpriteP->yrepeat = PLAYER_NINJA_XREPEAT;
RESET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER); RESET(pp->SpriteP->cstat, CSTAT_SPRITE_YCENTER);
@ -6280,7 +6280,7 @@ SPRITEp DoPlayerDeathCheckKick(PLAYERp pp)
u->slide_vel = hp->xvel<<1; u->slide_vel = hp->xvel<<1;
RESET(u->Flags,SPR_BOUNCE); RESET(u->Flags,SPR_BOUNCE);
pp->jump_speed = -500; pp->jump_speed = -500;
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadFly);
SET(pp->Flags, PF_JUMPING); SET(pp->Flags, PF_JUMPING);
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
return hp; return hp;
@ -6297,7 +6297,7 @@ SPRITEp DoPlayerDeathCheckKick(PLAYERp pp)
u->slide_vel = 1000; u->slide_vel = 1000;
RESET(u->Flags,SPR_BOUNCE); RESET(u->Flags,SPR_BOUNCE);
pp->jump_speed = -100; pp->jump_speed = -100;
NewStateGroup(pp->PlayerSprite, sg_PlayerHeadFly); NewStateGroup_(pp->PlayerSprite, sg_PlayerHeadFly);
SET(pp->Flags, PF_JUMPING); SET(pp->Flags, PF_JUMPING);
SpawnShrap(pp->Actor(), nullptr); SpawnShrap(pp->Actor(), nullptr);
return nullptr; return nullptr;
@ -6470,7 +6470,7 @@ void DoPlayerDeathBounce(PLAYERp pp)
if (pp->lo_sectp && TEST(pp->lo_sectp->extra, SECTFX_SINK)) if (pp->lo_sectp && TEST(pp->lo_sectp->extra, SECTFX_SINK))
{ {
RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
NewStateGroup(pp->PlayerSprite, sg_PlayerHead); NewStateGroup_(pp->PlayerSprite, sg_PlayerHead);
u->slide_vel = 0; u->slide_vel = 0;
SET(u->Flags, SPR_BOUNCE); SET(u->Flags, SPR_BOUNCE);
@ -6522,7 +6522,7 @@ void DoPlayerDeathCrumble(PLAYERp pp)
} }
RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
NewStateGroup(pp->PlayerSprite, sg_PlayerHead); NewStateGroup_(pp->PlayerSprite, sg_PlayerHead);
} }
else else
{ {
@ -6575,7 +6575,7 @@ void DoPlayerDeathExplode(PLAYERp pp)
} }
RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
NewStateGroup(pp->PlayerSprite, sg_PlayerHead); NewStateGroup_(pp->PlayerSprite, sg_PlayerHead);
} }
else else
{ {
@ -6628,9 +6628,9 @@ DoPlayerBeginRun(PLAYERp pp)
ASSERT(u->ActorActionSet->Run); ASSERT(u->ActorActionSet->Run);
if (TEST(pp->Flags, PF_PLAYER_MOVED)) if (TEST(pp->Flags, PF_PLAYER_MOVED))
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
else else
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
void void
@ -6747,12 +6747,12 @@ DoPlayerRun(PLAYERp pp)
if (TEST(pp->Flags, PF_PLAYER_MOVED)) if (TEST(pp->Flags, PF_PLAYER_MOVED))
{ {
if (u->Rot != u->ActorActionSet->Run) if (u->Rot != u->ActorActionSet->Run)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Run); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Run);
} }
else else
{ {
if (u->Rot != u->ActorActionSet->Stand) if (u->Rot != u->ActorActionSet->Stand)
NewStateGroup(pp->PlayerSprite, u->ActorActionSet->Stand); NewStateGroup_(pp->PlayerSprite, u->ActorActionSet->Stand);
} }
} }
@ -6818,7 +6818,7 @@ PlayerStateControl(int16_t SpriteNum)
if (!u->State->Pic) if (!u->State->Pic)
{ {
NewStateGroup(SpriteNum, (STATEp *) u->State->NextState); NewStateGroup_(SpriteNum, (STATEp *) u->State->NextState);
} }
} }

View file

@ -981,7 +981,7 @@ InitRipperHang(DSWActor* actor)
return 0; return 0;
} }
NewStateGroup(SpriteNum, sg_RipperHangJump); NewStateGroup_(SpriteNum, sg_RipperHangJump);
u->StateFallOverride = sg_RipperHangFall; u->StateFallOverride = sg_RipperHangFall;
DoActorSetSpeed(actor, FAST_SPEED); DoActorSetSpeed(actor, FAST_SPEED);
@ -1008,7 +1008,7 @@ DoRipperHang(DSWActor* actor)
if ((u->WaitTics -= ACTORMOVETICS) > 0) if ((u->WaitTics -= ACTORMOVETICS) > 0)
return 0; return 0;
NewStateGroup(SpriteNum, sg_RipperJumpAttack); NewStateGroup_(SpriteNum, sg_RipperJumpAttack);
// move to the 2nd frame - past the pause frame // move to the 2nd frame - past the pause frame
u->Tics += u->State->Tics; u->Tics += u->State->Tics;
return 0; return 0;
@ -1038,7 +1038,7 @@ DoRipperMoveHang(DSWActor* actor)
hit_wall = NORM_WALL(u->ret); hit_wall = NORM_WALL(u->ret);
NewStateGroup(SpriteNum, u->ActorActionSet->Special[1]); NewStateGroup_(SpriteNum, u->ActorActionSet->Special[1]);
u->WaitTics = 2 + ((RANDOM_P2(4 << 8) >> 8) * 120); u->WaitTics = 2 + ((RANDOM_P2(4 << 8) >> 8) * 120);
// hang flush with the wall // hang flush with the wall
@ -1167,7 +1167,7 @@ DoRipperQuickJump(DSWActor* actor)
if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY)) if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY))
{ {
NewStateGroup(SpriteNum, sg_RipperJumpAttack); NewStateGroup_(SpriteNum, sg_RipperJumpAttack);
// move past the first state // move past the first state
u->Tics = 30; u->Tics = 30;
return true; return true;
@ -1216,7 +1216,7 @@ int DoRipperRipHeart(short SpriteNum)
SPRITEp tsp = u->tgt_sp(); SPRITEp tsp = u->tgt_sp();
NewStateGroup(SpriteNum, sg_RipperHeart); NewStateGroup_(SpriteNum, sg_RipperHeart);
u->WaitTics = 6 * 120; u->WaitTics = 6 * 120;
// player face ripper // player face ripper
@ -1234,7 +1234,7 @@ int DoRipperStandHeart(DSWActor* actor)
NullRipper(actor); NullRipper(actor);
if ((u->WaitTics -= ACTORMOVETICS) <= 0) if ((u->WaitTics -= ACTORMOVETICS) <= 0)
NewStateGroup(SpriteNum, sg_RipperRun); NewStateGroup_(SpriteNum, sg_RipperRun);
return 0; return 0;
} }
@ -1273,7 +1273,7 @@ void RipperHatch(short Weapon)
// make immediately active // make immediately active
SET(nu->Flags, SPR_ACTIVE); SET(nu->Flags, SPR_ACTIVE);
NewStateGroup(New, nu->ActorActionSet->Jump); NewStateGroup_(New, nu->ActorActionSet->Jump);
nu->ActorActionFunc = DoActorMoveJump; nu->ActorActionFunc = DoActorMoveJump;
DoActorSetSpeed(actorNew, FAST_SPEED); DoActorSetSpeed(actorNew, FAST_SPEED);
PickJumpMaxSpeed(New, -600); PickJumpMaxSpeed(New, -600);

View file

@ -978,7 +978,7 @@ InitRipper2Hang(DSWActor* actor)
return 0; return 0;
} }
NewStateGroup(SpriteNum, sg_Ripper2HangJump); NewStateGroup_(SpriteNum, sg_Ripper2HangJump);
u->StateFallOverride = sg_Ripper2HangFall; u->StateFallOverride = sg_Ripper2HangFall;
DoActorSetSpeed(actor, FAST_SPEED); DoActorSetSpeed(actor, FAST_SPEED);
@ -1005,7 +1005,7 @@ DoRipper2Hang(DSWActor* actor)
if ((u->WaitTics -= ACTORMOVETICS) > 0) if ((u->WaitTics -= ACTORMOVETICS) > 0)
return 0; return 0;
NewStateGroup(SpriteNum, sg_Ripper2JumpAttack); NewStateGroup_(SpriteNum, sg_Ripper2JumpAttack);
// move to the 2nd frame - past the pause frame // move to the 2nd frame - past the pause frame
u->Tics += u->State->Tics; u->Tics += u->State->Tics;
@ -1040,7 +1040,7 @@ DoRipper2MoveHang(DSWActor* actor)
hit_wall = NORM_WALL(u->ret); hit_wall = NORM_WALL(u->ret);
NewStateGroup(SpriteNum, u->ActorActionSet->Special[1]); NewStateGroup_(SpriteNum, u->ActorActionSet->Special[1]);
if (RANDOM_P2(1024<<8)>>8 > 500) if (RANDOM_P2(1024<<8)>>8 > 500)
u->WaitTics = ((RANDOM_P2(2 << 8) >> 8) * 120); u->WaitTics = ((RANDOM_P2(2 << 8) >> 8) * 120);
else else
@ -1180,7 +1180,7 @@ DoRipper2QuickJump(DSWActor* actor)
if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY)) if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY))
{ {
NewStateGroup(SpriteNum, sg_Ripper2JumpAttack); NewStateGroup_(SpriteNum, sg_Ripper2JumpAttack);
// move past the first state // move past the first state
u->Tics = 30; u->Tics = 30;
return true; return true;
@ -1225,7 +1225,7 @@ int DoRipper2RipHeart(short SpriteNum)
SPRITEp tsp = u->tgt_sp(); SPRITEp tsp = u->tgt_sp();
NewStateGroup(SpriteNum, sg_Ripper2Heart); NewStateGroup_(SpriteNum, sg_Ripper2Heart);
u->WaitTics = 6 * 120; u->WaitTics = 6 * 120;
// player face ripper2 // player face ripper2
@ -1245,7 +1245,7 @@ int DoRipper2StandHeart(DSWActor* actor)
PlaySound(DIGI_RIPPER2HEARTOUT, sp, v3df_none, CHAN_RipHeart); PlaySound(DIGI_RIPPER2HEARTOUT, sp, v3df_none, CHAN_RipHeart);
if ((u->WaitTics -= ACTORMOVETICS) <= 0) if ((u->WaitTics -= ACTORMOVETICS) <= 0)
NewStateGroup(SpriteNum, sg_Ripper2Run); NewStateGroup_(SpriteNum, sg_Ripper2Run);
return 0; return 0;
} }
@ -1287,7 +1287,7 @@ void Ripper2Hatch(short Weapon)
// make immediately active // make immediately active
SET(nu->Flags, SPR_ACTIVE); SET(nu->Flags, SPR_ACTIVE);
NewStateGroup(New, nu->ActorActionSet->Jump); NewStateGroup_(New, nu->ActorActionSet->Jump);
nu->ActorActionFunc = DoActorMoveJump; nu->ActorActionFunc = DoActorMoveJump;
DoActorSetSpeed(actorNew, FAST_SPEED); DoActorSetSpeed(actorNew, FAST_SPEED);
PickJumpMaxSpeed(New, -600); PickJumpMaxSpeed(New, -600);
@ -1358,7 +1358,7 @@ int InitRipper2Charge(DSWActor* actor)
InitActorMoveCloser(actor); InitActorMoveCloser(actor);
NewStateGroup(SpriteNum, sg_Ripper2RunFast); NewStateGroup_(SpriteNum, sg_Ripper2RunFast);
return 0; return 0;
} }

View file

@ -790,7 +790,7 @@ int DoSerpMove(DSWActor* actor)
case 0: case 0:
if (u->Health != u->MaxHealth) if (u->Health != u->MaxHealth)
{ {
NewStateGroup(SpriteNum, sg_SerpSkullSpell); NewStateGroup_(SpriteNum, sg_SerpSkullSpell);
u->Counter2++; u->Counter2++;
} }
break; break;
@ -799,7 +799,7 @@ int DoSerpMove(DSWActor* actor)
//if (u->Health <= DIV2(u->MaxHealth)) //if (u->Health <= DIV2(u->MaxHealth))
{ {
if (u->Counter <= 0) if (u->Counter <= 0)
NewStateGroup(SpriteNum, sg_SerpSkullSpell); NewStateGroup_(SpriteNum, sg_SerpSkullSpell);
} }
break; break;
} }

View file

@ -484,7 +484,7 @@ int DoSkullWait(DSWActor* actor)
{ {
sp->xvel = 0; sp->xvel = 0;
u->jump_speed = -600; u->jump_speed = -600;
NewStateGroup(SpriteNum, sg_SkullJump); NewStateGroup_(SpriteNum, sg_SkullJump);
DoBeginJump(actor); DoBeginJump(actor);
} }
} }
@ -500,7 +500,7 @@ int DoSkullWait(DSWActor* actor)
sp->ang = getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y); sp->ang = getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y);
sp->xvel = 128 + (RANDOM_P2(256<<8)>>8); sp->xvel = 128 + (RANDOM_P2(256<<8)>>8);
u->jump_speed = -700; u->jump_speed = -700;
NewStateGroup(SpriteNum, sg_SkullJump); NewStateGroup_(SpriteNum, sg_SkullJump);
DoBeginJump(actor); DoBeginJump(actor);
} }
} }
@ -897,7 +897,7 @@ int DoBettyWait(DSWActor* actor)
{ {
sp->xvel = 0; sp->xvel = 0;
u->jump_speed = -600; u->jump_speed = -600;
NewStateGroup(SpriteNum, sg_BettyJump); NewStateGroup_(SpriteNum, sg_BettyJump);
DoBeginJump(actor); DoBeginJump(actor);
} }
} }
@ -913,7 +913,7 @@ int DoBettyWait(DSWActor* actor)
sp->ang = getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y); sp->ang = getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y);
sp->xvel = 128 + (RANDOM_P2(256<<8)>>8); sp->xvel = 128 + (RANDOM_P2(256<<8)>>8);
u->jump_speed = -700; u->jump_speed = -700;
NewStateGroup(SpriteNum, sg_BettyJump); NewStateGroup_(SpriteNum, sg_BettyJump);
DoBeginJump(actor); DoBeginJump(actor);
} }
} }

View file

@ -4687,7 +4687,7 @@ int SpawnItemsMatch(short match)
//void //void
int int
// CTW MODIFICATION END // CTW MODIFICATION END
NewStateGroup(short SpriteNum, STATEp StateGroup[]) NewStateGroup_(short SpriteNum, STATEp StateGroup[])
{ {
USERp u = User[SpriteNum].Data(); USERp u = User[SpriteNum].Data();
@ -4716,9 +4716,9 @@ NewStateGroup(short SpriteNum, STATEp StateGroup[])
return 0; return 0;
} }
int NewStateGroup(USERp user, STATEp StateGroup[]) int NewStateGroup_(USERp user, STATEp StateGroup[])
{ {
return NewStateGroup(user->SpriteNum, StateGroup); return NewStateGroup_(user->SpriteNum, StateGroup);
} }
@ -6622,7 +6622,7 @@ StateControl(int16_t SpriteNum)
if (!u->State->Pic) if (!u->State->Pic)
{ {
NewStateGroup(SpriteNum, (STATEp *) u->State->NextState); NewStateGroup_(SpriteNum, (STATEp *) u->State->NextState);
} }
} }

View file

@ -3184,7 +3184,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
break; break;
case TRACK_ACTOR_STAND: case TRACK_ACTOR_STAND:
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
break; break;
case TRACK_ACTOR_JUMP: case TRACK_ACTOR_JUMP:
@ -3343,7 +3343,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
} }
} }
} }
@ -3357,7 +3357,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->Sit); NewStateGroup_(SpriteNum, u->ActorActionSet->Sit);
} }
} }
@ -3370,7 +3370,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->Stand); NewStateGroup_(SpriteNum, u->ActorActionSet->Stand);
} }
} }
@ -3405,20 +3405,20 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
case TRACK_ACTOR_CRAWL: case TRACK_ACTOR_CRAWL:
if (u->Rot != u->ActorActionSet->Crawl) if (u->Rot != u->ActorActionSet->Crawl)
NewStateGroup(SpriteNum, u->ActorActionSet->Crawl); NewStateGroup_(SpriteNum, u->ActorActionSet->Crawl);
else else
NewStateGroup(SpriteNum, u->ActorActionSet->Rise); NewStateGroup_(SpriteNum, u->ActorActionSet->Rise);
break; break;
case TRACK_ACTOR_SWIM: case TRACK_ACTOR_SWIM:
if (u->Rot != u->ActorActionSet->Swim) if (u->Rot != u->ActorActionSet->Swim)
NewStateGroup(SpriteNum, u->ActorActionSet->Swim); NewStateGroup_(SpriteNum, u->ActorActionSet->Swim);
else else
NewStateGroup(SpriteNum, u->ActorActionSet->Rise); NewStateGroup_(SpriteNum, u->ActorActionSet->Rise);
break; break;
case TRACK_ACTOR_FLY: case TRACK_ACTOR_FLY:
NewStateGroup(SpriteNum, u->ActorActionSet->Fly); NewStateGroup_(SpriteNum, u->ActorActionSet->Fly);
break; break;
case TRACK_ACTOR_SIT: case TRACK_ACTOR_SIT:
@ -3430,7 +3430,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->Sit); NewStateGroup_(SpriteNum, u->ActorActionSet->Sit);
} }
break; break;
@ -3439,7 +3439,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
if (u->ActorActionSet->Death2) if (u->ActorActionSet->Death2)
{ {
u->WaitTics = 4 * 120; u->WaitTics = 4 * 120;
NewStateGroup(SpriteNum, u->ActorActionSet->Death1); NewStateGroup_(SpriteNum, u->ActorActionSet->Death1);
} }
break; break;
@ -3448,7 +3448,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
if (u->ActorActionSet->Death2) if (u->ActorActionSet->Death2)
{ {
u->WaitTics = 4 * 120; u->WaitTics = 4 * 120;
NewStateGroup(SpriteNum, u->ActorActionSet->Death2); NewStateGroup_(SpriteNum, u->ActorActionSet->Death2);
} }
break; break;
@ -3461,7 +3461,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
sp->xvel <<= 1; sp->xvel <<= 1;
u->jump_speed = -495; u->jump_speed = -495;
DoActorBeginJump(actor); DoActorBeginJump(actor);
NewStateGroup(SpriteNum, u->ActorActionSet->DeathJump); NewStateGroup_(SpriteNum, u->ActorActionSet->DeathJump);
} }
break; break;
@ -3475,7 +3475,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->CloseAttack[0]); NewStateGroup_(SpriteNum, u->ActorActionSet->CloseAttack[0]);
} }
break; break;
@ -3489,7 +3489,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, u->ActorActionSet->CloseAttack[1]); NewStateGroup_(SpriteNum, u->ActorActionSet->CloseAttack[1]);
} }
break; break;
@ -3511,7 +3511,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
else else
u->WaitTics = tpoint->tag_high * 128; u->WaitTics = tpoint->tag_high * 128;
NewStateGroup(SpriteNum, *ap); NewStateGroup_(SpriteNum, *ap);
} }
break; break;
@ -3604,7 +3604,7 @@ ActorTrackDecide(TRACK_POINTp tpoint, short SpriteNum)
// //
SET(u->Flags, SPR_CLIMBING); SET(u->Flags, SPR_CLIMBING);
NewStateGroup(SpriteNum, u->ActorActionSet->Climb); NewStateGroup_(SpriteNum, u->ActorActionSet->Climb);
sp->zvel = -Z(1); sp->zvel = -Z(1);
} }
@ -3677,7 +3677,7 @@ ActorFollowTrack(short SpriteNum, short locktics)
if (u->WaitTics <= 0) if (u->WaitTics <= 0)
{ {
RESET(u->Flags, SPR_DONT_UPDATE_ANG); RESET(u->Flags, SPR_DONT_UPDATE_ANG);
NewStateGroup(SpriteNum, u->ActorActionSet->Run); NewStateGroup_(SpriteNum, u->ActorActionSet->Run);
u->WaitTics = 0; u->WaitTics = 0;
} }

View file

@ -5349,9 +5349,9 @@ ActorHealth(short SpriteNum, short amt)
sp->ang = NORM_ANGLE(getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y) + 1024); sp->ang = NORM_ANGLE(getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y) + 1024);
RESET(sp->cstat, CSTAT_SPRITE_YFLIP); RESET(sp->cstat, CSTAT_SPRITE_YFLIP);
if (sw_ninjahack) if (sw_ninjahack)
NewStateGroup(SpriteNum, sg_NinjaHariKari); NewStateGroup_(SpriteNum, sg_NinjaHariKari);
else else
NewStateGroup(SpriteNum, sg_NinjaGrabThroat); NewStateGroup_(SpriteNum, sg_NinjaGrabThroat);
} }
break; break;
} }
@ -5436,7 +5436,7 @@ ActorPain(short SpriteNum)
{ {
ActorLeaveTrack(SpriteNum); ActorLeaveTrack(SpriteNum);
u->WaitTics = 60; u->WaitTics = 60;
NewStateGroup(SpriteNum, u->ActorActionSet->Pain); NewStateGroup_(SpriteNum, u->ActorActionSet->Pain);
return true; return true;
} }
} }
@ -5455,7 +5455,7 @@ ActorPainPlasma(short SpriteNum)
if (u->ActorActionSet && u->ActorActionSet->Pain) if (u->ActorActionSet && u->ActorActionSet->Pain)
{ {
u->WaitTics = PLASMA_FOUNTAIN_TIME; u->WaitTics = PLASMA_FOUNTAIN_TIME;
NewStateGroup(SpriteNum, u->ActorActionSet->Pain); NewStateGroup_(SpriteNum, u->ActorActionSet->Pain);
return true; return true;
} }
else else
@ -10090,7 +10090,7 @@ DoRail(DSWActor* actor)
np->zvel += (RandomRange(140)-RandomRange(140)); np->zvel += (RandomRange(140)-RandomRange(140));
nu->RotNum = 5; nu->RotNum = 5;
NewStateGroup(New, sg_RailPuff); NewStateGroup_(New, sg_RailPuff);
np->shade = -40; np->shade = -40;
np->xrepeat = 10; np->xrepeat = 10;
@ -10276,7 +10276,7 @@ SpawnExtraMicroMini(DSWActor* actor)
wp->clipdist = sp->clipdist; wp->clipdist = sp->clipdist;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_MicroMini[0]); NewStateGroup_(w, &sg_MicroMini[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = u->Radius; wu->Radius = u->Radius;
wu->ceiling_dist = u->ceiling_dist; wu->ceiling_dist = u->ceiling_dist;
@ -10346,7 +10346,7 @@ DoMicro(DSWActor* actor)
if ((u->WaitTics -= MISSILEMOVETICS) <= 0) if ((u->WaitTics -= MISSILEMOVETICS) <= 0)
{ {
setspritez(New, &np->pos); setspritez(New, &np->pos);
NewStateGroup(Weapon, &sg_MicroMini[0]); NewStateGroup_(Weapon, &sg_MicroMini[0]);
sp->xrepeat = sp->yrepeat = 10; sp->xrepeat = sp->yrepeat = 10;
RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE); RESET(sp->cstat, CSTAT_SPRITE_INVISIBLE);
SpawnExtraMicroMini(actor); SpawnExtraMicroMini(actor);
@ -12448,7 +12448,7 @@ DoMirv(DSWActor* actor)
nu = User[New].Data(); nu = User[New].Data();
nu->RotNum = 5; nu->RotNum = 5;
NewStateGroup(New, &sg_MirvMeteor[0]); NewStateGroup_(New, &sg_MirvMeteor[0]);
nu->StateEnd = s_MirvMeteorExp; nu->StateEnd = s_MirvMeteorExp;
//np->owner = Weapon; //np->owner = Weapon;
@ -12724,7 +12724,7 @@ InitSpellRing(PLAYERp pp)
u->floor_dist = Z(10); u->floor_dist = Z(10);
//u->RotNum = 5; //u->RotNum = 5;
//NewStateGroup(SpriteNum, &sg_Ring); //NewStateGroup_(SpriteNum, &sg_Ring);
//SET(u->Flags, SPR_XFLIP_TOGGLE); //SET(u->Flags, SPR_XFLIP_TOGGLE);
// put it out there // put it out there
@ -12835,7 +12835,7 @@ DoSerpRing(DSWActor* actor)
sp->xvel += (RANDOM_P2(128<<8)>>8); sp->xvel += (RANDOM_P2(128<<8)>>8);
u->jump_speed = -800; u->jump_speed = -800;
change_sprite_stat(Weapon, STAT_ENEMY); change_sprite_stat(Weapon, STAT_ENEMY);
NewStateGroup(Weapon, sg_SkullJump); NewStateGroup_(Weapon, sg_SkullJump);
DoBeginJump(actor); DoBeginJump(actor);
// tell owner that one is gone // tell owner that one is gone
// User[sp->owner]->Counter--; // User[sp->owner]->Counter--;
@ -14927,7 +14927,7 @@ InitRail(PLAYERp pp)
zvel = -MulScale(pp->horizon.horiz.asq16(), HORIZ_MULT + 17, 16); zvel = -MulScale(pp->horizon.horiz.asq16(), HORIZ_MULT + 17, 16);
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rail[0]); NewStateGroup_(w, &sg_Rail[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = RAIL_RADIUS; wu->Radius = RAIL_RADIUS;
@ -15013,7 +15013,7 @@ InitZillaRail(DSWActor* actor)
zvel = (100 * (HORIZ_MULT+17)); zvel = (100 * (HORIZ_MULT+17));
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rail[0]); NewStateGroup_(w, &sg_Rail[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = RAIL_RADIUS; wu->Radius = RAIL_RADIUS;
@ -15129,7 +15129,7 @@ InitRocket(PLAYERp pp)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = 2000; wu->Radius = 2000;
@ -15259,7 +15259,7 @@ InitBunnyRocket(PLAYERp pp)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_BunnyRocket[0]); NewStateGroup_(w, &sg_BunnyRocket[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = 2000; wu->Radius = 2000;
@ -15374,7 +15374,7 @@ InitNuke(PLAYERp pp)
wp->pal = wu->spal = 19; wp->pal = wu->spal = 19;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = NUKE_RADIUS; wu->Radius = NUKE_RADIUS;
@ -15471,7 +15471,7 @@ InitEnemyNuke(DSWActor* actor)
wp->pal = wu->spal = 19; wp->pal = wu->spal = 19;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = NUKE_RADIUS; wu->Radius = NUKE_RADIUS;
@ -15581,7 +15581,7 @@ InitMicro(PLAYERp pp)
wp->zvel += RandomRange(Z(8)) - Z(5); wp->zvel += RandomRange(Z(8)) - Z(5);
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Micro[0]); NewStateGroup_(w, &sg_Micro[0]);
wu->WeaponNum = u->WeaponNum; wu->WeaponNum = u->WeaponNum;
wu->Radius = 200; wu->Radius = 200;
@ -16044,7 +16044,7 @@ InitSerpSpell(DSWActor* actor)
np->z = SPRITEp_TOS(sp); np->z = SPRITEp_TOS(sp);
nu->RotNum = 5; nu->RotNum = 5;
NewStateGroup(New, &sg_SerpMeteor[0]); NewStateGroup_(New, &sg_SerpMeteor[0]);
nu->StateEnd = s_MirvMeteorExp; nu->StateEnd = s_MirvMeteorExp;
//np->owner = SpriteNum; //np->owner = SpriteNum;
@ -16165,7 +16165,7 @@ InitSerpMonstSpell(DSWActor* actor)
np->z = SPRITEp_TOS(sp); np->z = SPRITEp_TOS(sp);
nu->RotNum = 5; nu->RotNum = 5;
NewStateGroup(New, &sg_SerpMeteor[0]); NewStateGroup_(New, &sg_SerpMeteor[0]);
//nu->StateEnd = s_MirvMeteorExp; //nu->StateEnd = s_MirvMeteorExp;
nu->StateEnd = s_TeleportEffect2; nu->StateEnd = s_TeleportEffect2;
@ -16268,7 +16268,7 @@ InitEnemyRocket(DSWActor* actor)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->Radius = 200; wu->Radius = 200;
SET(wp->cstat, CSTAT_SPRITE_YCENTER); SET(wp->cstat, CSTAT_SPRITE_YCENTER);
@ -16357,7 +16357,7 @@ InitEnemyRail(DSWActor* actor)
wp->zvel = 0; wp->zvel = 0;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rail[0]); NewStateGroup_(w, &sg_Rail[0]);
wu->Radius = 200; wu->Radius = 200;
wu->ceiling_dist = Z(1); wu->ceiling_dist = Z(1);
@ -16443,7 +16443,7 @@ InitZillaRocket(DSWActor* actor)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->Radius = 200; wu->Radius = 200;
SET(wp->cstat, CSTAT_SPRITE_YCENTER); SET(wp->cstat, CSTAT_SPRITE_YCENTER);
@ -16603,7 +16603,7 @@ InitEnemyCrossbow(DSWActor* actor)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_CrossBolt[0]); NewStateGroup_(w, &sg_CrossBolt[0]);
wu->xchange = MOVEx(wp->xvel, wp->ang); wu->xchange = MOVEx(wp->xvel, wp->ang);
wu->ychange = MOVEy(wp->xvel, wp->ang); wu->ychange = MOVEy(wp->xvel, wp->ang);
@ -17003,7 +17003,7 @@ InitBoltTrap(DSWActor* actor)
SET(wp->cstat, CSTAT_SPRITE_YCENTER); SET(wp->cstat, CSTAT_SPRITE_YCENTER);
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rocket[0]); NewStateGroup_(w, &sg_Rocket[0]);
wu->Radius = 200; wu->Radius = 200;
wu->xchange = MOVEx(wp->xvel, wp->ang); wu->xchange = MOVEx(wp->xvel, wp->ang);
@ -17044,7 +17044,7 @@ InitSpearTrap(short SpriteNum)
wp->clipdist = 64L>>2; wp->clipdist = 64L>>2;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_CrossBolt[0]); NewStateGroup_(w, &sg_CrossBolt[0]);
wu->xchange = MOVEx(wp->xvel, wp->ang); wu->xchange = MOVEx(wp->xvel, wp->ang);
wu->ychange = MOVEy(wp->xvel, wp->ang); wu->ychange = MOVEy(wp->xvel, wp->ang);
@ -17947,7 +17947,7 @@ InitTurretMicro(short SpriteNum, PLAYERp pp)
wp->zvel += RandomRange(Z(8)) - Z(5); wp->zvel += RandomRange(Z(8)) - Z(5);
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Micro[0]); NewStateGroup_(w, &sg_Micro[0]);
wu->WeaponNum = pu->WeaponNum; wu->WeaponNum = pu->WeaponNum;
wu->Radius = 200; wu->Radius = 200;
@ -18120,7 +18120,7 @@ InitTurretRail(short SpriteNum, PLAYERp pp)
wp->zvel = -pp->horizon.horiz.asq16() >> 9; wp->zvel = -pp->horizon.horiz.asq16() >> 9;
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Rail[0]); NewStateGroup_(w, &sg_Rail[0]);
wu->Radius = 200; wu->Radius = 200;
wu->ceiling_dist = Z(1); wu->ceiling_dist = Z(1);
@ -18956,7 +18956,7 @@ InitGrenade(PLAYERp pp)
} }
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Grenade[0]); NewStateGroup_(w, &sg_Grenade[0]);
SET(wu->Flags, SPR_XFLIP_TOGGLE); SET(wu->Flags, SPR_XFLIP_TOGGLE);
SetOwner(pp->PlayerSprite, w); SetOwner(pp->PlayerSprite, w);
@ -19049,7 +19049,7 @@ InitSpriteGrenade(DSWActor* actor)
wu = User[w].Data(); wu = User[w].Data();
wu->RotNum = 5; wu->RotNum = 5;
NewStateGroup(w, &sg_Grenade[0]); NewStateGroup_(w, &sg_Grenade[0]);
SET(wu->Flags, SPR_XFLIP_TOGGLE); SET(wu->Flags, SPR_XFLIP_TOGGLE);
if (u->ID == ZOMBIE_RUN_R0) if (u->ID == ZOMBIE_RUN_R0)
@ -19290,7 +19290,7 @@ InitFireball(PLAYERp pp)
zvel = -MulScale(pp->horizon.horiz.asq16(), 240, 16); zvel = -MulScale(pp->horizon.horiz.asq16(), 240, 16);
//wu->RotNum = 5; //wu->RotNum = 5;
//NewStateGroup(w, &sg_Fireball); //NewStateGroup_(w, &sg_Fireball);
//SET(wu->Flags, SPR_XFLIP_TOGGLE); //SET(wu->Flags, SPR_XFLIP_TOGGLE);
// at certain angles the clipping box was big enough to block the // at certain angles the clipping box was big enough to block the