Difference between revisions of "ReadingPatchVariables"
From GRFSpecs
Jump to navigationJump to searchm (Beautify wiki markup) |
(→variable: 0x17: Map seed) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
− | Since 2.0.1 alpha 48, it has been possible to use action D to read various special Patch variables. These are usually switch values, but there are also a few other useful values. |
+ | Since TTDPatch 2.0.1 alpha 48, it has been possible to use action D to read various special Patch variables. These are usually switch values, but there are also a few other useful values. |
== Syntax == |
== Syntax == |
||
Line 35: | Line 35: | ||
{| |
{| |
||
− | !variable!!Switch!!Value |
+ | !variable!!Switch!!Version!!Value |
− | |||
|- |
|- |
||
− | |00||miscmods/-Yo||Bit switch |
+ | |00||miscmods/-Yo||{{ottdp|no|2.5}}||Bit switch |
− | |||
|- |
|- |
||
− | |01||experimentalfeatures/-XF||Bit switch |
+ | |01||experimentalfeatures/-XF||{{ottdp|no|2.5}}||Bit switch |
− | |||
|- |
|- |
||
− | |02||morevehicles/-x||Vehicle array multiplier |
+ | |02||morevehicles/-x||{{ottdp|no|2.5}}||Vehicle array multiplier |
− | |||
|- |
|- |
||
− | |03||mountains |
+ | |03||mountains and curves/-mc||{{ottdp|no|2.5}}||Two bytes with four sets of two bits |
− | |||
|- |
|- |
||
− | |04||planecrashcontrol/-Xc||Bit switch |
+ | |04||planecrashcontrol/-Xc||{{ottdp|no|2.5}}||Bit switch |
− | |||
|- |
|- |
||
− | |05||autorenew/-Xa||Signed value |
+ | |05||autorenew/-Xa||{{ottdp|no|2.5}}||Signed value |
− | |||
|- |
|- |
||
− | |06||multihead/-M||Speed increase, in percent |
+ | |06||multihead/-M||{{ottdp|no|2.5}}||Speed increase, in percent |
− | |||
|- |
|- |
||
− | |07||disasters/-XD||Bit switch |
+ | |07||disasters/-XD||{{ottdp|no|2.5}}||Bit switch |
− | |||
|- |
|- |
||
− | |08||unifiedmaglev/-XM||Unified maglev mode |
+ | |08||unifiedmaglev/-XM||{{ottdp|no|2.5}}||Unified maglev mode |
− | |||
|- |
|- |
||
− | |09||bridgespeedlimits/-XX||Speed fraction, in percent |
+ | |09||bridgespeedlimits/-XX||{{ottdp|no|2.5}}||Speed fraction, in percent |
− | |||
|- |
|- |
||
− | |0A||---||TTD Language, see the "new scheme" for [[Action4#language id|action 4]] |
+ | |0A||---||{{ottdp|no|2.5}}||TTD Language, see the "new scheme" for [[Action4#language id|action 4]] |
− | |||
|- |
|- |
||
− | |0B||startyear/-XY||Year-1920 |
+ | |0B||startyear/-XY||{{ottdp|0.6|2.5}}||Year-1920 |
− | |||
|- |
|- |
||
− | |0C||morebuildoptions/-YB||Bit switch |
+ | |0C||morebuildoptions/-YB||{{ottdp|no|2.5}}||Bit switch |
− | |||
|- |
|- |
||
− | |0D||moresteam/-YM||value=LF (two hex digits), L=length, F=frequency |
+ | |0D||moresteam/-YM||{{ottdp|no|2.5}}||value=LF (two hex digits), L=length, F=frequency |
− | |||
|- |
|- |
||
− | |0E||freighttrains/-Yf||weight factor |
+ | |0E||freighttrains/-Yf||{{ottdp|0.6|2.5}}||weight factor |
− | |||
|- |
|- |
||
− | |0F||wagonspeedlimits/-YL||Speed increase for empty wagons |
+ | |0F||wagonspeedlimits/-YL||{{ottdp|0.6|2.5}}||Speed increase for empty wagons |
− | |||
|- |
|- |
||
− | |10||planespeed/-YP||speed factor |
+ | |10||planespeed/-YP||{{ottdp|0.6|2.5}}||speed factor |
− | |||
|- |
|- |
||
− | |11||dual company colors||2CC colormap base sprite |
+ | |11||dual company colors||{{ottdp|0.6|2.5|ttdprev=r1404}}||2CC colormap base sprite |
− | |||
|- |
|- |
||
− | |12||miscmods2/-Zm||Bit switch |
+ | |12||miscmods2/-Zm||{{ottdp|no|2.6|ttdprev=r1738}}||Bit switch |
− | |||
|- |
|- |
||
− | |13||map size information||Format = -MABXYSS |
+ | |13||map size information||{{ottdp|0.6|2.6|ottdrev=r11961|ttdprev=r1817}}||Format = -MABXYSS |
+ | {| |- |
||
− | |||
+ | | M || the type of map |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
− | | |
+ | |A || minimum edge(log2) of the map |
− | |||
|- |
|- |
||
⚫ | |||
⚫ | |||
− | |||
|- |
|- |
||
⚫ | |||
⚫ | |||
− | |||
|- |
|- |
||
− | | |
+ | |SS || combination of both X and Y, thus giving the size(log2) of the map |
− | |||
|- |
|- |
||
+ | |} |
||
⚫ | |||
⚫ | |||
− | |||
|- |
|- |
||
+ | |14||maximum height level||{{ottdp|1.2|no|ottdrev=r23158}}||Maximal possible height level of a tile. {{ottdp|1.5|no|ottdrev=r27010}}Any value between 1 and 255. In earlier versions fixed at 15. |
||
⚫ | |||
− | |||
|- |
|- |
||
+ | |15||extra foundations||{{ottdp|1.4|no|ottdrev=r25230}}||Extra foundation sprites as set via [[Action5|Action 5 type 06]]. This sprite block does only contain the extra foundations from Action 5, it does not contain the default foundations of Action A sprites 990 to 1003. |
||
− | ||| ||SS : combination of both X and Y, thus giving the size(log2) of the map |
||
+ | |- |
||
− | |||
+ | |16||coast sprites||{{ottdp|1.4|no|ottdrev=r25230}}||All coast sprites in the order of the 16 sprites version of [[Action5#In_NewGRFs|Action 5 type 0D]]. Note that, it does not matter in which way the sprites were originally defined (whether via Action 5 with 10 or 16 sprites, or via Action A), the sprite block returned by this variable has always all sprites in the same order. |
||
|- |
|- |
||
+ | |17||map seed||{{ottdp|13.0|no|ottdrev=g08a5478a9}}||Map generation seed. |
||
⚫ | |||
|} |
|} |
||
Latest revision as of 13:20, 13 March 2022
Introduction
Since TTDPatch 2.0.1 alpha 48, it has been possible to use action D to read various special Patch variables. These are usually switch values, but there are also a few other useful values.
Syntax
<Sprite-number> * <Length> 0D <target> <operation> <variable> FE FF FF 00 00
Element | Size | Description |
---|---|---|
0D | B | Defines action 0D |
<target> | B | Target parameter |
<operation> | B | As for ActionD, but only assignment is valid. |
<variable> | B | Patch variable number to read. See below. |
FE | B | Defines a special variable access |
FF FF 00 00 | D | Indicates that a patch variable is being read |
variable
The following patch variables are defined:
variable | Switch | Version | Value | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | miscmods/-Yo | 2.5 | Bit switch | ||||||||||
01 | experimentalfeatures/-XF | 2.5 | Bit switch | ||||||||||
02 | morevehicles/-x | 2.5 | Vehicle array multiplier | ||||||||||
03 | mountains and curves/-mc | 2.5 | Two bytes with four sets of two bits | ||||||||||
04 | planecrashcontrol/-Xc | 2.5 | Bit switch | ||||||||||
05 | autorenew/-Xa | 2.5 | Signed value | ||||||||||
06 | multihead/-M | 2.5 | Speed increase, in percent | ||||||||||
07 | disasters/-XD | 2.5 | Bit switch | ||||||||||
08 | unifiedmaglev/-XM | 2.5 | Unified maglev mode | ||||||||||
09 | bridgespeedlimits/-XX | 2.5 | Speed fraction, in percent | ||||||||||
0A | --- | 2.5 | TTD Language, see the "new scheme" for action 4 | ||||||||||
0B | startyear/-XY | 0.6 2.5 | Year-1920 | ||||||||||
0C | morebuildoptions/-YB | 2.5 | Bit switch | ||||||||||
0D | moresteam/-YM | 2.5 | value=LF (two hex digits), L=length, F=frequency | ||||||||||
0E | freighttrains/-Yf | 0.6 2.5 | weight factor | ||||||||||
0F | wagonspeedlimits/-YL | 0.6 2.5 | Speed increase for empty wagons | ||||||||||
10 | planespeed/-YP | 0.6 2.5 | speed factor | ||||||||||
11 | dual company colors | 0.6 2.5 | 2CC colormap base sprite | ||||||||||
12 | miscmods2/-Zm | 2.6 | Bit switch | ||||||||||
13 | map size information | 0.6 2.6 | Format = -MABXYSS
All map sizes will be substracted by 6, as to keep the size 64 the smallest one, thus zero based | ||||||||||
14 | maximum height level | 1.2 | Maximal possible height level of a tile. 1.5 Any value between 1 and 255. In earlier versions fixed at 15. | ||||||||||
15 | extra foundations | 1.4 | Extra foundation sprites as set via Action 5 type 06. This sprite block does only contain the extra foundations from Action 5, it does not contain the default foundations of Action A sprites 990 to 1003. | ||||||||||
16 | coast sprites | 1.4 | All coast sprites in the order of the 16 sprites version of Action 5 type 0D. Note that, it does not matter in which way the sprites were originally defined (whether via Action 5 with 10 or 16 sprites, or via Action A), the sprite block returned by this variable has always all sprites in the same order. | ||||||||||
17 | map seed | 13.0 | Map generation seed. |
If experimentalfeatures, miscmods, or miscmods2 are off, the corresponding value will be zero. For all other switches, the value is unspecified if the switch is off, so action 7 variable 85 should be checked first.