src/vehicle_type.h
author rubidium
Sat, 22 Dec 2007 21:01:49 +0000
changeset 8120 7128bb2b57a3
parent 8108 b42a0e5c67ef
child 8144 65cec0877b78
permissions -rw-r--r--
(svn r11681) -Fix (r11674): hopefully fix the compile error on big endian machines.
/* $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;

#endif /* VEHICLE_TYPE_H */