Cstat: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
No edit summary
Fox (talk | contribs)
No edit summary
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
cstat <number>
'''cstat''' <number>


Sets flags for how to draw an actor, as well as a few flags for interaction.  Add all together all wanted flag values, and use that as <number>.  This is because cstat is a bitfield.
Set the [[cstat (sprite)|cstat]] of a sprite.


Cstat is available for [[sprite]] structs and for [[Members of the wall structure|wall]] structs.  See [[cstat(wall)]].
See also [[cstator]].


Flag values for sprite cstat are:
== Flags ==


:'''1''' - Make sprite blockable
{{Cstat}}
:'''2''' - Make sprite transparent
:'''4''' - Flip sprite around x-axis
:'''8''' - Flip sprite around y-axis
:'''16''' - Draw sprite as vertically flat (wall aligned)
:'''32''' - Draw sprite as horizontally flat (floor aligned)
:'''64''' - Make sprite one sided
:'''128''' - Half submerged
:'''256''' - Make sprite able to be hit by weapons
:'''512''' - Second transparency level (combine with cstat 2)
:'''32768''' - Invisible
 
Also see [[cstator]].


[[Category:Bitfields]]
[[Category:Duke3D 1.3/1.5 commands]]
[[Category:Duke3D 1.3/1.5 commands]]
[[Category:Sprite manipulation]]
[[Category:Sprite manipulation]]

Latest revision as of 16:56, 20 February 2020

cstat <number>

Set the cstat of a sprite.

See also cstator.

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