- added NOFLOORPAL flag to remove some special cases from animatesprites.

# Conflicts:
#	source/games/duke/src/constants.h
This commit is contained in:
Christoph Oelckers 2022-01-19 11:23:38 +01:00
parent c0a40cb7d7
commit d3f2d50088
3 changed files with 3 additions and 3 deletions

View file

@ -201,8 +201,6 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
case PAPER:
case PAPER + 1:
break;
case TRIPBOMB:
continue;
case FORCESPHERE:
if (t->statnum == STAT_MISC && OwnerAc)
{
@ -488,7 +486,7 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
[[fallthrough]];
default:
if (sectp->floorpal)
if (sectp->floorpal && !actorflag(h, SFLAG2_NOFLOORPAL))
copyfloorpal(t, sectp);
break;
}

View file

@ -336,6 +336,7 @@ enum sflags2_t
SFLAG2_USEACTIVATOR = 0x00000001,
SFLAG2_NOROTATEWITHSECTOR = 0x00000002,
SFLAG2_SHOWWALLSPRITEONMAP = 0x00000004,
SFLAG2_NOFLOORPAL = 0x00000008,
};
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>;

View file

@ -213,6 +213,7 @@ void initactorflags_d()
setflag(SFLAG_NOFALLER, { CRACK1, CRACK2, CRACK3, CRACK4, SPEAKER, LETTER, DUCK, TARGET, TRIPBOMB, VIEWSCREEN, VIEWSCREEN2 });
setflag(SFLAG2_NOROTATEWITHSECTOR, { LASERLINE });
setflag(SFLAG2_SHOWWALLSPRITEONMAP, { LASERLINE });
setflag(SFLAG2_NOFLOORPAL, { TRIPBOMB, LASERLINE });
if (isWorldTour())
{