Difference between revisions of "User:Planetmaker"

From GRFSpecs
Jump to navigationJump to search
(add animation control CB)
m (adjust names)
Line 9: Line 9:
   
 
Vehicle Callbacks
 
Vehicle Callbacks
* [[Callback 10: Visual effect and wagon power]]
+
* [[Callback 10: Visual effect and wagon power| Callback: Visual effect and wagon power]]
* [[Callback 11: Wagon length]]
+
* [[Callback 11: Wagon length| Callback: Wagon length]]
 
* [[Callback: Animation control]]
 
* [[Callback: Animation control]]
   

Revision as of 16:48, 16 June 2011

Some test text for bot tests

-= With a title -=

||some |table 03| blub| blah 05| xy | blubber||


Vehicle Callbacks

Callback 10: Visual effect and wagon power Callback 11: Wagon length

Animation 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] Supported by OpenTTD Supported by TTDPatch 2.5 (beta 2)2.5 Random bits [2] Reserved for future use
1C Houses Property 14 bit 3 Construction stage changes [3] Supported by OpenTTD 1515 Not supported by TTDPatch Random bits Supported by OpenTTD 1515 Not supported by TTDPatch First call [4]
25 Industry tiles Property 11 All triggers, see variable 18 Supported by OpenTTD Supported by TTDPatch 2.5 (beta 2)2.5 Random bits [5] Trigger and more, see property 11
140 Stations, road stops Station property 18, road stop property 10 All triggers, see variable 18 Supported by OpenTTD Supported by TTDPatch 2.5 (beta 2)2.5 Random bits [5] Trigger and more, see station property 18
148 Houses Property 1E Watched cargo accepted [6] Reserved for future use See property 1E
154 Airport tiles Property 11 All triggers, see variable 18 Random bits [7] Trigger and more, see property 11
159 Objects Property 13 All triggers, see variable 18 Random bits [7] Trigger and more, see property 13
  1. For multi-tile houses property 19 bit 2 controls, whether the trigger is synchronised across all house tiles. See details there.
  2. Lower 16 bits are random per tile. Upper 16 bits are the same for all tiles, if property 19 bit 2 is set.
  3. During normal gameplay called 4 times per tile. During map generation called 1 time.
    Supported by TTDPatch For the first call to happen, you also have to set property 9 bit 5.
  4. Var 18 bit 0 is set, if the callback is called the first time for a new house. In-game the construction stage will be zero, at map generation and in scenario editor, it will be 3.
    Other bits of var 18 are reserved, and must be masked.
  5. 5.0 5.1 Lower 16 bits are random per tile. Upper 16 bits are the same for all tiles, if the trigger applies to multiple tiles.
  6. Due to implementation details, up to 250 game ticks can pass between the actual acceptance and triggering this callback.
  7. 7.0 7.1 Supported by OpenTTD 1515 Not supported by TTDPatch Lower 16 bits are random per tile. Upper 16 bits are the same for all tiles, if the trigger applies to multiple tiles.

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.