Difference between revisions of "NML:Replace TTD sprites"

From GRFSpecs
Jump to navigationJump to search
m (Add link to page with terrain sprite numbers (tile list))
(make clearer when replace and replacenew need be used)
Line 13: Line 13:
 
}
 
}
   
respectively
+
respectively.
  +
  +
<b>Note</b>: this only applies for the sprites in the five base grfs (thus up to sprite #4984 when looking at sprite numbers in OpenTTD), but not to the sprites defined in a base set's extra grf - they require the <code style="color:darkgreen">[[NML:Replace new sprites|replacenew]]</code> command.
   
 
A <code style="color:darkgreen">&lt;block_name&gt;</code> is optional but required, if you want to define [[NML:Alternative sprites|alternative sprites]] for the sprite block so that it can be referenced there.
 
A <code style="color:darkgreen">&lt;block_name&gt;</code> is optional but required, if you want to define [[NML:Alternative sprites|alternative sprites]] for the sprite block so that it can be referenced there.

Revision as of 01:21, 20 February 2013

Block Syntax

Using a replace block, it is possible to replace TTD's built-in sprites or for base grfs to define sprites via the base_graphics block. Unlike many other features, this is the only way to change the terrain (see the tile list for a list of terrain sprites). The syntax is as follows:

replace [<block_name>](<sprite-id>[, <image-file>]) {
	list of realsprites
}

and

base_graphics [<block_name>](<sprite-id>[, <image-file>]) {
	list of realsprites
}

respectively.

Note: this only applies for the sprites in the five base grfs (thus up to sprite #4984 when looking at sprite numbers in OpenTTD), but not to the sprites defined in a base set's extra grf - they require the replacenew command.

A <block_name> is optional but required, if you want to define alternative sprites for the sprite block so that it can be referenced there.

The first parameter <sprite-id> indicates the sprite number of the first sprite to replace. Sprite numbers are equal to the sprite numbers in the base graphics file. The OpenGFX author overview can be used as a reference to look up these sprite numbers.

The second parameter <image-file> (optional) specifies the default image file to use for the new sprites.

A series of real (or recolour) sprites has to be specified between the curly braces ({ and }). The first sprite in this list replaces the sprite with id sprite-id, the second replaces sprite-id + 1 and so on. Sprite templates can be used as well. For example:

 // Rail overlays for crossings
 replace rail_overlays(1005, "src/gfx/rails_overlays.png") {
 		[ 20,198, 40,21, -20,  5]
 		[ 71,198, 40,21, -20,  5]
 		[117,198, 40, 7, -20,  5]
 		[165,198, 40, 7, -20, 21]
 		[216,198, 12,19,  10,  5]
 		[248,198, 12,19, -24, 11]
 }