Callback: Animation control
From GRFSpecs
Jump to navigationJump to searchAnimation control (1B/1C/25/140/148/152/159)
These callbacks are called, when an animation trigger happens.
Callback | Feature | Mask property | Trigger | Variable 10 | Variable 18 |
---|---|---|---|---|---|
1B | Houses | Property 14 bit 2 | Periodic, see property 16 [1] | ![]() ![]() |
Reserved for future use |
1C | Houses | Property 14 bit 3 | Construction stage changes [3] | Reserved for future use | Reserved for future use |
25 | Industry tiles | Property 11 | All triggers, see variable 18 | ![]() ![]() |
See property 11 |
140 | Stations, road stops | Station property 18, road stop property 10 | All triggers, see variable 18 | ![]() ![]() |
See station property 18 |
148 | Houses | Property 1E | Watched cargo accepted [5] | Reserved for future use | See property 1E |
154 | Airport tiles | Property 11 | All triggers, see variable 18 | Random bits | See property 11 |
159 | Objects | Property 13 | All triggers, see variable 18 | Random bits | See property 13 |
- ↑ For multi-tile houses property 19 bit 2 controls, whether the trigger is synchronised across all house tiles. See details there.
- ↑ Lower 16 bits are random per tile. Upper 16 bits are the same for all tiles, if property 19 bit 2 is set.
- ↑ Called during normal gameplay (3 times per tile), not during map generation.
- ↑ 4.0 4.1 Lower 16 bits are random per tile. Upper 16 bits are the same for all tiles, if the trigger applies to multiple tiles.
- ↑ Due to implementation details, up to 250 game ticks can pass between the actual acceptance and triggering this callback.
The return value has the format SSFF:
- FF: One of the following values:
Value Meaning 00 - FC Jump to this animation frame. FD leave the animation in its current state (do nothing) FE start animation with its current frame FF stop animation in its current frame
- SS: Sound effect: If non-zero, the sound effect number to play at the tile.
Note: Every time the animation frame is changed the map tile will be refreshed, even if the selected graphics stay the same. Therefore using the animation frame as a timer should be avoided, and animation triggers should be preferred instead.