Cstator

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

cstator <number>

Sets flags for how to draw an actor, as well as afew flags for interaction. This function bitwise ors <number> with the present cstat instead of simply setting the cstat to the value given. Useful for adding flags after the fact.

See also cstat.

Flags

The following values are used with sprite cstat.

Exposed Value Label Description
No 1 CSTAT_SPRITE_BLOCK Make sprite blockable
No 2 CSTAT_SPRITE_TRANSLUCENT Make sprite transparent
No 4 CSTAT_SPRITE_XFLIP Flip sprite around x-axis
No 8 CSTAT_SPRITE_YFLIP Flip sprite around y-axis
No 16 CSTAT_SPRITE_WALL Draw sprite as vertically flat (wall aligned)
No 32 CSTAT_SPRITE_FLOOR Draw sprite as horizontally flat (floor aligned)
No 64 CSTAT_SPRITE_ONE_SIDE Make sprite one sided
No 128 CSTAT_SPRITE_YCENTER Half submerged
No 256 CSTAT_SPRITE_BLOCK_HITSCAN Make sprite able to be hit by weapons
No 512 CSTAT_SPRITE_TRANS_FLIP Second transparency level (combine with cstat 2)
No 1024 Sprite will take priority being drawn over other sprites (may be subject to change)
No 2048 CSTAT_SPRITE_NOSHADE Sprite will not be forced to take shade of sector
No 8192 Sprite will not cast a Polymer shadow
No 16384 Sprite will be invisible but will still cast a Polymer shadow
No 32768 CSTAT_SPRITE_INVISIBLE Invisible (do not render, skip EVENT_ANIMATESPRITES)
Defines
define CSTAT_SPRITE_BLOCK               0x00000001
define CSTAT_SPRITE_TRANSLUCENT         0x00000002
define CSTAT_SPRITE_XFLIP               0x00000004
define CSTAT_SPRITE_YFLIP               0x00000008
define CSTAT_SPRITE_WALL                0x00000010
define CSTAT_SPRITE_FLOOR               0x00000020
define CSTAT_SPRITE_ONE_SIDE            0x00000040
define CSTAT_SPRITE_YCENTER             0x00000080
define CSTAT_SPRITE_BLOCK_HITSCAN       0x00000100
define CSTAT_SPRITE_TRANS_FLIP          0x00000200
define CSTAT_SPRITE_NOSHADE             0x00000800
define CSTAT_SPRITE_INVISIBLE           0x00008000