Action

From EDukeWiki
Revision as of 09:42, 25 September 2017 by Fox (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

An action is an animation for an actor. Actions are defined outside of an actor.

action <name> <startframe> <frames> <viewtype> <incvalue> <delay>

An action is an animation for an actor. Actions are defined outside of an actor.

<name> is the name of the action.

<startframe> is the starting frame number (relative to the main sprite of the actor).

<frames> is the total number of frames in the action. Must be at least 1.

<viewtype> is the number of sides drawn for the actor. Prior to 3D models, this method was used to simulate a 3D appearance for sprites. Valid values are:

1 - The sprite will appear the same regardless of the angle at which it is viewed.
3 - The sprite will have 16 angles built from only 4 art tiles. A new frame is drawn every 22.5 degrees in a clockwise pattern beginning with the front of the sprite. The pattern is as follows, with 1, 2, 3, and 4 being the order of the four tiles used, and M denoting that the tile is mirrored: 1M, 2M, 3M, 4M, 4, 3, 2, 1, 1M, 2M, 3M, 4M, 4, 3, 2, 1.
5 - The sprite will have 8 angles constructed from 5 art tiles, three of which are mirrored. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 4M, 3M, 2M.
7 - The sprite will have 12 angles constructed from 7 art tiles, five of which are mirrored. A new frame is drawn every 30 degrees in a clockwise pattern beginning with the front of the sprite using the following pattern: 1, 2, 3, 4, 5, 6, 7, 6M, 5M, 4M, 3M, 2M.
8 - The sprite will have 8 angles constructed from 8 art tiles. A new frame is drawn every 45 degrees in a clockwise pattern beginning with the front of the sprite using the simple pattern: 1, 2, 3, 4, 5, 6, 7, 8.

<incvalue> is the direction of the animation. 1 to advance forward, -1 to go back.

<delay> is the delay between frames.

The delay change everytime you add a value of 4, in other words, 1-3 has the same result as zero, 5-7 same as 4, etc.

Also the delay is not proportional to the value, setting 16 doesn't mean double of speed than 8, the calculation is done with this: the speed of a delay 0 equal to a tic counter; the speed of a delay 4 is 1/2 of it; 8 is 1/3; 12 is 1/4; 16 is 1/5; 20 is 1/6; etc.


To call an action from within an actor simply put:

action <name>

Note: Every frame advance adds 1 to actioncount. To reset an animation, either call the action again or use resetactioncount. Starting a new animation will also reset actioncount to 0.