RoadVehicleIDRecommendation
How to make a road vehicle set compatible with other road vehicle sets.
Preface
Wouldn't it be nice if a bus set is compatible with someone else's truck set or that a tram set is compatible with another combined truck/bus set? We (for the people behind 'we', see topic at tt-forums.net) did some research on how this could be made possible. The result is this recommendation. NewGRF authors can follow this recommendation to make their set compatible with sets made by others.
Aim
Make Road Vehicle sets compatible with other road vehicle sets.
Compatibility is extremely useful for partial road vehicle sets, i.e. Bus-only, Truck-only or Tram-only sets or any combination of those.
Number of vehicles per type
If a NewGRF author requires his set to be compatible with the default vehicles, he can use up to:
- 24 Bus IDs
- 32 Truck IDs
- 20 Tram IDs
If a NewGRF author does not require his set to be compatible with the default vehicles, he can use up to:
- 36 Bus IDs
- 32 Truck IDs
- 20 Tram IDs
Both schemes are compatible with each other. This means for example that a bus set incompatible with the default vehicles is still compatible with a tram set that is compatible with the default vehicles.
ID Ranges to use
00h - 13h: Buses 1
14h - 23h: Trucks 1
24h - 33h: Trucks 2
34h - 43h: Buses 2
44h - 57h: Trams
The table at the end of this document contains a detailed overview and information on what bus IDs should be used if a set needs to be compatible with the default vehicles.
Trucks are split in two groups. It's recommended to use the first group of IDs fully, as the second group might be used for a new vehicle type (e.g. trolleys) in the future.
Final notes
This recommendation is intended for new sets and sets currently being developed. There's no requirement for old sets to change their ID scheme, although it's recommended to change the scheme once a set gets a major update (make sure to change the GRFID in such a case!).
Complete vehicle replacement sets (i.e. sets containing buses and trucks and trams) can use their own ID scheme. It's still recommended to follow these guidelines as much as possible. That way, for instance, a user can replace your ugly trams with trams from another tramset.
This recommendation is a recommendation. There's absolutely no requirement to comply to these recommendations if you don't want to. As a consequence, your set will not be compatible with other sets (which respect this recommendation).
Compatibility label
You can show that your vehicle set complies to this recommendation by adding a label to it (in either the readme, grf description or both). The label consists of two parts and has the following format:
RV-ID:<ranges>:<compatibility>
<ranges> is a list of what ranges your set uses, seperated by a plus sign. The possible values are: B1, B2, T1, T2 and R for respectively bus range 1, bus range 2, truck range 1, truck range 2 and tram range, or All if you use all IDs.
<compatibility> indicates compatibility with the default vehicles. This value can be either C for compatibility and I or no value for incompatibility.
Examples:
- RV-ID:B1+B1:C This set uses both bus ranges and is compatible with the default vehicles (so not all bus IDs are used).
- RV-ID:All (or RV-ID:All:I) This set uses all IDs and is not compatible with the default vehicles.
-=Road vehicle ID table=-
Important
- A set should not disable IDs it not uses.
- Changing base cost multipliers significantly reduces set intercompatibility.
- Compatible bus range can be extended by using:
- Ids 07h-09h, 13h if climate is set to tropical.
- Ids 36h-39h if climate is set to either temperate or arctic.
Legend
||Code|Name|ID Range (hex)|Compatible|NumIDs
b1c|Bus range 1|00-06, 0D-0F|true|10
b1i|Bus range 1|07-0C, 10-13|false|10
b2c|Bus range 2|3A-43|true|10
b2i|Bus range 2|34-39|false|6
t1|Truck range 1|14-23|true|16
t2|Truck range 2|24-33|true|16
r|Tram range|44h-57h|true|20||
||ID|NFO ID|Name|Bus (c)|Bus (i)|Truck|Tram
116|
|<nowiki>MPS Regal Bus</nowiki>|b1c| | | 117|
|<nowiki>Hereford Leopard Bus</nowiki>|b1c| | | 118|
|<nowiki>Foster Bus</nowiki>|b1c| | | 119|
|<nowiki>Foster MkII Superbus</nowiki>|b1c| | | 120|
|<nowiki>Ploddyphut MkI Bus</nowiki>|b1c| | | 121|
|<nowiki>Ploddyphut MkII Bus</nowiki>|b1c| | | 122|
|<nowiki>Ploddyphut MkIII Bus</nowiki>|b1c| | | 123|
|<nowiki>Balogh Coal Truck</nowiki>| |b1i| | 124|
|<nowiki>Uhl Coal Truck</nowiki>| |b1i| | 125|
|<nowiki>DW Coal Truck</nowiki>| |b1i| | 126|
|<nowiki>MPS Mail Truck</nowiki>| |b1i| | 127|
|<nowiki>Reynard Mail Truck</nowiki>| |b1i| | 128|
|<nowiki>Perry Mail Truck</nowiki>| |b1i| | 129|
|<nowiki>MightyMover Mail Truck</nowiki>|b1c| | | 130|
|<nowiki>Powernaught Mail Truck</nowiki>|b1c| | | 131|
|<nowiki>Wizzowow Mail Truck</nowiki>|b1c| | | 132|
|<nowiki>Witcombe Oil Tanker</nowiki>| |b1i| | 133|
|<nowiki>Foster Oil Tanker</nowiki>| |b1i| | 134|
|<nowiki>Perry Oil Tanker</nowiki>| |b1i| | 135|
|<nowiki>Talbott Livestock Van</nowiki>| |b1i| | 136|
|<nowiki>Uhl Livestock Van</nowiki>| | |t1| 137|
|<nowiki>Foster Livestock Van</nowiki>| | |t1| 138|
|<nowiki>Balogh Goods Truck</nowiki>| | |t1| 139|
|<nowiki>Craighead Goods Truck</nowiki>| | |t1| 140|
|<nowiki>Goss Goods Truck</nowiki>| | |t1| 141|
|<nowiki>Hereford Grain Truck</nowiki>| | |t1| 142|
|<nowiki>Thomas Grain Truck</nowiki>| | |t1| 143|
|<nowiki>Goss Grain Truck</nowiki>| | |t1| 144|
|<nowiki>Witcombe Wood Truck</nowiki>| | |t1| 145|
|<nowiki>Foster Wood Truck</nowiki>| | |t1| 146|
|<nowiki>Moreland Wood Truck</nowiki>| | |t1| 147|
|<nowiki>MPS Iron Ore Truck</nowiki>| | |t1| 148|
|<nowiki>Uhl Iron Ore Truck</nowiki>| | |t1| 149|
|<nowiki>Chippy Iron Ore Truck</nowiki>| | |t1| 150|
|<nowiki>Balogh Steel Truck</nowiki>| | |t1| 151|
|<nowiki>Uhl Steel Truck</nowiki>| | |t1| 152|
|<nowiki>Kelling Steel Truck</nowiki>| | |t2| 153|
|<nowiki>Balogh Armoured Truck</nowiki>| | |t2| 154|
|<nowiki>Uhl Armoured Truck</nowiki>| | |t2| 155|
|<nowiki>Foster Armoured Truck</nowiki>| | |t2| 156|
|<nowiki>Foster Food Van</nowiki>| | |t2| 157|
|<nowiki>Perry Food Van</nowiki>| | |t2| 158|
|<nowiki>Chippy Food Van</nowiki>| | |t2| 159|
|<nowiki>Uhl Paper Truck</nowiki>| | |t2| 160|
|<nowiki>Balogh Paper Truck</nowiki>| | |t2| 161|
|<nowiki>MPS Paper Truck</nowiki>| | |t2| 162|
|<nowiki>MPS Copper Ore Truck</nowiki>| | |t2| 163|
|<nowiki>Uhl Copper Ore Truck</nowiki>| | |t2| 164|
|<nowiki>Goss Copper Ore Truck</nowiki>| | |t2| 165|
|<nowiki>Uhl Water Tanker</nowiki>| | |t2| 166|
|<nowiki>Balogh Water Tanker</nowiki>| | |t2| 167|
|<nowiki>MPS Water Tanker</nowiki>| | |t2| 168|
|<nowiki>Balogh Fruit Truck</nowiki>| |b2i| | 169|
|<nowiki>Uhl Fruit Truck</nowiki>| |b2i| | 170|
|<nowiki>Kelling Fruit Truck</nowiki>| |b2i| | 171|
|<nowiki>Balogh Rubber Truck</nowiki>| |b2i| | 172|
|<nowiki>Uhl Rubber Truck</nowiki>| |b2i| | 173|
|<nowiki>RMT Rubber Truck</nowiki>| |b2i| | 174|
|<nowiki>MightyMover Sugar Truck</nowiki>|b2c| | | 175|
|<nowiki>Powernaught Sugar Truck</nowiki>|b2c| | | 176|
|<nowiki>Wizzowow Sugar Truck</nowiki>|b2c| | | 177|
|<nowiki>MightyMover Cola Truck</nowiki>|b2c| | | 178|
|<nowiki>Powernaught Cola Truck</nowiki>|b2c| | | 179|
|<nowiki>Wizzowow Cola Truck</nowiki>|b2c| | | 180|
|<nowiki>MightyMover Candyfloss Truck</nowiki>|b2c| | | 181|
|<nowiki>Powernaught Candyfloss Truck</nowiki>|b2c| | | 182|
|<nowiki>Wizzowow Candyfloss Truck</nowiki>|b2c| | | 183|
|<nowiki>MightyMover Toffee Truck</nowiki>|b2c| | | 184|
|<nowiki>Powernaught Toffee Truck</nowiki>| | | |r 185|
|<nowiki>Wizzowow Toffee Truck</nowiki>| | | |r 186|
|<nowiki>MightyMover Toy Van</nowiki>| | | |r 187|
|<nowiki>Powernaught Toy Van</nowiki>| | | |r 188|
|<nowiki>Wizzowow Toy Van</nowiki>| | | |r 189|
|<nowiki>MightyMover Sweet Lorry</nowiki>| | | |r 190|
|<nowiki>Powernaught Sweet Lorry</nowiki>| | | |r 191|
|<nowiki>Wizzowow Sweet Lorry</nowiki>| | | |r 192|
|<nowiki>MightyMover Battery Truck</nowiki>| | | |r 193|
|<nowiki>Powernaught Battery Truck</nowiki>| | | |r 194|
|<nowiki>Wizzowow Battery Truck</nowiki>| | | |r 195|
|<nowiki>MightyMover Fizzy Drink Truck</nowiki>| | | |r 196|
|<nowiki>Powernaught Fizzy Drink Truck</nowiki>| | | |r 197|
|<nowiki>Wizzowow Fizzy Drink Truck</nowiki>| | | |r 198|
|<nowiki>MightyMover Plastic Truck</nowiki>| | | |r 199|
|<nowiki>Powernaught Plastic Truck</nowiki>| | | |r 200|
|<nowiki>Wizzowow Plastic Truck</nowiki>| | | |r 201|
|<nowiki>MightyMover Bubble Truck</nowiki>| | | |r 202|
|<nowiki>Powernaught Bubble Truck</nowiki>| | | |r 203|
|<nowiki>Wizzowow Bubble Truck</nowiki>| | | |r||