Difference between revisions of "NML:Changes 0.3"

From GRFSpecs
Jump to navigationJump to search
m (→‎Base costs: typo in link)
m (Add 'date_of_last_service' to changed variables)
Line 14: Line 14:
 
The callback "availability" is no longer available. Use the callback "construction_probability" instead.
 
The callback "availability" is no longer available. Use the callback "construction_probability" instead.
   
== Heights ==
+
== Changed variables ==
  +
  +
=== snowline_height ===
 
The "snowline_height" variable returns the height in tiles instead of pixels (=tiles*8).
 
The "snowline_height" variable returns the height in tiles instead of pixels (=tiles*8).
   
  +
=== nearby_tile_height ===
 
The "nearby_tile_height" variable returns the height in tiles instead of pixels (=tiles*8).
 
The "nearby_tile_height" variable returns the height in tiles instead of pixels (=tiles*8).
  +
  +
=== date_of_last_service ===
  +
This variable is no longer limited to the range of 1920 ... 2050. It returns now the year 0-based date.
   
 
== Base costs ==
 
== Base costs ==

Revision as of 10:33, 6 January 2012

Introduction

Between NML 0.2.x and NML 0.3.x (and their corresponding nightlies) the generated NewGRF version by NML changed from v7 to v8. This brings lot of advantages, but requires a few changes to existing NML files. NewGRFs thus will require a minimum OpenTTD version of 1.2.0 (r23166).

Callbacks

NML 0.3 only supports the new style callbacks. Thus all callback_flag properties have been removed as have the callback flag constants *CBF*. For a complete list of affected constants see the related commit

New named constants

A few constants have recently been introduced in both NML 0.2 and 0.3 that make the transition easier. Make sure to use them. For callback "articulated_part" use CB_RESULT_NO_MORE_ARTICULATED_PARTS and/or CB_RESULT_REVERSED_VEHICLE instead of hard-coded 0xFF / 0x80. For callbacks "cargo_subtype_text", "cargo_subtype_display" and "start_stop" use CB_RESULT_NO_TEXT instead of hard-coded 0xFF.

Industry availability

The callback "availability" is no longer available. Use the callback "construction_probability" instead.

Changed variables

snowline_height

The "snowline_height" variable returns the height in tiles instead of pixels (=tiles*8).

nearby_tile_height

The "nearby_tile_height" variable returns the height in tiles instead of pixels (=tiles*8).

date_of_last_service

This variable is no longer limited to the range of 1920 ... 2050. It returns now the year 0-based date.

Base costs

Base costs are treated in NewGRF v8 (NML 0.3.x) differently than in NewGRF v7 (NML 0.2.x and earlier). Base costs do NOT influence eachother anymore. You'll need to set all base costs directly and cannot rely anymore that any are set indirectly. See the base costs table which will be influenced.