(svn r6456) - Replace single colour scheme for passenger wagons with separate schemes for each of steam, diesel or electric engines. Savegames from the previous revision will not load.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
peter1138 18 years ago
parent 88d5472fe8
commit 851874d8e1

@ -2174,7 +2174,9 @@ STR_LIVERY_MONORAIL :Monorail Engine
STR_LIVERY_MAGLEV :Maglev Engine
STR_LIVERY_DMU :DMU
STR_LIVERY_EMU :EMU
STR_LIVERY_PASSENGER_WAGON :Passenger Coach
STR_LIVERY_PASSENGER_WAGON_STEAM :Passenger Coach (Steam)
STR_LIVERY_PASSENGER_WAGON_DIESEL :Passenger Coach (Diesel)
STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Passenger Coach (Electric)
STR_LIVERY_FREIGHT_WAGON :Freight Wagon
STR_LIVERY_BUS :Bus
STR_LIVERY_TRUCK :Lorry

@ -16,7 +16,9 @@ typedef enum LiverySchemes {
LS_MAGLEV,
LS_DMU,
LS_EMU,
LS_PASSENGER_WAGON,
LS_PASSENGER_WAGON_STEAM,
LS_PASSENGER_WAGON_DIESEL,
LS_PASSENGER_WAGON_ELECTRIC,
LS_FREIGHT_WAGON,
/* Road vehicles */

@ -269,7 +269,7 @@ static const StringID _colour_dropdown[] = {
/* Association of liveries to livery classes */
static const LiveryClass livery_class[LS_END] = {
LC_OTHER,
LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL,
LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL, LC_RAIL,
LC_ROAD, LC_ROAD,
LC_SHIP, LC_SHIP,
LC_AIRCRAFT, LC_AIRCRAFT, LC_AIRCRAFT,
@ -278,7 +278,7 @@ static const LiveryClass livery_class[LS_END] = {
/* Number of liveries in each class, used to determine the height of the livery window */
static const byte livery_height[] = {
1,
9,
11,
2,
2,
3,

@ -2322,8 +2322,19 @@ static PalSpriteID GetEngineColourMap(EngineID engine_type, PlayerID player, Eng
if (cargo_type == CT_INVALID) cargo_type = rvi->cargo_type;
if (rvi->flags & RVI_WAGON) {
scheme = (cargo_type == CT_PASSENGERS || cargo_type == CT_MAIL || cargo_type == CT_VALUABLES) ?
LS_PASSENGER_WAGON : LS_FREIGHT_WAGON;
if (cargo_type == CT_PASSENGERS || cargo_type == CT_MAIL || cargo_type == CT_VALUABLES) {
if (parent_engine_type == INVALID_ENGINE) {
scheme = LS_PASSENGER_WAGON_STEAM;
} else {
switch (RailVehInfo(parent_engine_type)->engclass) {
case 0: scheme = LS_PASSENGER_WAGON_STEAM; break;
case 1: scheme = LS_PASSENGER_WAGON_DIESEL; break;
case 2: scheme = LS_PASSENGER_WAGON_ELECTRIC; break;
}
}
} else {
scheme = LS_FREIGHT_WAGON;
}
} else {
bool is_mu = HASBIT(_engine_info[engine_type].misc_flags, EF_RAIL_IS_MU);

Loading…
Cancel
Save