From EDukeWiki
Revision as of 00:39, 20 February 2020 by Fox (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

spriteflags <picnum> <value>

spriteflags <value>

The first form is used outside of an actor code. It will set special flags to a tile. The values are the same as gameflags.

The second form is used inside of an actor code. It will set special flags for a sprite that exists in the map. The values are the same as htflags.

At game time, the per-tile value is XORed with the per-sprite value, i.e. the setting of one reverses the other.

The per-tile flags are also set by useractor. Meaning that the spriteflags should precede it, otherwise the values will be overwritten.


The following values are used with gameflags, htflags and spriteflags.

Exposed Value Label Description
Yes 1 SFLAG_SHADOW Generates a shadow. See spriteshadow.
Yes 2 SFLAG_NVG Turns palette 6 whenever night vision goggles are used. See spritenvg.
Yes 4 SFLAG_NOSHADE The sprite's shade is unaffected by the shade of its sector. See spritenoshade.
No 8 SFLAG_PROJECTILE Has been defined with defineprojectile.
No 16 SFLAG_DECAL Prevents teleporting. The sprite is not entered into the decal deletion queue.
Yes 32 SFLAG_BADGUY Is an enemy. See useractor.
Yes 64 SFLAG_NOPAL Sprite will be insusceptible to floor palette of sector containing this sprite. See spritenopal.
Yes 128 SFLAG_NOEVENTS Sprite will not be run through EVENT_GAME or EVENT_PREGAME.
Yes 256 SFLAG_NOLIGHT Sprite will not emit hardcoded Polymer-based lights.
Internal 1024 SFLAG_NULL Null sprite in multiplayer [internal, do not use]
Yes 2048 SFLAG_NOCLIP Sprite will call "clipmove()" with a clipmask of 0, skipping collision detection with other sprites to increase performance. (Specifically, to prevent runtime behavior that is quadratic with the number of sprites.) Useful for particle effects.
No 32768 SFLAG_BADGUYSTAYPUT Actor will stay inside its original sector..
No 131072 SFLAG_ROTFIXED rotation-fixed with respect to a pivot point to prevent position diverging due to roundoff error accumulation.
No 524288 SFLAG_DIDNOSE7WATER Used temporarily.
Yes 1048576 SFLAG_NODAMAGEPUSH Actor should not be pushed back when damaged (by default TANK, RECON, ROTATEGUN, and the bosses).
Yes 2097152 SFLAG_NOWATERDIP Actor will not appear to sink into the floor in sectors tagged Above Water (lotag 1).
Yes 4194304 SFLAG_HURTSPAWNBLOOD Actor will spawn blood as hardcoded enemies do when hurt.
Yes 8388608 SFLAG_GREENSLIMEFOOD Actor can be eaten by GREENSLIME actor (Protozoid Slimer). Can only be set outside of actor and event code whereupon it is applied to all sprites of the same picnum.
Yes 16777216 SFLAG_REALCLIPDIST Actor will always use its set clipdist instead of one potentially overridden in hardcoded circumstances based on its xrepeat and picnum.
Yes 33554432 SFLAG_WAKEUPBADGUYS When awoken (changed to an active actor), any sprite with this flag set will wake up any enemy with which it has a line of sight.
Yes 67108864 SFLAG_DAMAGEEVENT Actor fires EVENT_(POST)DAMAGESPRITE when damaged.
Yes 134217728 SFLAG_NOWATERSECTOR Will prevent a sprite from moving into water.
define SFLAG_SHADOW                     0x00000001
define SFLAG_NVG                        0x00000002
define SFLAG_NOSHADE                    0x00000004
define SFLAG_PROJECTILE                 0x00000008
define SFLAG_DECAL                      0x00000010
define SFLAG_NULL                       0x00000400
define SFLAG_NOFLOORSHADOW              0x00001000
define SFLAG_BADGUYSTAYPUT              0x00008000
define SFLAG_CACHE                      0x00010000
define SFLAG_ROTFIXED                   0x00020000
define SFLAG_HARDCODED_BADGUY           0x00040000
define SFLAG_DIDNOSE7WATER              0x00080000
define SFLAG_HURTSPAWNBLOOD             0x00400000
define SFLAG_GREENSLIMEFOOD             0x00800000
define SFLAG_WAKEUPBADGUYS              0x02000000
define SFLAG_DAMAGEEVENT                0x04000000