http://maniacsvault.net/ecwolf/w/index.php?title=Actor_states&feed=atom&action=history Actor states - Revision history 2024-03-29T07:05:38Z Revision history for this page on the wiki MediaWiki 1.35.8 http://maniacsvault.net/ecwolf/w/index.php?title=Actor_states&diff=489&oldid=prev Blzut3: /* Usage */ 2013-02-20T19:22:02Z <p><span dir="auto"><span class="autocomment">Usage</span></span></p> <table class="diff diff-contentalign-left diff-editfont-monospace" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="en"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:22, 20 February 2013</td> </tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l4" >Line 4:</td> <td colspan="2" class="diff-lineno">Line 4:</td></tr> <tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The states are defined in the '''states''' block.  Each state has the following syntax.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The states are defined in the '''states''' block.  Each state has the following syntax.</div></td></tr> <tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>  [StateLabel:]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>  [StateLabel:]</div></td></tr> <tr><td class='diff-marker'>−</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>   ''sprite'' ''frames'' ''duration'' [''flags''] [''[[action function]]'' [''ticker'']]</div></td><td class='diff-marker'>+</td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>   ''sprite'' ''frames'' ''duration'' [''flags''] [''[[<ins class="diffchange diffchange-inline">Action functions|</ins>action function]]'' [''ticker'']]</div></td></tr> <tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>   [''control flow'']</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>   [''control flow'']</div></td></tr> <tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr> </table> Blzut3 http://maniacsvault.net/ecwolf/w/index.php?title=Actor_states&diff=488&oldid=prev Blzut3: Technical actor state information. I think I got everything supported by ECWolf. 2013-02-20T19:19:33Z <p>Technical actor state information. I think I got everything supported by ECWolf.</p> <p><b>New page</b></p><div>Actor states are the frames of animation used to define the behavior of an actor in [[DECORATE]].<br /> <br /> == Usage ==<br /> The states are defined in the '''states''' block. Each state has the following syntax.<br /> [StateLabel:]<br /> ''sprite'' ''frames'' ''duration'' [''flags''] [''[[action function]]'' [''ticker'']]<br /> [''control flow'']<br /> <br /> * '''StateLabel'''<br /> :A state label is name given to the state immediately following. These are used to define jump points in the animation. Some labels are used for various purposes within the engine. Multiple state labels may be assigned to a single state.<br /> * '''sprite'''<br /> :Four character code that corresponds to the sprite to display for the state. ''TNT1'' can be used if no sprite is desired.<br /> * '''frames'''<br /> :Frame letter to use for the state. As a shortcut, multiple frames can be specified. They will be expanded to consecutive states differing only in the frame letter.<br /> * '''duration'''<br /> :How many tics (1/35th of a second) the state should be held. Half durations are allowed since Wolfenstein has a 70hz tic rate. A duration of -1 is defined as infinite.<br /> * '''flags'''<br /> :Currently the only flag supported is '''BRIGHT''' which specifies that the frame should be rendered full bright.<br /> * '''action function''' and '''ticker'''<br /> :Code pointers to execute. The action function is executed at the start of the state (before it is displayed). The ticker function is executed at the end of every tic (will not be executed on states with a 0 duration). If only the ticker function is desired then ''NOP'' can be used in place of the action function.<br /> <br /> === Control flow ===<br /> By default each state continues on to the state immediately following. This can be changed to any of the following:<br /> * '''goto StateLabel'''[+'''offset''']<br /> :Jumps to the specified state label with an optional offset. Note that this is resolved statically so if the label is redefined in a child actor, this will still goto the label in this actor (not the child). [[A_Jump]] can be used if dynamic resolution is desired.<br /> * '''loop'''<br /> :Jumps to the last defined state label.<br /> * '''wait'''<br /> :Repeats the previously defined state indefinitely. Used for functions like [[A_Raise]] where they are expected to jump after a certain period of time. Note that if multiple frames are given this will wait at the last frame.<br /> * '''stop'''<br /> :Removes the actor from the game.<br /> <br /> == States ==<br /> The following state labels are automatically used for various purposes by the engine.<br /> * '''Spawn'''<br /> :The initial state for all actors entering the game.<br /> * '''Path'''<br /> :Used in place of the Spawn state when the actor is set to follow a path.<br /> * '''See'''<br /> :Used when the actor should be chasing its target (usually the player).<br /> * '''Melee'''<br /> :Defines a melee range attack.<br /> * '''Missile'''<br /> :Defines a long range attack.<br /> * '''Pain'''<br /> :Randomly used when an actor is attacked based on the {{property|PainChance}}.<br /> * '''Death'''<br /> :Jumped to when the actor reaches 0 health or when a projectile hits a wall.<br /> * '''XDeath'''<br /> :Jumped to when an actor reaches a significantly negative amount of health or when a projectile hits an actor.<br /> <br /> == See also ==<br /> * [[ZDoom:Actor states|Actor states]] on the ZDoom wiki.</div> Blzut3