Difference between revisions of "ReadingOtherGRFParameters"

From GRFSpecs
Jump to navigationJump to search
(Updated table syntax)
(if only assignment is valid, then put it directly into the syntax)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
'''''Reading another GRF file's parameters'''''
 
 
 
==Introduction==
 
==Introduction==
   
Since 2.0.1 alpha 16, it has been possible to use action D to read the parameters of other GRF files. With this, you can try to use the settings for another related GRF before falling back to a hard coded default.
+
Since TTDPatch 2.0.1 alpha 16, it has been possible to use action D to read the parameters of other GRF files. With this, you can try to use the settings for another related GRF before falling back to a hard coded default.
   
==Format==
+
== Format ==
   
<pre> -+&lt;Sprite-number&gt; * &lt;Length&gt; 0D &lt;target&gt; &lt;operation&gt; &lt;param&gt; FE &lt;grfid&gt;+-</pre>
+
<pre> &lt;Sprite-number&gt; * &lt;Length&gt; 0D &lt;target&gt; 00 &lt;param&gt; FE &lt;GRFID&gt;</pre>
   
 
{| class="wikitable"
 
{| class="wikitable"
Line 23: Line 20:
 
|B
 
|B
 
|Target parameter
 
|Target parameter
|-
 
|&lt;operation&gt;
 
|B
 
|As for [[ActionD#operation|action D]], but only assignment is valid.
 
 
|-
 
|-
 
|&lt;param&gt;
 
|&lt;param&gt;
Line 36: Line 29:
 
|Defines a special variable access
 
|Defines a special variable access
 
|-
 
|-
|&lt;grfid&gt;
+
|&lt;GRFID&gt;
 
|D
 
|D
 
|The GRFID whose parameter you want to read
 
|The GRFID whose parameter you want to read
 
|}
 
|}
   
This will store parameter &lt;param&gt; of the GRF file with grfid &lt;grfid&gt; into the &lt;target&gt;
+
This will store parameter &lt;param&gt; of the GRF file with GRFID &lt;GRFID&gt; into the &lt;target&gt;
   
 
With parameter FE you can read the action 14 NewGRF version of another NewGRF in OpenTTD. It returns 0 if no NewGRF version has been set by an action 14.
 
With parameter FE you can read the action 14 NewGRF version of another NewGRF in OpenTTD. It returns 0 if no NewGRF version has been set by an action 14.
   
If the GRF ID cannot be found, or if the parameter is not defined, a value of 0 is used instead (no matter whether bit 7 of the operation is set or not).
+
If the GRFID cannot be found, or if the parameter is not defined, a value of 0 is used instead (no matter whether bit 7 of the operation is set or not).

Latest revision as of 16:55, 18 March 2015

Introduction

Since TTDPatch 2.0.1 alpha 16, it has been possible to use action D to read the parameters of other GRF files. With this, you can try to use the settings for another related GRF before falling back to a hard coded default.

Format

 <Sprite-number> * <Length> 0D <target> 00 <param> FE <GRFID>
Element Size Description
0D B Defines action 0D
<target> B Target parameter
<param> B Parameter number of the other GRF file that you want to read
FE B Defines a special variable access
<GRFID> D The GRFID whose parameter you want to read

This will store parameter <param> of the GRF file with GRFID <GRFID> into the <target>

With parameter FE you can read the action 14 NewGRF version of another NewGRF in OpenTTD. It returns 0 if no NewGRF version has been set by an action 14.

If the GRFID cannot be found, or if the parameter is not defined, a value of 0 is used instead (no matter whether bit 7 of the operation is set or not).