Files @ r8438:829f4b24336f
Branch filter:

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

miham
(svn r12008) -Update: WebTranslator2 update to 2008-01-29 14:07:31
brazilian_portuguese - 5 fixed, 5 changed by fukumori (4), tucalipe (6)
bulgarian - 7 fixed by thetitan (7)
catalan - 1 fixed by arnaullv (1)
danish - 9 fixed by ThomasA (9)
dutch - 5 fixed by habell (5)
estonian - 7 fixed, 12 changed by kristjans (19)
french - 1 fixed by glx (1)
german - 6 fixed by moewe2 (6)
italian - 1 fixed by lorenzodv (1)
korean - 6 fixed, 11 changed by leejaeuk5 (17)
russian - 9 fixed by Smoky555 (9)
slovak - 7 fixed by lengyel (7)
slovenian - 7 fixed by Necrolyte (7)
swedish - 6 fixed by ChrillDeVille (6)
ukrainian - 7 fixed by mad (7)
/* $Id$ */

/** @file vehicle_type.h Types related to vehicles. */

#ifndef VEHICLE_TYPE_H
#define VEHICLE_TYPE_H

#include "core/enum_type.hpp"

typedef uint16 VehicleID;

enum VehicleType {
	VEH_TRAIN,
	VEH_ROAD,
	VEH_SHIP,
	VEH_AIRCRAFT,
	VEH_SPECIAL,
	VEH_DISASTER,
	VEH_END,
	VEH_INVALID = 0xFF,
};
DECLARE_POSTFIX_INCREMENT(VehicleType);
template <> struct EnumPropsT<VehicleType> : MakeEnumPropsT<VehicleType, byte, VEH_TRAIN, VEH_END, VEH_INVALID> {};
typedef TinyEnumT<VehicleType> VehicleTypeByte;

struct Vehicle;

struct BaseVehicle
{
	VehicleTypeByte type;    ///< Type of vehicle

	/**
	 * Is this vehicle a valid vehicle?
	 * @return true if and only if the vehicle is valid.
	 */
	inline bool IsValid() const { return this->type != VEH_INVALID; }
};

static const VehicleID INVALID_VEHICLE = 0xFFFF;

/* Effect vehicle types */
enum EffectVehicle {
	EV_CHIMNEY_SMOKE   = 0,
	EV_STEAM_SMOKE     = 1,
	EV_DIESEL_SMOKE    = 2,
	EV_ELECTRIC_SPARK  = 3,
	EV_SMOKE           = 4,
	EV_EXPLOSION_LARGE = 5,
	EV_BREAKDOWN_SMOKE = 6,
	EV_EXPLOSION_SMALL = 7,
	EV_BULLDOZER       = 8,
	EV_BUBBLE          = 9
};

#endif /* VEHICLE_TYPE_H */