- fixed the remaining places where the compiler complained about cstat.

This commit is contained in:
Christoph Oelckers 2021-12-18 20:41:15 +01:00
parent 8b427e35c2
commit 5ff36f491e
12 changed files with 50 additions and 57 deletions

View file

@ -260,7 +260,7 @@ void DrawMirrors(int x, int y, int z, fixed_t a, fixed_t horiz, int smooth, int
ESpriteFlags bakCstat = 0; ESpriteFlags bakCstat = 0;
if (viewPlayer >= 0) if (viewPlayer >= 0)
{ {
bakCstat = ESpriteFlags::FromInt(gPlayer[viewPlayer].pSprite->cstat); bakCstat = gPlayer[viewPlayer].pSprite->cstat;
if (gViewPos == 0) if (gViewPos == 0)
{ {
gPlayer[viewPlayer].pSprite->cstat |= CSTAT_SPRITE_INVISIBLE; gPlayer[viewPlayer].pSprite->cstat |= CSTAT_SPRITE_INVISIBLE;
@ -292,7 +292,7 @@ void DrawMirrors(int x, int y, int z, fixed_t a, fixed_t horiz, int smooth, int
ESpriteFlags bakCstat = 0; ESpriteFlags bakCstat = 0;
if (viewPlayer >= 0) if (viewPlayer >= 0)
{ {
bakCstat = ESpriteFlags::FromInt(gPlayer[viewPlayer].pSprite->cstat); bakCstat = gPlayer[viewPlayer].pSprite->cstat;
if (gViewPos == 0) if (gViewPos == 0)
{ {
gPlayer[viewPlayer].pSprite->cstat |= CSTAT_SPRITE_INVISIBLE; gPlayer[viewPlayer].pSprite->cstat |= CSTAT_SPRITE_INVISIBLE;

View file

@ -5303,7 +5303,7 @@ int MoveMissile(DBloodActor* actor)
if (Owner && Owner->IsDudeActor()) if (Owner && Owner->IsDudeActor())
{ {
pOwner = &Owner->s(); pOwner = &Owner->s();
bakCstat = ESpriteFlags::FromInt(pOwner->cstat); bakCstat = pOwner->cstat;
pOwner->cstat &= ~CSTAT_SPRITE_BLOCK_ALL; pOwner->cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
} }
gHitInfo.clearObj(); gHitInfo.clearObj();

View file

@ -526,7 +526,7 @@ void dbLoadMap(const char* pPath, int* pX, int* pY, int* pZ, short* pAngle, sect
pSprite->x = LittleLong(load.x); pSprite->x = LittleLong(load.x);
pSprite->y = LittleLong(load.y); pSprite->y = LittleLong(load.y);
pSprite->z = LittleLong(load.z); pSprite->z = LittleLong(load.z);
pSprite->cstat = LittleShort(load.cstat); pSprite->cstat = ESpriteFlags::FromInt(LittleShort(load.cstat));
pSprite->picnum = LittleShort(load.picnum); pSprite->picnum = LittleShort(load.picnum);
int secno = LittleShort(load.sectnum); int secno = LittleShort(load.sectnum);
pSprite->statnum = LittleShort(load.statnum); pSprite->statnum = LittleShort(load.statnum);

View file

@ -86,7 +86,7 @@ extern const char *gWeaponText[];
template<typename T> void GetSpriteExtents(T const * const pSprite, int *top, int *bottom) template<typename T> void GetSpriteExtents(T const * const pSprite, int *top, int *bottom)
{ {
*top = *bottom = pSprite->z; *top = *bottom = pSprite->z;
if ((pSprite->cstat & 0x30) != 0x20) if ((pSprite->cstat & CSTAT_SPRITE_ALIGNMENT_MASK) != CSTAT_SPRITE_ALIGNMENT_FLOOR)
{ {
int height = tileHeight(pSprite->picnum); int height = tileHeight(pSprite->picnum);
int center = height / 2 + tileTopOffset(pSprite->picnum); int center = height / 2 + tileTopOffset(pSprite->picnum);

View file

@ -2809,8 +2809,8 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
auto old = pSprite->cstat; auto old = pSprite->cstat;
// set new cstat // set new cstat
if ((pSource->flags & kModernTypeFlag1)) pSprite->cstat |= pXSource->data4; // relative if ((pSource->flags & kModernTypeFlag1)) pSprite->cstat |= ESpriteFlags::FromInt(pXSource->data4); // relative
else pSprite->cstat = pXSource->data4 & 0xffff; // absolute else pSprite->cstat = ESpriteFlags::FromInt(pXSource->data4 & 0xffff); // absolute
// and handle exceptions // and handle exceptions
if ((old & CSTAT_SPRITE_BLOOD_BIT1)) pSprite->cstat |= CSTAT_SPRITE_BLOOD_BIT1; //kSpritePushable if ((old & CSTAT_SPRITE_BLOOD_BIT1)) pSprite->cstat |= CSTAT_SPRITE_BLOOD_BIT1; //kSpritePushable
@ -3805,8 +3805,8 @@ bool condCheckMixed(DBloodActor* aCond, const EVENT& event, int cmpOp, bool PUSH
case 25: return condCmp(pObj->picnum, arg1, arg2, cmpOp); case 25: return condCmp(pObj->picnum, arg1, arg2, cmpOp);
case 26: return condCmp(pObj->pal, arg1, arg2, cmpOp); case 26: return condCmp(pObj->pal, arg1, arg2, cmpOp);
case 27: return condCmp(pObj->shade, arg1, arg2, cmpOp); case 27: return condCmp(pObj->shade, arg1, arg2, cmpOp);
case 28: return (pObj->cstat & arg1); case 28: return (pObj->cstat & ESpriteFlags::FromInt(arg1));
case 29: return (pObj->hitag & arg1); case 29: return (pObj->flags & arg1);
case 30: return condCmp(pObj->xrepeat, arg1, arg2, cmpOp); case 30: return condCmp(pObj->xrepeat, arg1, arg2, cmpOp);
case 31: return condCmp(pObj->xoffset, arg1, arg2, cmpOp); case 31: return condCmp(pObj->xoffset, arg1, arg2, cmpOp);
case 32: return condCmp(pObj->yrepeat, arg1, arg2, cmpOp); case 32: return condCmp(pObj->yrepeat, arg1, arg2, cmpOp);

View file

@ -43,7 +43,7 @@ int getlabelvalue(const char* text);
static int ccmd_spawn(CCmdFuncPtr parm) static int ccmd_spawn(CCmdFuncPtr parm)
{ {
int x = 0, y = 0, z = 0; int x = 0, y = 0, z = 0;
int16_t cstat = 0; ESpriteFlags cstat = 0;
int picnum = 0; int picnum = 0;
unsigned int pal = 0; unsigned int pal = 0;
int ang = 0; int ang = 0;

View file

@ -210,7 +210,7 @@ int DoShadowFindGroundPoint(tspriteptr_t sp)
SPRITEp hsp; SPRITEp hsp;
Collision ceilhit, florhit; Collision ceilhit, florhit;
int hiz, loz = u->loz; int hiz, loz = u->loz;
int save_cstat, bak_cstat; ESpriteFlags save_cstat, bak_cstat;
// recursive routine to find the ground - either sector or floor sprite // recursive routine to find the ground - either sector or floor sprite
// skips over enemy and other types of sprites // skips over enemy and other types of sprites
@ -968,7 +968,7 @@ void CircleCamera(int *nx, int *ny, int *nz, sectortype** vsect, binangle *nang,
SPRITEp sp; SPRITEp sp;
HitInfo hit{}; HitInfo hit{};
int i, vx, vy, vz, hx, hy; int i, vx, vy, vz, hx, hy;
int bakcstat, daang; int daang;
PLAYERp pp = &Player[screenpeek]; PLAYERp pp = &Player[screenpeek];
binangle ang; binangle ang;
@ -987,7 +987,7 @@ void CircleCamera(int *nx, int *ny, int *nz, sectortype** vsect, binangle *nang,
// Player sprite of current view // Player sprite of current view
sp = &pp->Actor()->s(); sp = &pp->Actor()->s();
bakcstat = sp->cstat; auto bakcstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
// Make sure sector passed to hitscan is correct // Make sure sector passed to hitscan is correct
@ -1027,12 +1027,11 @@ void CircleCamera(int *nx, int *ny, int *nz, sectortype** vsect, binangle *nang,
else else
{ {
SPRITEp hsp = &hit.actor()->s(); SPRITEp hsp = &hit.actor()->s();
int flag_backup;
// if you hit a sprite that's not a wall sprite - try again // if you hit a sprite that's not a wall sprite - try again
if (!TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL)) if (!TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL))
{ {
flag_backup = hsp->cstat; auto flag_backup = hsp->cstat;
RESET(hsp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); RESET(hsp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
CircleCamera(nx, ny, nz, vsect, nang, q16horiz); CircleCamera(nx, ny, nz, vsect, nang, q16horiz);

View file

@ -868,7 +868,7 @@ void JAnalyzeSprites(tspriteptr_t tspr)
{ {
// Turn on voxels // Turn on voxels
tspr->picnum = aVoxelArray[tspr->picnum].Voxel; // Get the voxel number tspr->picnum = aVoxelArray[tspr->picnum].Voxel; // Get the voxel number
tspr->cstat |= 48; // Set stat to voxelize sprite tspr->cstat |= CSTAT_SPRITE_ALIGNMENT_SLAB; // Set stat to voxelize sprite
} }
} }
else else
@ -887,7 +887,7 @@ void JAnalyzeSprites(tspriteptr_t tspr)
{ {
// Turn on voxels // Turn on voxels
tspr->picnum = aVoxelArray[tspr->picnum].Voxel; // Get the voxel number tspr->picnum = aVoxelArray[tspr->picnum].Voxel; // Get the voxel number
tspr->cstat |= 48; // Set stat to voxelize sprite tspr->cstat |= CSTAT_SPRITE_ALIGNMENT_SLAB; // Set stat to voxelize sprite
} }
break; break;
} }

View file

@ -1859,14 +1859,13 @@ void UpdatePlayerSprite(PLAYERp pp)
void DoPlayerZrange(PLAYERp pp) void DoPlayerZrange(PLAYERp pp)
{ {
Collision ceilhit, florhit; Collision ceilhit, florhit;
short bakcstat;
if (!pp->Actor()) return; if (!pp->Actor()) return;
// Don't let you fall if you're just slightly over a cliff // Don't let you fall if you're just slightly over a cliff
// This function returns the highest and lowest z's // This function returns the highest and lowest z's
// for an entire box, NOT just a point. -Useful for clipping // for an entire box, NOT just a point. -Useful for clipping
auto sp = &pp->Actor()->s(); auto sp = &pp->Actor()->s();
bakcstat = sp->cstat; auto bakcstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
vec3_t pos = pp->pos; vec3_t pos = pp->pos;
pos.z += Z(8); pos.z += Z(8);
@ -2011,7 +2010,6 @@ void DoPlayerMove(PLAYERp pp)
auto sp = &pp->Actor()->s(); auto sp = &pp->Actor()->s();
USERp u = pp->Actor()->u(); USERp u = pp->Actor()->u();
int friction; int friction;
int save_cstat;
int push_ret = 0; int push_ret = 0;
// If SO interpolation is disabled, make sure the player's aiming, // If SO interpolation is disabled, make sure the player's aiming,
@ -2114,7 +2112,7 @@ void DoPlayerMove(PLAYERp pp)
pp->oposy = pp->posy; pp->oposy = pp->posy;
} }
save_cstat = sp->cstat; auto save_cstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
Collision coll; Collision coll;
updatesector(pp->posx, pp->posy, &pp->cursector); updatesector(pp->posx, pp->posy, &pp->cursector);
@ -2561,7 +2559,6 @@ void DoPlayerMoveVehicle(PLAYERp pp)
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
auto psp = &pp->Actor()->s(); auto psp = &pp->Actor()->s();
USERp u = actor->u(); USERp u = actor->u();
int save_cstat;
int x[4], y[4], ox[4], oy[4]; int x[4], y[4], ox[4], oy[4];
int wallcount; int wallcount;
int count=0; int count=0;
@ -2660,7 +2657,7 @@ void DoPlayerMoveVehicle(PLAYERp pp)
int vel; int vel;
int ret; int ret;
save_cstat = psp->cstat; auto save_cstat = psp->cstat;
RESET(psp->cstat, CSTAT_SPRITE_BLOCK); RESET(psp->cstat, CSTAT_SPRITE_BLOCK);
DoPlayerTurnVehicleRect(pp, x, y, ox, oy); DoPlayerTurnVehicleRect(pp, x, y, ox, oy);
@ -2715,7 +2712,7 @@ void DoPlayerMoveVehicle(PLAYERp pp)
DoPlayerTurnVehicle(pp, pp->input.avel, z, floor_dist); DoPlayerTurnVehicle(pp, pp->input.avel, z, floor_dist);
} }
save_cstat = psp->cstat; auto save_cstat = psp->cstat;
RESET(psp->cstat, CSTAT_SPRITE_BLOCK); RESET(psp->cstat, CSTAT_SPRITE_BLOCK);
if (pp->sop->clipdist) if (pp->sop->clipdist)
{ {

View file

@ -3606,7 +3606,8 @@ int ActorCoughItem(DSWActor* actor)
ASSERT(sp->insector()); ASSERT(sp->insector());
actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS); actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS);
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = SPRITEp_MID(sp); np->z = SPRITEp_MID(sp);
@ -3647,7 +3648,8 @@ int ActorCoughItem(DSWActor* actor)
ASSERT(sp->insector()); ASSERT(sp->insector());
actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS); actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS);
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = SPRITEp_MID(sp); np->z = SPRITEp_MID(sp);
@ -3675,7 +3677,8 @@ int ActorCoughItem(DSWActor* actor)
ASSERT(sp->insector()); ASSERT(sp->insector());
actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS); actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS);
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = SPRITEp_MID(sp); np->z = SPRITEp_MID(sp);
@ -3769,7 +3772,8 @@ int ActorCoughItem(DSWActor* actor)
ASSERT(sp->insector()); ASSERT(sp->insector());
actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS); actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS);
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = SPRITEp_MID(sp); np->z = SPRITEp_MID(sp);
@ -3827,7 +3831,8 @@ int ActorCoughItem(DSWActor* actor)
ASSERT(sp->insector()); ASSERT(sp->insector());
actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS); actorNew = insertActor(sp->sector(), STAT_SPAWN_ITEMS);
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = SPRITEp_LOWER(sp)+Z(10); np->z = SPRITEp_LOWER(sp)+Z(10);
@ -4576,14 +4581,13 @@ void DoActorZrange(DSWActor* actor)
USERp u = actor->u(), wu; USERp u = actor->u(), wu;
SPRITEp sp = &actor->s(), wp; SPRITEp sp = &actor->s(), wp;
Collision ceilhit, florhit; Collision ceilhit, florhit;
short save_cstat;
save_cstat = TEST(sp->cstat, CSTAT_SPRITE_BLOCK); auto save_cstat = sp->cstat & CSTAT_SPRITE_BLOCK;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
vec3_t pos = sp->pos; vec3_t pos = sp->pos;
pos.z -= DIV2(SPRITEp_SIZE_Z(sp)); pos.z -= DIV2(SPRITEp_SIZE_Z(sp));
FAFgetzrange(pos, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit, (((int) sp->clipdist) << 2) - GETZRANGE_CLIP_ADJ, CLIPMASK_ACTOR); FAFgetzrange(pos, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit, (((int) sp->clipdist) << 2) - GETZRANGE_CLIP_ADJ, CLIPMASK_ACTOR);
SET(sp->cstat, save_cstat); sp->cstat |= save_cstat;
u->lo_sectp = u->hi_sectp = nullptr; u->lo_sectp = u->hi_sectp = nullptr;
u->highActor = nullptr; u->highActor = nullptr;
@ -4659,10 +4663,9 @@ bool ActorDrop(DSWActor* actor, int x, int y, int z, sectortype* new_sector, sho
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
int hiz, loz; int hiz, loz;
Collision ceilhit, florhit; Collision ceilhit, florhit;
short save_cstat;
// look only at the center point for a floor sprite // look only at the center point for a floor sprite
save_cstat = TEST(sp->cstat, CSTAT_SPRITE_BLOCK); auto save_cstat = TEST(sp->cstat, CSTAT_SPRITE_BLOCK);
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
FAFgetzrangepoint(x, y, z - DIV2(SPRITEp_SIZE_Z(sp)), new_sector, &hiz, &ceilhit, &loz, &florhit); FAFgetzrangepoint(x, y, z - DIV2(SPRITEp_SIZE_Z(sp)), new_sector, &hiz, &ceilhit, &loz, &florhit);
SET(sp->cstat, save_cstat); SET(sp->cstat, save_cstat);
@ -5172,7 +5175,6 @@ int DoGet(DSWActor* actor)
short pnum, key_num; short pnum, key_num;
int dist, a,b,c; int dist, a,b,c;
bool can_see; bool can_see;
int cstat_bak;
// For flag stuff // For flag stuff
USERp nu; USERp nu;
@ -5223,7 +5225,7 @@ int DoGet(DSWActor* actor)
continue; continue;
} }
cstat_bak = sp->cstat; auto cstat_bak = sp->cstat;
SET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN); SET(sp->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN);
can_see = FAFcansee(sp->x, sp->y, sp->z, sp->sector(), can_see = FAFcansee(sp->x, sp->y, sp->z, sp->sector(),
pp->posx, pp->posy, pp->posz, pp->cursector); pp->posx, pp->posy, pp->posz, pp->cursector);
@ -6470,7 +6472,7 @@ Collision move_sprite(DSWActor* actor, int xchange, int ychange, int zchange, in
// Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick // Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick
// up its own sprite // up its own sprite
tempshort = spr->cstat; auto tempstat = spr->cstat;
spr->cstat = 0; spr->cstat = 0;
// I subtracted 8 from the clipdist because actors kept going up on // I subtracted 8 from the clipdist because actors kept going up on
@ -6482,7 +6484,7 @@ Collision move_sprite(DSWActor* actor, int xchange, int ychange, int zchange, in
&globhiz, &globhihit, &globloz, &globlohit, &globhiz, &globhihit, &globloz, &globlohit,
(((int) spr->clipdist) << 2) - GETZRANGE_CLIP_ADJ, cliptype); (((int) spr->clipdist) << 2) - GETZRANGE_CLIP_ADJ, cliptype);
spr->cstat = tempshort; spr->cstat = tempstat;
// !AIC - puts getzrange results into USER varaible u->loz, u->hiz, u->lo_sectp, u->hi_sectp, etc. // !AIC - puts getzrange results into USER varaible u->loz, u->hiz, u->lo_sectp, u->hi_sectp, etc.
// Takes info from global variables // Takes info from global variables
@ -6611,11 +6613,10 @@ int MissileZrange(DSWActor* actor)
{ {
USERp u = actor->u(); USERp u = actor->u();
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
short tempshort;
// Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick // Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick
// up its own sprite // up its own sprite
tempshort = sp->cstat; auto tempshort = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
FAFgetzrangepoint(sp->x, sp->y, sp->z - 1, sp->sector(), FAFgetzrangepoint(sp->x, sp->y, sp->z - 1, sp->sector(),
@ -6634,7 +6635,6 @@ Collision move_missile(DSWActor* actor, int xchange, int ychange, int zchange, i
SPRITEp sp = &actor->s(); SPRITEp sp = &actor->s();
Collision retval{}; Collision retval{};
int zh; int zh;
int tempshort;
ASSERT(actor->hasU()); ASSERT(actor->hasU());
@ -6673,7 +6673,7 @@ Collision move_missile(DSWActor* actor, int xchange, int ychange, int zchange, i
// Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick // Set the blocking bit to 0 temporarly so FAFgetzrange doesn't pick
// up its own sprite // up its own sprite
tempshort = sp->cstat; auto tempshort = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
FAFgetzrangepoint(sp->x, sp->y, sp->z - 1, sp->sector(), FAFgetzrangepoint(sp->x, sp->y, sp->z - 1, sp->sector(),

View file

@ -317,7 +317,8 @@ DSWActor* TrackClonePoint(DSWActor* actor)
np = &actorNew->s(); np = &actorNew->s();
np->cstat = np->extra = 0; np->cstat = 0;
np->extra = 0;
np->x = sp->x; np->x = sp->x;
np->y = sp->y; np->y = sp->y;
np->z = sp->z; np->z = sp->z;

View file

@ -8208,7 +8208,7 @@ int DoPlasmaFountain(DSWActor* actor)
{ {
u->WaitTics = 0; u->WaitTics = 0;
bak_cstat = sp->cstat; auto bak_cstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK); RESET(sp->cstat, CSTAT_SPRITE_BLOCK);
sp->cstat = bak_cstat; sp->cstat = bak_cstat;
@ -8247,7 +8247,7 @@ int DoPlasma(DSWActor* actor)
if (TEST(hsp->cstat, CSTAT_SPRITE_BLOCK) && !TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL)) if (TEST(hsp->cstat, CSTAT_SPRITE_BLOCK) && !TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL))
{ {
short hcstat = hsp->cstat; auto hcstat = hsp->cstat;
if (hu && hitActor != u->WpnGoalActor) if (hu && hitActor != u->WpnGoalActor)
{ {
@ -9532,7 +9532,7 @@ int DoRail(DSWActor* actor)
if (hs->extra & SPRX_PLAYER_OR_ENEMY) if (hs->extra & SPRX_PLAYER_OR_ENEMY)
{ {
short cstat_save = hs->cstat; auto cstat_save = hs->cstat;
RESET(hs->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN|CSTAT_SPRITE_BLOCK_MISSILE); RESET(hs->cstat, CSTAT_SPRITE_BLOCK|CSTAT_SPRITE_BLOCK_HITSCAN|CSTAT_SPRITE_BLOCK_MISSILE);
DoRail(actor); DoRail(actor);
@ -11178,13 +11178,11 @@ int DoFindGround(DSWActor* actor)
SPRITEp sp = &actor->s(), hsp; SPRITEp sp = &actor->s(), hsp;
USERp u = actor->u(); USERp u = actor->u();
Collision ceilhit, florhit; Collision ceilhit, florhit;
short save_cstat;
short bak_cstat;
// recursive routine to find the ground - either sector or floor sprite // recursive routine to find the ground - either sector or floor sprite
// skips over enemy and other types of sprites // skips over enemy and other types of sprites
save_cstat = sp->cstat; auto save_cstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
FAFgetzrange(sp->pos, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit, (((int) sp->clipdist) << 2) - GETZRANGE_CLIP_ADJ, CLIPMASK_PLAYER); FAFgetzrange(sp->pos, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit, (((int) sp->clipdist) << 2) - GETZRANGE_CLIP_ADJ, CLIPMASK_PLAYER);
sp->cstat = save_cstat; sp->cstat = save_cstat;
@ -11207,7 +11205,7 @@ int DoFindGround(DSWActor* actor)
{ {
// reset the blocking bit of what you hit and try again - // reset the blocking bit of what you hit and try again -
// recursive // recursive
bak_cstat = hsp->cstat; auto bak_cstat = hsp->cstat;
RESET(hsp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); RESET(hsp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
DoFindGround(actor); DoFindGround(actor);
hsp->cstat = bak_cstat; hsp->cstat = bak_cstat;
@ -11235,13 +11233,11 @@ int DoFindGroundPoint(DSWActor* actor)
SPRITEp sp = &actor->s(), hsp; SPRITEp sp = &actor->s(), hsp;
USERp u = actor->u(); USERp u = actor->u();
Collision ceilhit, florhit; Collision ceilhit, florhit;
short save_cstat;
short bak_cstat;
// recursive routine to find the ground - either sector or floor sprite // recursive routine to find the ground - either sector or floor sprite
// skips over enemy and other types of sprites // skips over enemy and other types of sprites
save_cstat = sp->cstat; auto save_cstat = sp->cstat;
RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); RESET(sp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
FAFgetzrangepoint(sp->x, sp->y, sp->z, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit); FAFgetzrangepoint(sp->x, sp->y, sp->z, sp->sector(), &u->hiz, &ceilhit, &u->loz, &florhit);
sp->cstat = save_cstat; sp->cstat = save_cstat;
@ -11264,7 +11260,7 @@ int DoFindGroundPoint(DSWActor* actor)
{ {
// reset the blocking bit of what you hit and try again - // reset the blocking bit of what you hit and try again -
// recursive // recursive
bak_cstat = hsp->cstat; auto bak_cstat = hsp->cstat;
RESET(hsp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN); RESET(hsp->cstat, CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_BLOCK_HITSCAN);
DoFindGroundPoint(actor); DoFindGroundPoint(actor);
hsp->cstat = bak_cstat; hsp->cstat = bak_cstat;
@ -11327,7 +11323,7 @@ int DoNapalm(DSWActor* actor)
if (TEST(hsp->cstat, CSTAT_SPRITE_BLOCK) && !TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL)) if (TEST(hsp->cstat, CSTAT_SPRITE_BLOCK) && !TEST(hsp->cstat, CSTAT_SPRITE_ALIGNMENT_WALL))
{ {
short hcstat = hsp->cstat; auto hcstat = hsp->cstat;
sp->x = ox; sp->x = ox;
sp->y = oy; sp->y = oy;
@ -11509,7 +11505,7 @@ int DoSerpMeteor(DSWActor* actor)
if (hu && hu->ID >= SKULL_R0 && hu->ID <= SKULL_SERP) if (hu && hu->ID >= SKULL_R0 && hu->ID <= SKULL_SERP)
{ {
short hcstat = hsp->cstat; auto hcstat = hsp->cstat;
sp->x = ox; sp->x = ox;
sp->y = oy; sp->y = oy;
@ -16134,7 +16130,7 @@ int InitUzi(PLAYERp pp)
HitInfo hit{}; HitInfo hit{};
int daz, nz; int daz, nz;
int xvect,yvect,zvect; int xvect,yvect,zvect;
short cstat = 0; ESpriteFlags cstat = 0;
uint8_t pal = 0; uint8_t pal = 0;
//static char alternate=0; //static char alternate=0;
static int uziclock=0; static int uziclock=0;