Difference between revisions of "Callback: Animation control"

From GRFSpecs
Jump to navigationJump to search
m (→‎Animation control (1B/25/140/152/159): make notes an item list)
Line 13: Line 13:
 
|}
 
|}
   
For multi-tile town buildings, [[Action0Houses#Extra Flags 19|property 19/bit 2]] modifies this callback slightly, see details there.
+
* For multi-tile town buildings, [[Action0Houses#Extra Flags 19|property 19/bit 2]] modifies this callback slightly, see details there.
   
For industry tiles and stations, the low byte of variable 18 contains the reason for the call, i.e. the bit number of the event from [[Action0IndustryTiles#Triggers for callback 25 11|property 11]] or [[Action0Stations#Animation triggers 18|property 18]], accordingly.
+
* For industry tiles and stations, the low byte of variable 18 contains the reason for the call, i.e. the bit number of the event from [[Action0IndustryTiles#Triggers for callback 25 11|property 11]] or [[Action0Stations#Animation triggers 18|property 18]], accordingly.
   
Unlike callback 1B, callbacks 25, 140 and 159 are always used when defined, no bit in the action 0 property needs to be set to activate them.
+
* Unlike callback 1B, callbacks 25, 140 and 159 are always used when defined, no bit in the action 0 property needs to be set to activate them.
   
{{ottdp| |2.5|ttdprev=beta 2}} Since TTDPatch 2.5 beta 2, this callback gets random bits in variable 10, to allow randomizing changes.
+
* {{ottdp| |2.5|ttdprev=beta 2}} Since TTDPatch 2.5 beta 2, this callback gets random bits in variable 10, to allow randomizing changes.
   
For callback 1B, the exact randomness depends on bit 2 of property 19 (synchronized callback 1B). If the callback is synchronized, the high 16 bits will be the same for all tiles and the low 16 bits will be different for each tile. Otherwise, all 32 bits will be independent for each tile.
+
* For callback 1B, the exact randomness depends on bit 2 of property 19 (synchronized callback 1B). If the callback is synchronized, the high 16 bits will be the same for all tiles and the low 16 bits will be different for each tile. Otherwise, all 32 bits will be independent for each tile.
   
For [[Callbacks#Animation control (1B/25/140/152/159) |callback 25]], the randomness depends on the type of the event. For triggers that happen for the whole industry (triggers 2, 3 and 4), the high 16 bits will be the same for all tiles, while the low 16 bits will be different. For other triggers, all 32 bits are independent.
+
* For [[Callbacks#Animation control (1B/25/140/152/159) |callback 25]], the randomness depends on the type of the event. For triggers that happen for the whole industry (triggers 2, 3 and 4), the high 16 bits will be the same for all tiles, while the low 16 bits will be different. For other triggers, all 32 bits are independent.
   
For [[Callbacks#Animation control (1B/25/140/152/159) |callback 140]], the high 16 bits are the same for all tiles triggered, while the low 16 bits are different for each tile.
+
* For [[Callbacks#Animation control (1B/25/140/152/159) |callback 140]], the high 16 bits are the same for all tiles triggered, while the low 16 bits are different for each tile.
   
Like all animation callbacks, if the high byte of the result is nonzero, it will be interpreted as a sound effect number, and the corresponding sound effect will be played at the tile.
+
* Like all animation callbacks, if the high byte of the result is nonzero, it will be interpreted as a sound effect number, and the corresponding sound effect will be played at the tile.
 
[[Category:Callbacks]]
 
[[Category:Callbacks]]

Revision as of 23:26, 3 August 2011

Animation control (1B/25/140/152/159)

Called periodically, in a time interval specified in property 16 (houses) or when an animation trigger happens (industry tiles and stations). Returns the number of the frame the animation should jump to, or one of the following special values:

Value Meaning
FF stop animation in its current frame
FE start animation with its current frame
FD leave the animation in its current state (do nothing)
  • For multi-tile town buildings, property 19/bit 2 modifies this callback slightly, see details there.
  • For industry tiles and stations, the low byte of variable 18 contains the reason for the call, i.e. the bit number of the event from property 11 or property 18, accordingly.
  • Unlike callback 1B, callbacks 25, 140 and 159 are always used when defined, no bit in the action 0 property needs to be set to activate them.
  • Supported by OpenTTD Supported by TTDPatch 2.5 (beta 2)2.5 Since TTDPatch 2.5 beta 2, this callback gets random bits in variable 10, to allow randomizing changes.
  • For callback 1B, the exact randomness depends on bit 2 of property 19 (synchronized callback 1B). If the callback is synchronized, the high 16 bits will be the same for all tiles and the low 16 bits will be different for each tile. Otherwise, all 32 bits will be independent for each tile.
  • For callback 25, the randomness depends on the type of the event. For triggers that happen for the whole industry (triggers 2, 3 and 4), the high 16 bits will be the same for all tiles, while the low 16 bits will be different. For other triggers, all 32 bits are independent.
  • For callback 140, the high 16 bits are the same for all tiles triggered, while the low 16 bits are different for each tile.
  • Like all animation callbacks, if the high byte of the result is nonzero, it will be interpreted as a sound effect number, and the corresponding sound effect will be played at the tile.