- smaller stuff

This commit is contained in:
Christoph Oelckers 2021-12-25 00:03:43 +01:00
parent 6d7337e41b
commit 959147c656
7 changed files with 36 additions and 61 deletions

View file

@ -815,14 +815,13 @@ int PachinkoCheckWin(DSWActor* actor)
SWStatIterator it(STAT_ENEMY); SWStatIterator it(STAT_ENEMY);
while (auto itActor = it.Next()) while (auto itActor = it.Next())
{ {
tsp = &itActor->s();
tu = itActor->u(); tu = itActor->u();
if (tsp->lotag == TAG_PACHINKOLIGHT) if (itActor->spr.lotag == TAG_PACHINKOLIGHT)
{ {
if (tsp->hitag == SP_TAG5(actor)) if (itActor->spr.hitag == SP_TAG5(actor))
{ {
tsp->shade = -90; // Full brightness itActor->spr.shade = -90; // Full brightness
tu->WaitTics = SEC(3); // Flash tu->WaitTics = SEC(3); // Flash
ChangeState(itActor,s_PachinkoLightOperate); ChangeState(itActor,s_PachinkoLightOperate);
} }

View file

@ -114,7 +114,6 @@ short DoSectorObjectSetScale(short match)
short DoSOevent(short match, short state) short DoSOevent(short match, short state)
{ {
SECTOR_OBJECTp sop; SECTOR_OBJECTp sop;
SPRITEp me_sp;
short vel_adj=0, spin_adj=0; short vel_adj=0, spin_adj=0;
for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++) for (sop = SectorObject; sop < &SectorObject[MAX_SECTOR_OBJECTS]; sop++)
@ -138,19 +137,17 @@ short DoSOevent(short match, short state)
if (me_act == nullptr) if (me_act == nullptr)
continue; continue;
me_sp = &me_act->s();
// toggle // toggle
if (state == -1) if (state == -1)
{ {
if (TEST_BOOL3(me_sp)) if (TEST_BOOL3(me_act))
{ {
RESET_BOOL3(me_sp); RESET_BOOL3(me_act);
state = OFF; state = OFF;
} }
else else
{ {
SET_BOOL3(me_sp); SET_BOOL3(me_act);
state = ON; state = ON;
} }
} }
@ -158,22 +155,22 @@ short DoSOevent(short match, short state)
if (state == ON) if (state == ON)
{ {
spin_adj = (int)SP_TAG3(me_act); spin_adj = (int)SP_TAG3(me_act);
vel_adj = SP_TAG7(me_sp); vel_adj = SP_TAG7(me_act);
} }
else if (state == OFF) else if (state == OFF)
{ {
spin_adj = -(int)SP_TAG3(me_act); spin_adj = -(int)SP_TAG3(me_act);
vel_adj = -SP_TAG7(me_sp); vel_adj = -SP_TAG7(me_act);
} }
sop->spin_speed += spin_adj; sop->spin_speed += spin_adj;
if (TEST_BOOL1(me_sp)) if (TEST_BOOL1(me_act))
sop->vel_tgt += vel_adj; sop->vel_tgt += vel_adj;
else else
sop->vel += vel_adj; sop->vel += vel_adj;
if (TEST_BOOL2(me_sp)) if (TEST_BOOL2(me_act))
{ {
sop->dir *= -1; sop->dir *= -1;
} }

View file

@ -68,11 +68,11 @@ void InitNetPlayerOptions(void)
// myconnectindex palette // myconnectindex palette
pp->TeamColor = gs.NetColor; pp->TeamColor = gs.NetColor;
if (pp->Actor()) DSWActor* actor = pp->actor;
if (actor)
{ {
auto psp = &pp->Actor()->s(); actor->spr.pal = PALETTE_PLAYER0 + pp->TeamColor;
psp->pal = PALETTE_PLAYER0 + pp->TeamColor; pp->Actor()->user.spal = actor->spr.pal;
pp->Actor()->user.spal = psp->pal;
} }
} }

View file

@ -2420,8 +2420,8 @@ void InitPlayerSprite(PLAYERp pp)
void SpawnPlayerUnderSprite(PLAYERp pp) void SpawnPlayerUnderSprite(PLAYERp pp)
{ {
SPRITEp psp = &pp->Actor()->s(); DSWActor* plActor = pp->actor;
USERp pu = pp->Actor()->u(), u; USERp pu = plActor->u(), u;
SPRITEp sp; SPRITEp sp;
int pnum = int(pp - Player); int pnum = int(pp - Player);
@ -2446,13 +2446,10 @@ void SpawnPlayerUnderSprite(PLAYERp pp)
u->ActorActionSet = pu->ActorActionSet; u->ActorActionSet = pu->ActorActionSet;
actor->spr.picnum = psp->picnum; actor->spr.picnum = plActor->spr.picnum;
actor->spr.clipdist = psp->clipdist; actor->spr.clipdist = plActor->spr.clipdist;
actor->spr.xrepeat = psp->xrepeat; actor->spr.xrepeat = plActor->spr.xrepeat;
actor->spr.yrepeat = psp->yrepeat; actor->spr.yrepeat = plActor->spr.yrepeat;
//actor->spr.pal = psp->pal;
//u->spal = pu->spal;
} }
#include "saveable.h" #include "saveable.h"

View file

@ -1060,10 +1060,10 @@ int DoRipperHangJF(DSWActor* actor)
int DoRipperBeginJumpAttack(DSWActor* actor) int DoRipperBeginJumpAttack(DSWActor* actor)
{ {
USER* u = actor->u(); USER* u = actor->u();
SPRITEp psp = &u->targetActor->s(); DSWActor* target = u->targetActor;
short tang; short tang;
tang = getangle(psp->pos.X - actor->spr.pos.X, psp->pos.Y - actor->spr.pos.Y); tang = getangle(target->spr.pos.X - actor->spr.pos.X, target->spr.pos.Y - actor->spr.pos.Y);
Collision coll = move_sprite(actor, bcos(tang, -7), bsin(tang, -7), Collision coll = move_sprite(actor, bcos(tang, -7), bsin(tang, -7),
0L, u->ceiling_dist, u->floor_dist, CLIPMASK_ACTOR, ACTORMOVETICS); 0L, u->ceiling_dist, u->floor_dist, CLIPMASK_ACTOR, ACTORMOVETICS);
@ -1126,11 +1126,10 @@ int DoRipperQuickJump(DSWActor* actor)
// Tests to see if ripper is on top of a player/enemy and then immediatly // Tests to see if ripper is on top of a player/enemy and then immediatly
// does another jump // does another jump
if (u->lowActor) DSWActor* low = u->lowActor;
if (low)
{ {
SPRITEp tsp = &u->lowActor->s(); if (TEST(low->spr.extra, SPRX_PLAYER_OR_ENEMY))
if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY))
{ {
NewStateGroup(actor, sg_RipperJumpAttack); NewStateGroup(actor, sg_RipperJumpAttack);
// move past the first state // move past the first state
@ -1138,7 +1137,6 @@ int DoRipperQuickJump(DSWActor* actor)
return true; return true;
} }
} }
return false; return false;
} }
@ -1174,13 +1172,13 @@ int DoRipperRipHeart(DSWActor* actor)
{ {
USERp u = actor->u(); USERp u = actor->u();
SPRITEp tsp = &u->targetActor->s(); DSWActor* target = u->targetActor;
NewStateGroup(actor, sg_RipperHeart); NewStateGroup(actor, sg_RipperHeart);
u->WaitTics = 6 * 120; u->WaitTics = 6 * 120;
// player face ripper // player face ripper
tsp->ang = getangle(actor->spr.pos.X - tsp->pos.X, actor->spr.pos.Y - tsp->pos.Y); target->spr.ang = getangle(actor->spr.pos.X - target->spr.pos.X, actor->spr.pos.Y - target->spr.pos.Y);
return 0; return 0;
} }

View file

@ -1075,10 +1075,10 @@ int DoRipper2HangJF(DSWActor* actor)
int DoRipper2BeginJumpAttack(DSWActor* actor) int DoRipper2BeginJumpAttack(DSWActor* actor)
{ {
USER* u = actor->u(); USER* u = actor->u();
SPRITEp psp = &u->targetActor->s(); DSWActor* target = u->targetActor;
short tang; short tang;
tang = getangle(psp->pos.X - actor->spr.pos.X, psp->pos.Y - actor->spr.pos.Y); tang = getangle(target->spr.pos.X - actor->spr.pos.X, target->spr.pos.Y - actor->spr.pos.Y);
// Always jump at player if mad. // Always jump at player if mad.
@ -1144,11 +1144,10 @@ int DoRipper2QuickJump(DSWActor* actor)
// Tests to see if ripper2 is on top of a player/enemy and then immediatly // Tests to see if ripper2 is on top of a player/enemy and then immediatly
// does another jump // does another jump
if (u->lowActor) DSWActor* low = u->targetActor;
if (low)
{ {
SPRITEp tsp = &u->lowActor->s(); if (TEST(low->spr.extra, SPRX_PLAYER_OR_ENEMY))
if (TEST(tsp->extra, SPRX_PLAYER_OR_ENEMY))
{ {
NewStateGroup(actor, sg_Ripper2JumpAttack); NewStateGroup(actor, sg_Ripper2JumpAttack);
// move past the first state // move past the first state
@ -1189,13 +1188,12 @@ int DoRipper2RipHeart(DSWActor* actor)
{ {
USERp u = actor->u(); USERp u = actor->u();
SPRITEp tsp = &u->targetActor->s(); DSWActor* target = u->targetActor;
NewStateGroup(actor, sg_Ripper2Heart); NewStateGroup(actor, sg_Ripper2Heart);
u->WaitTics = 6 * 120; u->WaitTics = 6 * 120;
// player face ripper2 // player face ripper2
tsp->ang = getangle(actor->spr.pos.X - tsp->pos.X, actor->spr.pos.Y - tsp->pos.Y); target->spr.ang = getangle(actor->spr.pos.X - target->spr.pos.X, actor->spr.pos.Y - target->spr.pos.Y);
return 0; return 0;
} }

View file

@ -57,23 +57,9 @@ bool FAF_DebugView = false;
DSWActor* insertActor(sectortype* sect, int statnum) DSWActor* insertActor(sectortype* sect, int statnum)
{ {
auto pActor = static_cast<DSWActor*>(::InsertActor(RUNTIME_CLASS(DSWActor), sect, statnum)); auto pActor = static_cast<DSWActor*>(::InsertActor(RUNTIME_CLASS(DSWActor), sect, statnum));
auto pSprite = &pActor->s();
pSprite->pos.X = pSprite->pos.Y = pSprite->pos.Z = 0;
pSprite->cstat = 0;
pSprite->picnum = 0;
pSprite->shade = 0;
pSprite->pal = 0;
pSprite->clipdist = 0;
pSprite->xrepeat = pSprite->yrepeat = 0;
pSprite->xoffset = pSprite->yoffset = 0;
pSprite->ang = 0;
pSprite->owner = -1;
pSprite->xvel = pSprite->yvel = pSprite->zvel = 0;
pSprite->lotag = 0;
pSprite->hitag = 0;
pSprite->extra = 0;
pActor->spr.clear();
pActor->spr.owner = -1;
return pActor; return pActor;
} }