Difference between revisions of "NML:Replace new sprites"

From GRFSpecs
Jump to navigationJump to search
m (forgot some reference)
(Offsets for most action5 entries)
Line 32: Line 32:
 
|-
 
|-
 
| TTDP_GUI_25
 
| TTDP_GUI_25
 
| 73<ref name="no_offset" />
| 73
 
 
|-
 
|-
 
| TTDP_GUI
 
| TTDP_GUI
 
| 93<ref name="no_offset" />
| 93
 
 
|-
 
|-
 
| CANALS
 
| CANALS
Line 50: Line 50:
 
|-
 
|-
 
| SNOWY_TEMPERATE_TREES
 
| SNOWY_TEMPERATE_TREES
  +
| 133<ref name="no_offset" />
| 133
 
 
|-
 
|-
 
| COAST_TILES
 
| COAST_TILES
  +
| 16<ref name="no_offset">This type does not support the use of an offset. Thus the exact amount of sprites must be supplied.</ref>
| 16
 
 
|-
 
|-
 
| COAST_TILES_BASEGFX
 
| COAST_TILES_BASEGFX
  +
| 10<ref name="no_offset" />
| 10
 
 
|-
 
|-
 
| COAST_TILES_DIAGONAL
 
| COAST_TILES_DIAGONAL
  +
| 18<ref name="no_offset" />
| 18
 
 
|-
 
|-
 
| NEW_SIGNALS
 
| NEW_SIGNALS
Line 80: Line 80:
 
|-
 
|-
 
| FLAGS
 
| FLAGS
 
| 36
| 36 <ref name="offset">Any number of sprites can be specified up to the stated maximum. Furthermore the <code style="color:darkgreen">offset</code> variable can be used, see explanation of <offset> for more info.</ref>
 
 
|-
 
|-
 
| OTTD_GUI
 
| OTTD_GUI
  +
| 162
| 162 <ref name="offset" />
 
 
|-
 
|-
 
| AIRPORT_PREVIEW
 
| AIRPORT_PREVIEW
 
| 9
| 9 <ref name="offset" />
 
 
|}
 
|}
 
The amount of sprites has to be equal to the number given in the table, except in the cases of <ref name="not_supported" /> and <ref name="offset" />. Having less sprites results in an error. Having more sprites is allowed to provide future compatibility, but a warning will be issued.
 
   
 
Parameter two <code style="color:darkgreen">&lt;image-file&gt;</code> is a literal (quoted) string that specifies the file where the sprites are located.
 
Parameter two <code style="color:darkgreen">&lt;image-file&gt;</code> is a literal (quoted) string that specifies the file where the sprites are located.
   
Parameter <code style="color:darkgreen">&lt;offset&gt;</code> is optional and has a default value of 0. Values greater than zero are only allowed in the case of the sprite types marked with <ref name="offset" />. Setting this value sets an offset into the block of sprites, so only a subset of the sprites (starting at <code style="color:darkgreen">offset</code>) will be replaced.
+
Parameter <code style="color:darkgreen">&lt;offset&gt;</code> is optional and has a default value of 0. Setting this value sets an offset into the block of sprites, so only a subset of the sprites (starting at <code style="color:darkgreen">offset</code>) will be replaced. An offset is not allowed in the case of the sprite types marked with <ref name="no_offset" />. Don't use offsets, if you want you NewGRF compatible with TTDPatch.
   
 
<references />
 
<references />

Revision as of 18:52, 5 October 2011

Block Syntax

Over time, several features have been added to TTDPatch and OpenTTD that require new sprites. As these sprites are not present in the original base graphics, they cannot be replaced using a normal replace block. Instead, a replacenew block has to be used. The semantics are like this:

replacenew(<type>, <image-file>[, <offset>]) {
	list of realsprites
}

The <type> parameter indicates the type of sprites that will be replaced. It should be an identifier from the first column of the following table.

Type Number of sprites
PRE_SIGNAL 48
PRE_SIGNAL_SEMAPHORE 112
PRE_SIGNAL_SEMAPHORE_PBS 240
CATENARY 48
FOUNDATIONS_SLOPES 74
FOUNDATIONS_SLOPES_HALFTILES 90
TTDP_GUI_25 73[1]
TTDP_GUI 93[1]
CANALS 65
ONE_WAY_ROAD 6
COLOURMAP_2CC 256
TRAMWAY 113
SNOWY_TEMPERATE_TREES 133[1]
COAST_TILES 16[1]
COAST_TILES_BASEGFX 10[1]
COAST_TILES_DIAGONAL 18[1]
NEW_SIGNALS any [2]
SLOPED_RAILS 12
AIRPORTS 15
ROAD_STOPS 8
AQUEDUCTS 8
AUTORAIL 55
FLAGS 36
OTTD_GUI 162
AIRPORT_PREVIEW 9

Parameter two <image-file> is a literal (quoted) string that specifies the file where the sprites are located.

Parameter <offset> is optional and has a default value of 0. Setting this value sets an offset into the block of sprites, so only a subset of the sprites (starting at offset) will be replaced. An offset is not allowed in the case of the sprite types marked with [1]. Don't use offsets, if you want you NewGRF compatible with TTDPatch.

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 This type does not support the use of an offset. Thus the exact amount of sprites must be supplied.
  2. Any number of sprites is allowed here, however both OpenTTD and NML don't (yet) support the other features required to use these sprites.