Action0/Badges

From GRFSpecs
< Action0
Revision as of 12:29, 25 February 2025 by Peter1138 (talk | contribs) (→‎Badge label (08))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

'Action 0 properties for badges'

Action 0 - Properties for badges

Defining properties of badges.

Properties

Number Version Size Description
08 Supported by OpenTTD 1515 Not supported by TTDPatch S Badge label. A zero-terminated string.
09 Supported by OpenTTD 1515 Not supported by TTDPatch D Flags.


Badge label (08)

These are globally unique strings.

Badge labels comprise a badge class, for grouping similar badges, and badge name, separated by a '/'.

Classes and names are arbitrary, but to be useful must follow a standard scheme. For instance, the badge label power/steam will define a badge for steam powered vehicles within the power class.

Proposed initial classes are:

  • flag
  • role
  • manufacturer
  • operator
  • power
  • livery

It is also possible to assign a badge to everything within a NewGRF by defining the badge label `newgrf/<GRFID>`, with the GRFID in full hexadecimal form. This will work even if the badge is defined outside of the NewGRF it is for.

Naming Proposal

To work consistently, a naming standard needs to be agreed on, e.g.:

/role/passenger
/role/freight
/livery/<country>/<operator>/<name>
/livery/uk/british_rail/blue
/livery/uk/british_rail/swallow
/livery/fr/sncf/tgv

The game could then present these as a filterable list, e.g.:

Role
  Passenger
  Freight
Livery
  UK
    British Rail - Blue
    British Rail - Swallow
  France
    SNCF - TGV

Flags (09)

Bit Value Meaning
0 1 Copy. Badge can be copied to related entity (e.g. badge on a railtype can be copied to rail vehicles of that railtype.)
1 2 NameListStop. Stops adding more names to the visible name list.
2 4 NameListFirstOnly. Add this name to the visible name list only if this is the first name.
3 8 UseCompanyColour. Apply appropriate company colour palette to the icon. If the icon is applied to a vehicle with 2CC support, then the 2CC palette will be used.