- the final Duke flags.

This commit is contained in:
Christoph Oelckers 2021-12-18 18:25:33 +01:00
parent e02f4d8fd1
commit 2d648924e8
4 changed files with 10 additions and 8 deletions

View file

@ -406,7 +406,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int
{
spr = act->s;
if (act == pactor || (spr->cstat & 0x8000) || spr->cstat == 257 || spr->xrepeat == 0) continue;
if (act == pactor || (spr->cstat & CSTAT_SPRITE_INVISIBLE) || spr->cstat == CSTAT_SPRITE_BLOCK_ALL || spr->xrepeat == 0) continue;
col = PalEntry(0, 170, 170);
if (spr->cstat & CSTAT_SPRITE_BLOCK) col = PalEntry(170, 0, 170);

View file

@ -1039,7 +1039,7 @@ void shootbloodsplat(DDukeActor* actor, int p, int sx, int sy, int sz, int sa, i
spawned->s->x = hit.hitpos.x;
spawned->s->y = hit.hitpos.y;
spawned->s->z = hit.hitpos.z;
spawned->s->cstat |= (krand() & 4);
spawned->s->cstat |= randomXFlip();
ssp(spawned, CLIPMASK0);
SetActor(spawned, spawned->s->pos);
if (s->picnum == OOZFILTER || s->picnum == NEWBEAST)

View file

@ -597,7 +597,7 @@ void resetpspritevars(int g)
s->shade = 0;
s->xrepeat = isRR() ? 24 : 42;
s->yrepeat = isRR() ? 17 : 36;
s->cstat = 1 + 256;
s->cstat = CSTAT_SPRITE_BLOCK_ALL;
s->xoffset = 0;
s->clipdist = 64;

View file

@ -176,7 +176,8 @@ bool initspriteforspawn(DDukeActor* act, const std::initializer_list<int> &exclu
if ((ud.multimode < 2) || (ud.multimode > 1 && ud.coop == 1))
{
sp->xrepeat = sp->yrepeat = 0;
sp->cstat = sp->lotag = sp->hitag = 0;
sp->cstat = 0;
sp->lotag = sp->hitag = 0;
return false;
}
}
@ -197,7 +198,7 @@ bool initspriteforspawn(DDukeActor* act, const std::initializer_list<int> &exclu
int s = sp->picnum;
if (sp->cstat & CSTAT_SPRITE_BLOCK) sp->cstat |= 256;
if (sp->cstat & CSTAT_SPRITE_BLOCK) sp->cstat |= CSTAT_SPRITE_BLOCK_HITSCAN;
if (gs.actorinfo[s].scriptaddress)
{
@ -330,7 +331,7 @@ void spawntransporter(DDukeActor *actj, DDukeActor* acti, bool beam)
}
sp->shade = -127;
sp->cstat = CSTAT_SPRITE_YCENTER | 2;
sp->cstat = CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
sp->ang = spj->ang;
sp->xvel = 128;
@ -414,7 +415,8 @@ void initfootprint(DDukeActor* actj, DDukeActor* acti)
}
else { sp->xrepeat = sp->yrepeat = 0; return; }
sp->cstat = 32 + ((ps[actj->s->yvel].footprintcount & 1) << 2);
sp->cstat = CSTAT_SPRITE_ALIGNMENT_FLOOR;
if ((ps[actj->s->yvel].footprintcount & 1)) sp->cstat |= CSTAT_SPRITE_XFLIP;
sp->ang = actj->s->ang;
}
@ -490,7 +492,7 @@ void initcrane(DDukeActor* actj, DDukeActor* acti, int CRANEPOLE)
auto sp = acti->s;
auto sect = sp->sector();
auto t = acti->temp_data;
sp->cstat |= 64 | 257;
sp->cstat |= CSTAT_SPRITE_BLOCK_ALL | CSTAT_SPRITE_ONE_SIDE;
sp->picnum += 2;
sp->z = sect->ceilingz + (48 << 8);