Difference between revisions of "Callback: Additional text in purchase screen"
(six registers instead of four) |
(feature 48 is wrong, callback ids must be checked as word) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Additional text in purchase screen (23) == |
== Additional text in purchase screen (23) == |
||
− | This callback |
+ | This callback can be used to append text below the vehicle information in the purchase screen. The callback is always used when defined, no bit in the action 0 property needs to be set to activate it. |
+ | A text string for the feature in the D0XX range must be defined before using this callback. The return value of this callback is the XX of a D0XX string ID. |
||
⚫ | |||
+ | As of r1908, text IDs D100..D3FF may also be returned. |
||
⚫ | |||
+ | |||
+ | {{grfFrom|8}} Since GRF version 8 the value 400 can be returned to display no text. In older versions it is necessary to fail the callback. |
||
{{ottdp|1.2|no|ottdrev=r23045}} Since OpenTTD r23045 the contents of registers 100h..105h are copied onto the text reference stack. |
{{ottdp|1.2|no|ottdrev=r23045}} Since OpenTTD r23045 the contents of registers 100h..105h are copied onto the text reference stack. |
||
+ | |||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | |||
+ | |||
+ | Example for setting additional text for a road vehicle: |
||
+ | |||
+ | // Define string with ID D001 for featur 01. Bit 7 of the language byte must be set to 1, because the string ID is a word. |
||
+ | 4 * 32 04 01 83 01 \wxD001 "Hint: This is a " 0D "new line." 00 |
||
+ | // The callback |
||
+ | 5 * 14 02 01 10 85 0C 00 \wxFFFF 01 \wx8001 \wx23 \wx23 02 00 |
||
[[Category:Callbacks]] |
[[Category:Callbacks]] |
Latest revision as of 19:42, 17 October 2013
Additional text in purchase screen (23)
This callback can be used to append text below the vehicle information in the purchase screen. The callback is always used when defined, no bit in the action 0 property needs to be set to activate it.
A text string for the feature in the D0XX range must be defined before using this callback. The return value of this callback is the XX of a D0XX string ID.
As of r1908, text IDs D100..D3FF may also be returned.
GRFv≥8 Since GRF version 8 the value 400 can be returned to display no text. In older versions it is necessary to fail the callback.
1.2 Since OpenTTD r23045 the contents of registers 100h..105h are copied onto the text reference stack.
Lines are wrapped automatically, or may be broken explicitly using the newline character 0D. How many lines are available depends on the type of vehicle and its other properties, for instance the presence or absence of a "refittable to" line or powered wagons etc.
If cargo FF (buy menu sprite) is handled explicitly for a vehicle, then the varaction 2 handling callback 23 must be in the buy menu varaction 2 chain.
Example for setting additional text for a road vehicle:
// Define string with ID D001 for featur 01. Bit 7 of the language byte must be set to 1, because the string ID is a word. 4 * 32 04 01 83 01 \wxD001 "Hint: This is a " 0D "new line." 00 // The callback 5 * 14 02 01 10 85 0C 00 \wxFFFF 01 \wx8001 \wx23 \wx23 02 00