Spriteflags
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.
Flags
The following values are used with gameflags, htflags and spriteflags.
Exposed | Value | Hex | Label | Description | |
---|---|---|---|---|---|
Yes | 1 | 0x00000001 | SFLAG_SHADOW | Generates a shadow. See spriteshadow. | |
Yes | 2 | 0x00000002 | SFLAG_NVG | Turns palette 6 whenever night vision goggles are used. See spritenvg. | |
Yes | 4 | 0x00000004 | SFLAG_NOSHADE | The sprite's shade is unaffected by the shade of its sector. See spritenoshade. | |
No | 8 | 0x00000008 | SFLAG_PROJECTILE | Has been defined with defineprojectile. | |
No | 16 | 0x00000010 | SFLAG_DECAL | Prevents teleporting. The sprite is not entered into the decal deletion queue. | |
Yes | 32 | 0x00000020 | SFLAG_BADGUY | Is an enemy. See useractor. | |
Yes | 64 | 0x00000040 | SFLAG_NOPAL | Sprite will be insusceptible to floor palette of sector containing this sprite. See spritenopal. | |
Yes | 128 | 0x00000080 | SFLAG_NOEVENTS | Sprite will not be run through EVENT_GAME or EVENT_PREGAME. | |
Yes | 256 | 0x00000100 | SFLAG_NOLIGHT | Sprite will not emit hardcoded Polymer-based lights. | |
Yes | 512 | 0x00000200 | SFLAG_USEACTIVATOR | ||
Internal | 1024 | 0x00000400 | SFLAG_NULL | Null sprite in multiplayer [internal, do not use] | |
Yes | 2048 | 0x00000800 | 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 | 4096 | 0x00001000 | SFLAG_NOFLOORSHADOW | ||
Yes | 8192 | 0x00002000 | SFLAG_SMOOTHMOVE | ||
Yes | 16384 | 0x00004000 | SFLAG_NOTELEPORT | ||
No | 32768 | 0x00008000 | SFLAG_BADGUYSTAYPUT | Actor will stay inside its original sector.. | |
No | 65536 | 0x00010000 | SFLAG_CACHE | ||
No | 131072 | 0x00020000 | SFLAG_ROTFIXED | rotation-fixed with respect to a pivot point to prevent position diverging due to roundoff error accumulation. | |
No | 262144 | 0x00040000 | SFLAG_HARDCODED_BADGUY | ||
No | 524288 | 0x00080000 | SFLAG_DIDNOSE7WATER | Used temporarily. | |
Yes | 1048576 | 0x00100000 | SFLAG_NODAMAGEPUSH | Actor should not be pushed back when damaged (by default TANK, RECON, ROTATEGUN, and the bosses). | |
Yes | 2097152 | 0x00200000 | SFLAG_NOWATERDIP | Actor will not appear to sink into the floor in sectors tagged Above Water (lotag 1). | |
Yes | 4194304 | 0x00400000 | SFLAG_HURTSPAWNBLOOD | Actor will spawn blood as hardcoded enemies do when hurt. | |
Yes | 8388608 | 0x00800000 | 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 | 0x01000000 | 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 | 0x02000000 | 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 | 0x04000000 | SFLAG_DAMAGEEVENT | Actor fires EVENT_(POST)DAMAGESPRITE when damaged. | |
Yes | 134217728 | 0x08000000 | SFLAG_NOWATERSECTOR | Will prevent a sprite from moving into water. | |
Yes | 268435456 | 0x10000000 | SFLAG_QUEUEDFORDELETE |
Defines |
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 |