NML:Elementary values
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
Elementary values in expressions are
Element | Syntax (Python RE) | Description |
---|---|---|
Decimal number | [0-9]+ | one or more digits |
Hexadecimal number | 0x[0-9A-Fa-f]+ | "0x" followed by one or more hexadecimal digits |
Floating point number | [0-9]+\.[0-9]+ | a decimal number, a dot, and another decimal number. Only supported for some properties that expect a floating point number. |
Identifier | [a-zA-Z_][a-zA-Z0-9_]* | a letter or underscore, optionally followed by more letters, digits, or underscore characters |
String | "([^"\\]|\\.)*" | A double quote character, followed by zero or more characters, ending with another double quote character. A character in-between is any single character except a double quote or a back-slash ("\"). It can also be "\\", "\n", "\t", or "\[0-9A-Fa-f][0-9A-Fa-f]" (a back-slash followed by exactly two hexadecimal digits). |
Setting | an Identifier |
The name of a GRF setting |
Parameter | param[<num>] | Read/write the parameter with the given number. |
Parameter from another GRF | param[<grfid>, <num>] | Read the value of a parameter of another grf |
Unit | mph|km/h|m/s|hp|kW|hpI|hpM|tons|ton|kg|snow% |
See the section on units. |
You can combine those elementary values using operators like you're used to from other languages. The following operators are supported:
- Arithmetic operators: +, -, *, /, %
- Bitwise/logic operators: &, |, ^, &&, ||, <<, >>
- Comparison operators: ==, !=, <=, >=, <, >
- Ternary operator: ? : (only for integers)