Difference between revisions of "NML:Badges"
From GRFSpecs
Jump to navigationJump to search (Simple site for badges) |
(→Badge properties: For sake of compatibility and user experience.) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 14: | Line 14: | ||
| label |
| label |
||
| string with <code style="color:green">/</code> as delimiter |
| string with <code style="color:green">/</code> as delimiter |
||
| + | | ''' For sake of compatibility and user experience, consider using [[NML:Badge labels|labels already introduced]] by other NewGRFs.''' |
||
| − | + | Badges with label without <code style="color:green">/</code> are considered to be classes. |
|
Labels for other badges should match following syntax: |
Labels for other badges should match following syntax: |
||
<code style="color:green">"label_of_class_they_belong_to/label_for_the_badge"</code> |
<code style="color:green">"label_of_class_they_belong_to/label_for_the_badge"</code> |
||
| Line 21: | Line 22: | ||
| string |
| string |
||
| Name of this badge or badge class. |
| Name of this badge or badge class. |
||
| + | |- |
||
| + | | flags |
||
| + | | bitmask(BADGE_FLAG_XXX, ...); |
||
| + | | |
||
| + | ; COPY_TO_RELATED_ENTITY |
||
| + | : Badge can be copied to related entity (e.g. badge on a railtype can be copied to rail vehicles of that railtype.) |
||
| + | ; NAME_LIST_STOP |
||
| + | : Stops adding more names to the visible name list. |
||
| + | ; NAME_LIST_FIRST_ONLY |
||
| + | : Add this name to the visible name list only if this is the first name. |
||
| + | ; USE_COMPANY_COLOUR |
||
| + | : Recolour badge depending on company that player currently controls. |
||
| + | ; NAME_SKIP |
||
| + | : Allow the badge to be excluded from the badge name list. |
||
|} |
|} |
||
| Line 29: | Line 44: | ||
! value range |
! value range |
||
! comment |
! comment |
||
| + | |- |
||
| + | | intro_date |
||
| + | | date(yyyy, mm, dd) |
||
| + | | Introduction date of entity (or current date if entity type does not have an introduction date). See <code style="color: green">introduction_date</code> in [[NML:Vehicles#Properties common to all vehicle types|vehicle properties]]. |
||
|} |
|} |
||
| Line 41: | Line 60: | ||
| spriteset |
| spriteset |
||
| Graphics for the badge or badge class. |
| Graphics for the badge or badge class. |
||
| + | |- |
||
| + | | |
||
| + | aircraft<br> |
||
| + | airports<br> |
||
| + | airporttiles<br> |
||
| + | houses<br> |
||
| + | industries<br> |
||
| + | industrytiles<br> |
||
| + | objects<br> |
||
| + | railtypes<br> |
||
| + | roadstops<br> |
||
| + | roadtypes<br> |
||
| + | roadvehs<br> |
||
| + | ships<br> |
||
| + | stations<br> |
||
| + | trains<br> |
||
| + | tramtypes<br> |
||
| + | | spriteset |
||
| + | | Override default graphics when used by other specific feature. |
||
|} |
|} |
||
Latest revision as of 15:52, 4 January 2026
Vehicles, Stations, Roadstops, Canals, Towns, Houses, Industries (Tiles), Cargos, Airports+Tiles, Objects, Railtypes, Roadtypes, Tramtypes, Bridges, Badges, Terrain
- common props | vars | CBs
- train | roadveh | ship | aircr props
- common variables
- industry props | vars | CBs
- tile props | vars | CBs
- airport props | vars | CBs
- tile props | vars | CBs
item (FEAT_BADGES, item_name) { ... }
Badge properties
| property | value range | comment |
|---|---|---|
| label | string with / as delimiter
|
For sake of compatibility and user experience, consider using labels already introduced by other NewGRFs.
Badges with label without |
| name | string | Name of this badge or badge class. |
| flags | bitmask(BADGE_FLAG_XXX, ...); |
|
Badge variables
| name | value range | comment |
|---|---|---|
| intro_date | date(yyyy, mm, dd) | Introduction date of entity (or current date if entity type does not have an introduction date). See introduction_date in vehicle properties.
|
Badge callbacks
| callback | return value | comment |
|---|---|---|
| default | spriteset | Graphics for the badge or badge class. |
|
aircraft |
spriteset | Override default graphics when used by other specific feature. |
Example code
item (FEAT_BADGES, power) {
property {
label: "power";
name: string(STR_POWER);
}
}
item (FEAT_BADGES, diesel) {
property {
label: "power/diesel";
name: string(STR_POWER_DIESEL);
}
}
item (FEAT_BADGES, steam) {
property {
label: "power/steam";
name: string(STR_POWER_STEAM);
}
graphics {
default: sprite_steam;
}
}