NML:Error
From GRFSpecs
Jump to navigationJump to searchThe printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Vehicles, Stations, Canals, Bridges, Towns, Houses, Industries (Tiles), Cargos, Airports+Tiles, Objects, Railtypes, Roadtypes, Tramtypes, Terrain
The general form of an error statement is:
error(level, message[, extra_text[, parameter1[, parameter2]]]);
where
level
is the severity of the message and one ofNOTICE, WARNING, ERROR, FATAL
.
Severity | Meaning | Prefix | Action taken |
---|---|---|---|
NOTICE | Notice | (none) | continue loading grf file |
WARNING | Warning | "Warning: " | continue loading grf file |
ERROR | Error | "Error: " | continue loading grf file |
FATAL | Fatal error | "Error: " | abort loading of grf file |
message
can be either a user-defined string or it can be one of the pre-defined strings which already have translations. The first {STRING}-code will always be replaced by the NewGRF name. The second {STRING}-code (if present) will be replaced by the value ofextra_text
.extra_text
can be a string defined in the language files or it can be a literal string, in which case it cannot be translated. You should only use a literal string in those cases where you are sure it doesn't have to be translated, for example to provide a version string like "0.7.0".parameter1
,parameter2
are numeric parameters than can have any value, these can be used in the string using {COMMA}-codes.
name | actual text | Contents of extra_text |
---|---|---|
REQUIRES_TTDPATCH | "{STRING} requires at least TTDPatch version {STRING}" | version string |
REQUIRES_DOS_WINDOWS | "{STRING} is for the {STRING} version of TTD." | [DOS | Windows] Palette type |
USED_WITH | "{STRING} is designed to be used with {STRING}" | switchname + value, e.g. "multihead 0". This is designed to be used for incompatible settings that you can check via ttdpatch_flags. |
INVALID_PARAMETER | "Invalid parameter for {STRING}: parameter {STRING} ({COMMA})" | extra_text should be the parameter number written out as string. {COMMA} is replaced by the value of parameter1
|
MUST_LOAD_BEFORE | "{STRING} must be loaded before {STRING}." | NewGRF name of the other grf |
MUST_LOAD_AFTER | "{STRING} must be loaded after {STRING}." | NewGRF name of the other grf |
REQUIRES_OPENTTD | "{STRING} requires OpenTTD version {STRING} or better." | version string |
string(STR_MY_ERROR_MESSAGE) | (user-defined string) | The message-string can use the code {STRING} up to 2 times, the first usage will be replaced by the NewGRF name and the second usage by extra_text . After 2 {STRING}-codes you can include up to 2 {COMMA}-codes that will be replaced by the contents of parameter1 and parameter2 . See also the note below.
|
For example:
error(NOTICE, USED_WITH, string(STR_REGRESSION_CARE)); error(FATAL, string(STR_REGRESSION_ERROR), string(STR_ANSWER), 14, param[1] + 12 * param[2]);
Note that only the following combinations of string codes are valid in custom strings:
- {STRING}
- {STRING}{STRING}
- {STRING}{STRING}{COMMA}
- {STRING}{STRING}{COMMA}{COMMA}