Files @ r5520:aa1247f0561e
Branch filter:

Location: cpp/openttd-patchpack/source/src/livery.h - annotation

Darkvater
(svn r7823) -Fix (r7384 / r7368 / r3757 / r7388): News windows could still cause crashes because
DeleteVehicleNews shuffles around _news_items which can wreak havoc with the NewsItem*
of a currently open news window. While here also correctly update _current_news and
_forced_news for the same reasons. Should really work now.
/* $Id$ */

#ifndef LIVERY_H
#define LIVERY_H


/* List of different livery schemes. */
typedef enum LiverySchemes {
	LS_DEFAULT,

	/* Rail vehicles */
	LS_STEAM,
	LS_DIESEL,
	LS_ELECTRIC,
	LS_MONORAIL,
	LS_MAGLEV,
	LS_DMU,
	LS_EMU,
	LS_PASSENGER_WAGON_STEAM,
	LS_PASSENGER_WAGON_DIESEL,
	LS_PASSENGER_WAGON_ELECTRIC,
	LS_FREIGHT_WAGON,

	/* Road vehicles */
	LS_BUS,
	LS_TRUCK,

	/* Ships */
	LS_PASSENGER_SHIP,
	LS_FREIGHT_SHIP,

	/* Aircraft */
	LS_HELICOPTER,
	LS_SMALL_PLANE,
	LS_LARGE_PLANE,

	LS_END
} LiveryScheme;


/* List of different livery classes, used only by the livery GUI. */
typedef enum LiveryClasses {
	LC_OTHER,
	LC_RAIL,
	LC_ROAD,
	LC_SHIP,
	LC_AIRCRAFT,
	LC_END
} LiveryClass;


typedef struct Livery {
	bool in_use;  ///< Set if this livery should be used instead of the default livery.
	byte colour1; ///< First colour, for all vehicles.
	byte colour2; ///< Second colour, for vehicles with 2CC support.
} Livery;

#endif /* LIVERY_H */