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

View file

@ -336,6 +336,7 @@ enum sflags2_t
SFLAG2_USEACTIVATOR = 0x00000001, SFLAG2_USEACTIVATOR = 0x00000001,
SFLAG2_NOROTATEWITHSECTOR = 0x00000002, SFLAG2_NOROTATEWITHSECTOR = 0x00000002,
SFLAG2_SHOWWALLSPRITEONMAP = 0x00000004, SFLAG2_SHOWWALLSPRITEONMAP = 0x00000004,
SFLAG2_NOFLOORPAL = 0x00000008,
}; };
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>; 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(SFLAG_NOFALLER, { CRACK1, CRACK2, CRACK3, CRACK4, SPEAKER, LETTER, DUCK, TARGET, TRIPBOMB, VIEWSCREEN, VIEWSCREEN2 });
setflag(SFLAG2_NOROTATEWITHSECTOR, { LASERLINE }); setflag(SFLAG2_NOROTATEWITHSECTOR, { LASERLINE });
setflag(SFLAG2_SHOWWALLSPRITEONMAP, { LASERLINE }); setflag(SFLAG2_SHOWWALLSPRITEONMAP, { LASERLINE });
setflag(SFLAG2_NOFLOORPAL, { TRIPBOMB, LASERLINE });
if (isWorldTour()) if (isWorldTour())
{ {