Changeset - r15611:8beafa597cbd
[Not reviewed]
src/ai/api/ai_abstractlist.hpp
Show inline comments
 
@@ -28,8 +28,8 @@ public:
 

	
 
	/** Type of sorter */
 
	enum SorterType {
 
		SORT_BY_VALUE, //!< Sort the list based on the value of the item.
 
		SORT_BY_ITEM,  //!< Sort the list based on the item itself.
 
		SORT_BY_VALUE, ///< Sort the list based on the value of the item.
 
		SORT_BY_ITEM,  ///< Sort the list based on the item itself.
 
	};
 

	
 
	/** Sort ascending */
 
@@ -38,19 +38,19 @@ public:
 
	static const bool SORT_DESCENDING = false;
 

	
 
private:
 
	AIAbstractListSorter *sorter; //!< Sorting algorithm
 
	SorterType sorter_type;       //!< Sorting type
 
	bool sort_ascending;          //!< Whether to sort ascending or descending
 
	bool initialized;             //!< Whether an iteration has been started
 
	int modifications;            //!< Number of modification that has been done. To prevent changing data while valuating.
 
	AIAbstractListSorter *sorter; ///< Sorting algorithm
 
	SorterType sorter_type;       ///< Sorting type
 
	bool sort_ascending;          ///< Whether to sort ascending or descending
 
	bool initialized;             ///< Whether an iteration has been started
 
	int modifications;            ///< Number of modification that has been done. To prevent changing data while valuating.
 

	
 
public:
 
	typedef std::set<int32> AIItemList;                       //!< The list of items inside the bucket
 
	typedef std::map<int32, AIItemList> AIAbstractListBucket; //!< The bucket list per value
 
	typedef std::map<int32, int32> AIAbstractListMap;         //!< List per item
 
	typedef std::set<int32> AIItemList;                       ///< The list of items inside the bucket
 
	typedef std::map<int32, AIItemList> AIAbstractListBucket; ///< The bucket list per value
 
	typedef std::map<int32, int32> AIAbstractListMap;         ///< List per item
 

	
 
	AIAbstractListMap items;           //!< The items in the list
 
	AIAbstractListBucket buckets;      //!< The items in the list, sorted by value
 
	AIAbstractListMap items;           ///< The items in the list
 
	AIAbstractListBucket buckets;      ///< The items in the list, sorted by value
 

	
 
protected:
 
	/**
src/ai/api/ai_airport.hpp
Show inline comments
 
@@ -26,19 +26,19 @@ public:
 
	 */
 
	enum AirportType {
 
		/* Note: the values _are_ important as they represent an in-game value */
 
		AT_SMALL         =   0, //!< The small airport.
 
		AT_LARGE         =   1, //!< The large airport.
 
		AT_METROPOLITAN  =   3, //!< The metropolitan airport.
 
		AT_INTERNATIONAL =   4, //!< The international airport.
 
		AT_COMMUTER      =   5, //!< The commuter airport.
 
		AT_INTERCON      =   7, //!< The intercontinental airport.
 
		AT_SMALL         =   0, ///< The small airport.
 
		AT_LARGE         =   1, ///< The large airport.
 
		AT_METROPOLITAN  =   3, ///< The metropolitan airport.
 
		AT_INTERNATIONAL =   4, ///< The international airport.
 
		AT_COMMUTER      =   5, ///< The commuter airport.
 
		AT_INTERCON      =   7, ///< The intercontinental airport.
 

	
 
		/* Next are the airports which only have helicopter platforms */
 
		AT_HELIPORT      =   2, //!< The heliport.
 
		AT_HELISTATION   =   8, //!< The helistation.
 
		AT_HELIDEPOT     =   6, //!< The helidepot.
 
		AT_HELIPORT      =   2, ///< The heliport.
 
		AT_HELISTATION   =   8, ///< The helistation.
 
		AT_HELIDEPOT     =   6, ///< The helidepot.
 

	
 
		AT_INVALID       = 255, //!< Invalid airport.
 
		AT_INVALID       = 255, ///< Invalid airport.
 
	};
 

	
 
	/**
 
@@ -46,11 +46,11 @@ public:
 
	 */
 
	enum PlaneType {
 
		/* Note: the values _are_ important as they represent an in-game value */
 
		PT_HELICOPTER    =   0, //!< A helicopter.
 
		PT_SMALL_PLANE   =   1, //!< A small plane.
 
		PT_BIG_PLANE     =   3, //!< A big plane.
 
		PT_HELICOPTER    =   0, ///< A helicopter.
 
		PT_SMALL_PLANE   =   1, ///< A small plane.
 
		PT_BIG_PLANE     =   3, ///< A big plane.
 

	
 
		PT_INVALID       =  -1, //!< An invalid PlaneType
 
		PT_INVALID       =  -1, ///< An invalid PlaneType
 
	};
 

	
 
	/**
src/ai/api/ai_basestation.hpp
Show inline comments
 
@@ -27,9 +27,9 @@ public:
 
	 * the adjacent/distant join features are enabled.
 
	 */
 
	enum SpecialStationIDs {
 
		STATION_NEW = 0xFFFD,           //!< Build a new station
 
		STATION_JOIN_ADJACENT = 0xFFFE, //!< Join an neighbouring station if one exists
 
		STATION_INVALID = 0xFFFF,       //!< Invalid station id.
 
		STATION_NEW = 0xFFFD,           ///< Build a new station
 
		STATION_JOIN_ADJACENT = 0xFFFE, ///< Join an neighbouring station if one exists
 
		STATION_INVALID = 0xFFFF,       ///< Invalid station id.
 
	};
 

	
 
	/**
src/ai/api/ai_cargo.hpp
Show inline comments
 
@@ -25,28 +25,28 @@ public:
 
	 * The classes of cargo (from newgrf_cargo.h).
 
	 */
 
	enum CargoClass {
 
		CC_PASSENGERS   = 1 <<  0, //!< Passengers. Cargos of this class appear at bus stops. Cargos not of this class appear at truck stops.
 
		CC_MAIL         = 1 <<  1, //!< Mail
 
		CC_EXPRESS      = 1 <<  2, //!< Express cargo (Goods, Food, Candy, but also possible for passengers)
 
		CC_ARMOURED     = 1 <<  3, //!< Armoured cargo (Valuables, Gold, Diamonds)
 
		CC_BULK         = 1 <<  4, //!< Bulk cargo (Coal, Grain etc., Ores, Fruit)
 
		CC_PIECE_GOODS  = 1 <<  5, //!< Piece goods (Livestock, Wood, Steel, Paper)
 
		CC_LIQUID       = 1 <<  6, //!< Liquids (Oil, Water, Rubber)
 
		CC_REFRIGERATED = 1 <<  7, //!< Refrigerated cargo (Food, Fruit)
 
		CC_HAZARDOUS    = 1 <<  8, //!< Hazardous cargo (Nuclear Fuel, Explosives, etc.)
 
		CC_COVERED      = 1 <<  9, //!< Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.)
 
		CC_PASSENGERS   = 1 <<  0, ///< Passengers. Cargos of this class appear at bus stops. Cargos not of this class appear at truck stops.
 
		CC_MAIL         = 1 <<  1, ///< Mail
 
		CC_EXPRESS      = 1 <<  2, ///< Express cargo (Goods, Food, Candy, but also possible for passengers)
 
		CC_ARMOURED     = 1 <<  3, ///< Armoured cargo (Valuables, Gold, Diamonds)
 
		CC_BULK         = 1 <<  4, ///< Bulk cargo (Coal, Grain etc., Ores, Fruit)
 
		CC_PIECE_GOODS  = 1 <<  5, ///< Piece goods (Livestock, Wood, Steel, Paper)
 
		CC_LIQUID       = 1 <<  6, ///< Liquids (Oil, Water, Rubber)
 
		CC_REFRIGERATED = 1 <<  7, ///< Refrigerated cargo (Food, Fruit)
 
		CC_HAZARDOUS    = 1 <<  8, ///< Hazardous cargo (Nuclear Fuel, Explosives, etc.)
 
		CC_COVERED      = 1 <<  9, ///< Covered/Sheltered Freight (Transporation in Box Vans, Silo Wagons, etc.)
 
	};
 

	
 
	/**
 
	 * The effects a cargo can have on a town.
 
	 */
 
	enum TownEffect {
 
		TE_NONE       = 0, //!< This cargo has no effect on a town
 
		TE_PASSENGERS = 1, //!< This cargo supplies passengers to a town
 
		TE_MAIL       = 2, //!< This cargo supplies mail to a town
 
		TE_GOODS      = 3, //!< This cargo supplies goods to a town
 
		TE_WATER      = 4, //!< This cargo supplies water to a town
 
		TE_FOOD       = 5, //!< This cargo supplies food to a town
 
		TE_NONE       = 0, ///< This cargo has no effect on a town
 
		TE_PASSENGERS = 1, ///< This cargo supplies passengers to a town
 
		TE_MAIL       = 2, ///< This cargo supplies mail to a town
 
		TE_GOODS      = 3, ///< This cargo supplies goods to a town
 
		TE_WATER      = 4, ///< This cargo supplies water to a town
 
		TE_FOOD       = 5, ///< This cargo supplies food to a town
 
	};
 

	
 
	/**
src/ai/api/ai_company.hpp
Show inline comments
 
@@ -23,17 +23,17 @@ public:
 

	
 
	/** Different constants related to CompanyID. */
 
	enum CompanyID {
 
		COMPANY_FIRST   = 0,               //!< The first available company.
 
		COMPANY_LAST    = ::MAX_COMPANIES, //!< The last available company.
 
		COMPANY_SELF    = 254,             //!< Constant that gets resolved to the correct company index for your company.
 
		COMPANY_INVALID = -1,              //!< An invalid company.
 
		COMPANY_FIRST   = 0,               ///< The first available company.
 
		COMPANY_LAST    = ::MAX_COMPANIES, ///< The last available company.
 
		COMPANY_SELF    = 254,             ///< Constant that gets resolved to the correct company index for your company.
 
		COMPANY_INVALID = -1,              ///< An invalid company.
 
	};
 

	
 
	/** Possible genders for company presidents. */
 
	enum Gender {
 
		GENDER_MALE,         //!< A male person.
 
		GENDER_FEMALE,       //!< A female person.
 
		GENDER_INVALID = -1, //!< An invalid gender.
 
		GENDER_MALE,         ///< A male person.
 
		GENDER_FEMALE,       ///< A female person.
 
		GENDER_INVALID = -1, ///< An invalid gender.
 
	};
 

	
 
	/**
src/ai/api/ai_error.hpp
Show inline comments
 
@@ -49,19 +49,19 @@ public:
 
	 * All categories errors can be divided in.
 
	 */
 
	enum ErrorCategories {
 
		ERR_CAT_NONE = 0, //!< Error messages not related to any category.
 
		ERR_CAT_GENERAL,  //!< Error messages related to general things.
 
		ERR_CAT_VEHICLE,  //!< Error messages related to building / maintaining vehicles.
 
		ERR_CAT_STATION,  //!< Error messages related to building / maintaining stations.
 
		ERR_CAT_BRIDGE,   //!< Error messages related to building / removing bridges.
 
		ERR_CAT_TUNNEL,   //!< Error messages related to building / removing tunnels.
 
		ERR_CAT_TILE,     //!< Error messages related to raising / lowering and demolishing tiles.
 
		ERR_CAT_SIGN,     //!< Error messages related to building / removing signs.
 
		ERR_CAT_RAIL,     //!< Error messages related to building / maintaining rails.
 
		ERR_CAT_ROAD,     //!< Error messages related to building / maintaining roads.
 
		ERR_CAT_ORDER,    //!< Error messages related to managing orders.
 
		ERR_CAT_MARINE,   //!< Error messages related to building / removing ships, docks and channels.
 
		ERR_CAT_WAYPOINT, //!< Error messages related to building / maintaining waypoints.
 
		ERR_CAT_NONE = 0, ///< Error messages not related to any category.
 
		ERR_CAT_GENERAL,  ///< Error messages related to general things.
 
		ERR_CAT_VEHICLE,  ///< Error messages related to building / maintaining vehicles.
 
		ERR_CAT_STATION,  ///< Error messages related to building / maintaining stations.
 
		ERR_CAT_BRIDGE,   ///< Error messages related to building / removing bridges.
 
		ERR_CAT_TUNNEL,   ///< Error messages related to building / removing tunnels.
 
		ERR_CAT_TILE,     ///< Error messages related to raising / lowering and demolishing tiles.
 
		ERR_CAT_SIGN,     ///< Error messages related to building / removing signs.
 
		ERR_CAT_RAIL,     ///< Error messages related to building / maintaining rails.
 
		ERR_CAT_ROAD,     ///< Error messages related to building / maintaining roads.
 
		ERR_CAT_ORDER,    ///< Error messages related to managing orders.
 
		ERR_CAT_MARINE,   ///< Error messages related to building / removing ships, docks and channels.
 
		ERR_CAT_WAYPOINT, ///< Error messages related to building / maintaining waypoints.
 

	
 
		/**
 
		 * DO NOT USE! The error bitsize determines how many errors can be stored in
src/ai/api/ai_event_types.hpp
Show inline comments
 
@@ -28,12 +28,12 @@ public:
 
	 * The reasons for vehicle crashes
 
	 */
 
	enum CrashReason {
 
		CRASH_TRAIN,                //!< Two trains collided
 
		CRASH_RV_LEVEL_CROSSING,    //!< Road vehicle got under a train
 
		CRASH_RV_UFO,               //!< Road vehicle got under a landing ufo
 
		CRASH_PLANE_LANDING,        //!< Plane crashed on landing
 
		CRASH_AIRCRAFT_NO_AIRPORT,  //!< Aircraft crashed after it found not a single airport for landing
 
		CRASH_FLOODED,              //!< Vehicle was flooded
 
		CRASH_TRAIN,                ///< Two trains collided
 
		CRASH_RV_LEVEL_CROSSING,    ///< Road vehicle got under a train
 
		CRASH_RV_UFO,               ///< Road vehicle got under a landing ufo
 
		CRASH_PLANE_LANDING,        ///< Plane crashed on landing
 
		CRASH_AIRCRAFT_NO_AIRPORT,  ///< Aircraft crashed after it found not a single airport for landing
 
		CRASH_FLOODED,              ///< Vehicle was flooded
 
	};
 

	
 
	/**
src/ai/api/ai_group.hpp
Show inline comments
 
@@ -27,9 +27,9 @@ public:
 
	 */
 
	enum GroupID {
 
		/* Values are important, as they represent the internal state of the game (see group_type.h). */
 
		GROUP_ALL = 0xFFFD,     //!< All vehicles are in this group.
 
		GROUP_DEFAULT = 0xFFFE, //!< Vehicles not put in any other group are in this one.
 
		GROUP_INVALID = 0xFFFF, //!< An invalid group id.
 
		GROUP_ALL = 0xFFFD,     ///< All vehicles are in this group.
 
		GROUP_DEFAULT = 0xFFFE, ///< Vehicles not put in any other group are in this one.
 
		GROUP_INVALID = 0xFFFF, ///< An invalid group id.
 
	};
 

	
 
	/**
src/ai/api/ai_industrytype.hpp
Show inline comments
 
@@ -27,8 +27,8 @@ public:
 
	 * Special IndustryTypes.
 
	 */
 
	enum SpecialIndustryType {
 
		INDUSTRYTYPE_UNKNOWN = 0xFE, //!< Unknown/unspecific industrytype. (Usable for AIRail::BuildNewGRFRailStation())
 
		INDUSTRYTYPE_TOWN    = 0xFF, //!< No industry, but town. (Usable for AIRail::BuildNewGRFRailStation())
 
		INDUSTRYTYPE_UNKNOWN = 0xFE, ///< Unknown/unspecific industrytype. (Usable for AIRail::BuildNewGRFRailStation())
 
		INDUSTRYTYPE_TOWN    = 0xFF, ///< No industry, but town. (Usable for AIRail::BuildNewGRFRailStation())
 
	};
 

	
 
	/**
src/ai/api/ai_info_docs.hpp
Show inline comments
 
@@ -182,10 +182,10 @@ public:
 

	
 
	/** Miscellaneous flags for AI settings. */
 
	enum AIConfigFlags {
 
		AICONFIG_NONE,    //!< Normal setting.
 
		AICONFIG_RANDOM,  //!< When randomizing the AI, pick any value between min_value and max_value.
 
		AICONFIG_BOOLEAN, //!< This value is a boolean (either 0 (false) or 1 (true) ).
 
		AICONFIG_INGAME,  //!< This setting can be changed while the AI is running.
 
		AICONFIG_NONE,    ///< Normal setting.
 
		AICONFIG_RANDOM,  ///< When randomizing the AI, pick any value between min_value and max_value.
 
		AICONFIG_BOOLEAN, ///< This value is a boolean (either 0 (false) or 1 (true) ).
 
		AICONFIG_INGAME,  ///< This setting can be changed while the AI is running.
 
	};
 

	
 
	/**
src/ai/api/ai_log.hpp
Show inline comments
 
@@ -31,11 +31,11 @@ public:
 
	 *  This has no use for you, as AI writer.
 
	 */
 
	enum AILogType {
 
		LOG_SQ_ERROR = 0, //!< Squirrel printed an error.
 
		LOG_ERROR = 1,    //!< User printed an error.
 
		LOG_SQ_INFO = 2,  //!< Squirrel printed some info.
 
		LOG_WARNING = 3,  //!< User printed some warning.
 
		LOG_INFO = 4,     //!< User printed some info.
 
		LOG_SQ_ERROR = 0, ///< Squirrel printed an error.
 
		LOG_ERROR = 1,    ///< User printed an error.
 
		LOG_SQ_INFO = 2,  ///< Squirrel printed some info.
 
		LOG_WARNING = 3,  ///< User printed some warning.
 
		LOG_INFO = 4,     ///< User printed some info.
 
	};
 

	
 
	/**
 
@@ -43,11 +43,11 @@ public:
 
	 *  This has no use for you, as AI writer.
 
	 */
 
	struct LogData {
 
		char **lines;           //!< The log-lines.
 
		AILog::AILogType *type; //!< Per line, which type of log it was.
 
		int count;              //!< Total amount of log-lines possible.
 
		int pos;                //!< Current position in lines.
 
		int used;               //!< Total amount of used log-lines.
 
		char **lines;           ///< The log-lines.
 
		AILog::AILogType *type; ///< Per line, which type of log it was.
 
		int count;              ///< Total amount of log-lines possible.
 
		int pos;                ///< Current position in lines.
 
		int used;               ///< Total amount of used log-lines.
 
	};
 
#endif /* EXPORT_SKIP */
 

	
src/ai/api/ai_map.hpp
Show inline comments
 
@@ -20,7 +20,7 @@
 
 */
 
class AIMap : public AIObject {
 
public:
 
	static const int TILE_INVALID = (int)INVALID_TILE; //!< Invalid TileIndex.
 
	static const int TILE_INVALID = (int)INVALID_TILE; ///< Invalid TileIndex.
 

	
 
	static const char *GetClassName() { return "AIMap"; }
 

	
src/ai/api/ai_marine.hpp
Show inline comments
 
@@ -37,9 +37,9 @@ public:
 
	 * Types of water-related objects in the game.
 
	 */
 
	enum BuildType {
 
		BT_DOCK,  //!< Build a dock
 
		BT_DEPOT, //!< Build a ship depot
 
		BT_BUOY,  //!< Build a buoy
 
		BT_DOCK,  ///< Build a dock
 
		BT_DEPOT, ///< Build a ship depot
 
		BT_BUOY,  ///< Build a buoy
 
	};
 

	
 
	/**
src/ai/api/ai_order.hpp
Show inline comments
 
@@ -87,13 +87,13 @@ public:
 
	 */
 
	enum OrderCondition {
 
		/* Order _is_ important, as it's based on OrderConditionVariable in order_type.h. */
 
		OC_LOAD_PERCENTAGE,  //!< Skip based on the amount of load, value is in tons.
 
		OC_RELIABILITY,      //!< Skip based on the reliability, value is percent (0..100).
 
		OC_MAX_SPEED,        //!< Skip based on the maximum speed, value is in OpenTTD's internal speed unit, see AIEngine::GetMaxSpeed.
 
		OC_AGE,              //!< Skip based on the age, value is in years.
 
		OC_REQUIRES_SERVICE, //!< Skip when the vehicle requires service, no value.
 
		OC_UNCONDITIONALLY,  //!< Always skip, no compare function, no value.
 
		OC_INVALID = -1,     //!< An invalid condition, do not use.
 
		OC_LOAD_PERCENTAGE,  ///< Skip based on the amount of load, value is in tons.
 
		OC_RELIABILITY,      ///< Skip based on the reliability, value is percent (0..100).
 
		OC_MAX_SPEED,        ///< Skip based on the maximum speed, value is in OpenTTD's internal speed unit, see AIEngine::GetMaxSpeed.
 
		OC_AGE,              ///< Skip based on the age, value is in years.
 
		OC_REQUIRES_SERVICE, ///< Skip when the vehicle requires service, no value.
 
		OC_UNCONDITIONALLY,  ///< Always skip, no compare function, no value.
 
		OC_INVALID = -1,     ///< An invalid condition, do not use.
 
	};
 

	
 
	/**
 
@@ -101,29 +101,29 @@ public:
 
	 */
 
	enum CompareFunction {
 
		/* Order _is_ important, as it's based on OrderConditionComparator in order_type.h. */
 
		CF_EQUALS,       //!< Skip if both values are equal
 
		CF_NOT_EQUALS,   //!< Skip if both values are not equal
 
		CF_LESS_THAN,    //!< Skip if the value is less than the limit
 
		CF_LESS_EQUALS,  //!< Skip if the value is less or equal to the limit
 
		CF_MORE_THAN,    //!< Skip if the value is more than the limit
 
		CF_MORE_EQUALS,  //!< Skip if the value is more or equal to the limit
 
		CF_IS_TRUE,      //!< Skip if the variable is true
 
		CF_IS_FALSE,     //!< Skip if the variable is false
 
		CF_INVALID = -1, //!< Invalid compare function, do not use.
 
		CF_EQUALS,       ///< Skip if both values are equal
 
		CF_NOT_EQUALS,   ///< Skip if both values are not equal
 
		CF_LESS_THAN,    ///< Skip if the value is less than the limit
 
		CF_LESS_EQUALS,  ///< Skip if the value is less or equal to the limit
 
		CF_MORE_THAN,    ///< Skip if the value is more than the limit
 
		CF_MORE_EQUALS,  ///< Skip if the value is more or equal to the limit
 
		CF_IS_TRUE,      ///< Skip if the variable is true
 
		CF_IS_FALSE,     ///< Skip if the variable is false
 
		CF_INVALID = -1, ///< Invalid compare function, do not use.
 
	};
 

	
 
	/** Different constants related to the OrderPosition */
 
	enum OrderPosition {
 
		ORDER_CURRENT = 0xFF, //!< Constant that gets resolved to the current order.
 
		ORDER_INVALID = -1,   //!< An invalid order.
 
		ORDER_CURRENT = 0xFF, ///< Constant that gets resolved to the current order.
 
		ORDER_INVALID = -1,   ///< An invalid order.
 
	};
 

	
 
	/** Where to stop trains in a station that's longer than the train */
 
	enum StopLocation {
 
		STOPLOCATION_NEAR,         //!< Stop the train as soon as it's completely in the station
 
		STOPLOCATION_MIDDLE,       //!< Stop the train in the middle of the station
 
		STOPLOCATION_FAR,          //!< Stop the train at the far end of the station
 
		STOPLOCATION_INVALID = -1, //!< An invalid stop location
 
		STOPLOCATION_NEAR,         ///< Stop the train as soon as it's completely in the station
 
		STOPLOCATION_MIDDLE,       ///< Stop the train in the middle of the station
 
		STOPLOCATION_FAR,          ///< Stop the train at the far end of the station
 
		STOPLOCATION_INVALID = -1, ///< An invalid stop location
 
	};
 

	
 
	/**
src/ai/api/ai_rail.cpp
Show inline comments
 
@@ -361,12 +361,12 @@ static uint32 SimulateDrag(TileIndex fro
 
 *   from a specific direction.
 
 */
 
struct AIRailSignalData {
 
	Track track;        //!< The track that will be taken to travel.
 
	Trackdir trackdir;  //!< The Trackdir belonging to that track.
 
	uint signal_cycles; //!< How many times the signal should be cycled in order to build it in the correct direction.
 
	Track track;        ///< The track that will be taken to travel.
 
	Trackdir trackdir;  ///< The Trackdir belonging to that track.
 
	uint signal_cycles; ///< How many times the signal should be cycled in order to build it in the correct direction.
 
};
 

	
 
static const int NUM_TRACK_DIRECTIONS = 3; //!< The number of directions you can go when entering a tile.
 
static const int NUM_TRACK_DIRECTIONS = 3; ///< The number of directions you can go when entering a tile.
 

	
 
/**
 
 * List information about the trackdir and number of needed cycles for building signals when
src/ai/api/ai_rail.hpp
Show inline comments
 
@@ -48,7 +48,7 @@ public:
 
	 */
 
	enum RailType {
 
		/* Note: the values _are_ important as they represent an in-game value */
 
		RAILTYPE_INVALID  = 0xFF, //!< Invalid RailType.
 
		RAILTYPE_INVALID  = 0xFF, ///< Invalid RailType.
 
	};
 

	
 
	/**
 
@@ -56,13 +56,13 @@ public:
 
	 */
 
	enum RailTrack {
 
		/* Note: the values _are_ important as they represent an in-game value */
 
		RAILTRACK_NE_SW   = 1 << 0, //!< Track along the x-axis (north-east to south-west).
 
		RAILTRACK_NW_SE   = 1 << 1, //!< Track along the y-axis (north-west to south-east).
 
		RAILTRACK_NW_NE   = 1 << 2, //!< Track in the upper corner of the tile (north).
 
		RAILTRACK_SW_SE   = 1 << 3, //!< Track in the lower corner of the tile (south).
 
		RAILTRACK_NW_SW   = 1 << 4, //!< Track in the left corner of the tile (west).
 
		RAILTRACK_NE_SE   = 1 << 5, //!< Track in the right corner of the tile (east).
 
		RAILTRACK_INVALID = 0xFF,   //!< Flag for an invalid track.
 
		RAILTRACK_NE_SW   = 1 << 0, ///< Track along the x-axis (north-east to south-west).
 
		RAILTRACK_NW_SE   = 1 << 1, ///< Track along the y-axis (north-west to south-east).
 
		RAILTRACK_NW_NE   = 1 << 2, ///< Track in the upper corner of the tile (north).
 
		RAILTRACK_SW_SE   = 1 << 3, ///< Track in the lower corner of the tile (south).
 
		RAILTRACK_NW_SW   = 1 << 4, ///< Track in the left corner of the tile (west).
 
		RAILTRACK_NE_SE   = 1 << 5, ///< Track in the right corner of the tile (east).
 
		RAILTRACK_INVALID = 0xFF,   ///< Flag for an invalid track.
 
	};
 

	
 
	/**
 
@@ -70,29 +70,29 @@ public:
 
	 */
 
	enum SignalType {
 
		/* Note: the values _are_ important as they represent an in-game value */
 
		SIGNALTYPE_NORMAL        = 0, //!< Normal signal.
 
		SIGNALTYPE_ENTRY         = 1, //!< Entry presignal.
 
		SIGNALTYPE_EXIT          = 2, //!< Exit signal.
 
		SIGNALTYPE_COMBO         = 3, //!< Combo signal.
 
		SIGNALTYPE_PBS           = 4, //!< Normal PBS signal.
 
		SIGNALTYPE_PBS_ONEWAY    = 5, //!< No-entry PBS signal.
 
		SIGNALTYPE_TWOWAY        = 8, //!< Bit mask for twoway signal.
 
		SIGNALTYPE_NORMAL_TWOWAY = SIGNALTYPE_NORMAL | SIGNALTYPE_TWOWAY, //!< Normal twoway signal.
 
		SIGNALTYPE_ENTRY_TWOWAY  = SIGNALTYPE_ENTRY | SIGNALTYPE_TWOWAY,  //!< Entry twoway signal.
 
		SIGNALTYPE_EXIT_TWOWAY   = SIGNALTYPE_EXIT | SIGNALTYPE_TWOWAY,   //!< Exit twoway signal.
 
		SIGNALTYPE_COMBO_TWOWAY  = SIGNALTYPE_COMBO | SIGNALTYPE_TWOWAY,  //!< Combo twoway signal.
 
		SIGNALTYPE_NONE          = 0xFF, //!< No signal.
 
		SIGNALTYPE_NORMAL        = 0, ///< Normal signal.
 
		SIGNALTYPE_ENTRY         = 1, ///< Entry presignal.
 
		SIGNALTYPE_EXIT          = 2, ///< Exit signal.
 
		SIGNALTYPE_COMBO         = 3, ///< Combo signal.
 
		SIGNALTYPE_PBS           = 4, ///< Normal PBS signal.
 
		SIGNALTYPE_PBS_ONEWAY    = 5, ///< No-entry PBS signal.
 
		SIGNALTYPE_TWOWAY        = 8, ///< Bit mask for twoway signal.
 
		SIGNALTYPE_NORMAL_TWOWAY = SIGNALTYPE_NORMAL | SIGNALTYPE_TWOWAY, ///< Normal twoway signal.
 
		SIGNALTYPE_ENTRY_TWOWAY  = SIGNALTYPE_ENTRY | SIGNALTYPE_TWOWAY,  ///< Entry twoway signal.
 
		SIGNALTYPE_EXIT_TWOWAY   = SIGNALTYPE_EXIT | SIGNALTYPE_TWOWAY,   ///< Exit twoway signal.
 
		SIGNALTYPE_COMBO_TWOWAY  = SIGNALTYPE_COMBO | SIGNALTYPE_TWOWAY,  ///< Combo twoway signal.
 
		SIGNALTYPE_NONE          = 0xFF, ///< No signal.
 
	};
 

	
 
	/**
 
	 * Types of rail-related objects in the game.
 
	 */
 
	enum BuildType {
 
		BT_TRACK,    //!< Build a track
 
		BT_SIGNAL,   //!< Build a signal
 
		BT_DEPOT,    //!< Build a depot
 
		BT_STATION,  //!< Build a station
 
		BT_WAYPOINT, //!< Build a rail waypoint
 
		BT_TRACK,    ///< Build a track
 
		BT_SIGNAL,   ///< Build a signal
 
		BT_DEPOT,    ///< Build a depot
 
		BT_STATION,  ///< Build a station
 
		BT_WAYPOINT, ///< Build a rail waypoint
 
	};
 

	
 
	/**
src/ai/api/ai_road.hpp
Show inline comments
 
@@ -49,28 +49,28 @@ public:
 
	 */
 
	enum RoadType {
 
		/* Values are important, as they represent the internal state of the game. */
 
		ROADTYPE_ROAD = 0, //!< Build road objects.
 
		ROADTYPE_TRAM = 1, //!< Build tram objects.
 
		ROADTYPE_ROAD = 0, ///< Build road objects.
 
		ROADTYPE_TRAM = 1, ///< Build tram objects.
 

	
 
		ROADTYPE_INVALID = -1, //!< Invalid RoadType.
 
		ROADTYPE_INVALID = -1, ///< Invalid RoadType.
 
	};
 

	
 
	/**
 
	 * Type of road station.
 
	 */
 
	enum RoadVehicleType {
 
		ROADVEHTYPE_BUS,   //!< Build objects useable for busses and passenger trams
 
		ROADVEHTYPE_TRUCK, //!< Build objects useable for trucks and cargo trams
 
		ROADVEHTYPE_BUS,   ///< Build objects useable for busses and passenger trams
 
		ROADVEHTYPE_TRUCK, ///< Build objects useable for trucks and cargo trams
 
	};
 

	
 
	/**
 
	 * Types of road-related objects in the game.
 
	 */
 
	enum BuildType {
 
		BT_ROAD,       //!< Build a piece of road
 
		BT_DEPOT,      //!< Build a road depot
 
		BT_BUS_STOP,   //!< Build a bus stop
 
		BT_TRUCK_STOP, //!< Build a truck stop
 
		BT_ROAD,       ///< Build a piece of road
 
		BT_DEPOT,      ///< Build a road depot
 
		BT_BUS_STOP,   ///< Build a bus stop
 
		BT_TRUCK_STOP, ///< Build a truck stop
 
	};
 

	
 
	/**
src/ai/api/ai_station.hpp
Show inline comments
 
@@ -46,12 +46,12 @@ public:
 
	 */
 
	enum StationType {
 
		/* Values are important, as they represent the internal state of the game. */
 
		STATION_TRAIN      = 0x01, //!< Train station
 
		STATION_TRUCK_STOP = 0x02, //!< Truck station
 
		STATION_BUS_STOP   = 0x04, //!< Bus station
 
		STATION_AIRPORT    = 0x08, //!< Airport
 
		STATION_DOCK       = 0x10, //!< Dock
 
		STATION_ANY        = 0x1F, //!< All station types
 
		STATION_TRAIN      = 0x01, ///< Train station
 
		STATION_TRUCK_STOP = 0x02, ///< Truck station
 
		STATION_BUS_STOP   = 0x04, ///< Bus station
 
		STATION_AIRPORT    = 0x08, ///< Airport
 
		STATION_DOCK       = 0x10, ///< Dock
 
		STATION_ANY        = 0x1F, ///< All station types
 
	};
 

	
 
	/**
src/ai/api/ai_subsidy.hpp
Show inline comments
 
@@ -27,9 +27,9 @@ public:
 
	 * @note The list of values may grow in future.
 
	 */
 
	enum SubsidyParticipantType {
 
		SPT_INDUSTRY =    0, //!< Subsidy participant is an industry
 
		SPT_TOWN     =    1, //!< Subsidy participant is a town
 
		SPT_INVALID  = 0xFF, //!< Invalid/unknown participant type
 
		SPT_INDUSTRY =    0, ///< Subsidy participant is an industry
 
		SPT_TOWN     =    1, ///< Subsidy participant is a town
 
		SPT_INVALID  = 0xFF, ///< Invalid/unknown participant type
 
	};
 

	
 
	/**
src/ai/api/ai_tile.hpp
Show inline comments
 
@@ -48,10 +48,10 @@ public:
 
	 * Enumeration for corners of tiles.
 
	 */
 
	enum Corner {
 
		CORNER_W       = 0,      //!< West corner
 
		CORNER_S       = 1,      //!< South corner
 
		CORNER_E       = 2,      //!< East corner
 
		CORNER_N       = 3,      //!< North corner
 
		CORNER_W       = 0,      ///< West corner
 
		CORNER_S       = 1,      ///< South corner
 
		CORNER_E       = 2,      ///< East corner
 
		CORNER_N       = 3,      ///< North corner
 

	
 
		CORNER_INVALID = 0xFF,
 
	};
 
@@ -65,29 +65,29 @@ public:
 
	 */
 
	enum Slope {
 
		/* Values are important, as they represent the internal state of the game. */
 
		SLOPE_FLAT     = 0x00,                                  //!< A flat tile
 
		SLOPE_W        = 1 << CORNER_W,                         //!< The west corner of the tile is raised
 
		SLOPE_S        = 1 << CORNER_S,                         //!< The south corner of the tile is raised
 
		SLOPE_E        = 1 << CORNER_E,                         //!< The east corner of the tile is raised
 
		SLOPE_N        = 1 << CORNER_N,                         //!< The north corner of the tile is raised
 
		SLOPE_STEEP    = 0x10,                                  //!< Indicates the slope is steep (The corner opposite of the not-raised corner is raised two times)
 
		SLOPE_NW       = SLOPE_N | SLOPE_W,                     //!< North and west corner are raised
 
		SLOPE_SW       = SLOPE_S | SLOPE_W,                     //!< South and west corner are raised
 
		SLOPE_SE       = SLOPE_S | SLOPE_E,                     //!< South and east corner are raised
 
		SLOPE_NE       = SLOPE_N | SLOPE_E,                     //!< North and east corner are raised
 
		SLOPE_EW       = SLOPE_E | SLOPE_W,                     //!< East and west corner are raised
 
		SLOPE_NS       = SLOPE_N | SLOPE_S,                     //!< North and south corner are raised
 
		SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, //!< Bit mask containing all 'simple' slopes. Does not appear as a slope.
 
		SLOPE_NWS      = SLOPE_N | SLOPE_W | SLOPE_S,           //!< North, west and south corner are raised
 
		SLOPE_WSE      = SLOPE_W | SLOPE_S | SLOPE_E,           //!< West, south and east corner are raised
 
		SLOPE_SEN      = SLOPE_S | SLOPE_E | SLOPE_N,           //!< South, east and north corner are raised
 
		SLOPE_ENW      = SLOPE_E | SLOPE_N | SLOPE_W,           //!< East, north and west corner are raised
 
		SLOPE_STEEP_W  = SLOPE_STEEP | SLOPE_NWS,               //!< A steep slope falling to east (from west)
 
		SLOPE_STEEP_S  = SLOPE_STEEP | SLOPE_WSE,               //!< A steep slope falling to north (from south)
 
		SLOPE_STEEP_E  = SLOPE_STEEP | SLOPE_SEN,               //!< A steep slope falling to west (from east)
 
		SLOPE_STEEP_N  = SLOPE_STEEP | SLOPE_ENW,               //!< A steep slope falling to south (from north)
 
		SLOPE_FLAT     = 0x00,                                  ///< A flat tile
 
		SLOPE_W        = 1 << CORNER_W,                         ///< The west corner of the tile is raised
 
		SLOPE_S        = 1 << CORNER_S,                         ///< The south corner of the tile is raised
 
		SLOPE_E        = 1 << CORNER_E,                         ///< The east corner of the tile is raised
 
		SLOPE_N        = 1 << CORNER_N,                         ///< The north corner of the tile is raised
 
		SLOPE_STEEP    = 0x10,                                  ///< Indicates the slope is steep (The corner opposite of the not-raised corner is raised two times)
 
		SLOPE_NW       = SLOPE_N | SLOPE_W,                     ///< North and west corner are raised
 
		SLOPE_SW       = SLOPE_S | SLOPE_W,                     ///< South and west corner are raised
 
		SLOPE_SE       = SLOPE_S | SLOPE_E,                     ///< South and east corner are raised
 
		SLOPE_NE       = SLOPE_N | SLOPE_E,                     ///< North and east corner are raised
 
		SLOPE_EW       = SLOPE_E | SLOPE_W,                     ///< East and west corner are raised
 
		SLOPE_NS       = SLOPE_N | SLOPE_S,                     ///< North and south corner are raised
 
		SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W, ///< Bit mask containing all 'simple' slopes. Does not appear as a slope.
 
		SLOPE_NWS      = SLOPE_N | SLOPE_W | SLOPE_S,           ///< North, west and south corner are raised
 
		SLOPE_WSE      = SLOPE_W | SLOPE_S | SLOPE_E,           ///< West, south and east corner are raised
 
		SLOPE_SEN      = SLOPE_S | SLOPE_E | SLOPE_N,           ///< South, east and north corner are raised
 
		SLOPE_ENW      = SLOPE_E | SLOPE_N | SLOPE_W,           ///< East, north and west corner are raised
 
		SLOPE_STEEP_W  = SLOPE_STEEP | SLOPE_NWS,               ///< A steep slope falling to east (from west)
 
		SLOPE_STEEP_S  = SLOPE_STEEP | SLOPE_WSE,               ///< A steep slope falling to north (from south)
 
		SLOPE_STEEP_E  = SLOPE_STEEP | SLOPE_SEN,               ///< A steep slope falling to west (from east)
 
		SLOPE_STEEP_N  = SLOPE_STEEP | SLOPE_ENW,               ///< A steep slope falling to south (from north)
 

	
 
		SLOPE_INVALID  = 0xFFFF,                                //!< An invalid slope
 
		SLOPE_INVALID  = 0xFFFF,                                ///< An invalid slope
 
	};
 

	
 
	/**
 
@@ -95,26 +95,26 @@ public:
 
	 */
 
	enum TransportType {
 
		/* Values are important, as they represent the internal state of the game. */
 
		TRANSPORT_RAIL    =  0, //!< Tile with rail.
 
		TRANSPORT_ROAD    =  1, //!< Tile with road.
 
		TRANSPORT_WATER   =  2, //!< Tile with navigable waterways.
 
		TRANSPORT_AIR     =  3, //!< Tile with airport.
 
		TRANSPORT_RAIL    =  0, ///< Tile with rail.
 
		TRANSPORT_ROAD    =  1, ///< Tile with road.
 
		TRANSPORT_WATER   =  2, ///< Tile with navigable waterways.
 
		TRANSPORT_AIR     =  3, ///< Tile with airport.
 

	
 
		TRANSPORT_INVALID = -1, //!< Tile without any transport type.
 
		TRANSPORT_INVALID = -1, ///< Tile without any transport type.
 
	};
 

	
 
	/**
 
	 * Get the base cost for building/clearing several things.
 
	 */
 
	enum BuildType {
 
		BT_FOUNDATION,   //!< Build a foundation under something
 
		BT_TERRAFORM,    //!< Terraform
 
		BT_BUILD_TREES,  //!< Build trees
 
		BT_CLEAR_GRASS,  //!< Clear a tile with just grass
 
		BT_CLEAR_ROUGH,  //!< Clear a rough tile
 
		BT_CLEAR_ROCKY,  //!< Clear a tile with rocks
 
		BT_CLEAR_FIELDS, //!< Clear a tile with farm fields
 
		BT_CLEAR_HOUSE,  //!< Clear a tile with a house
 
		BT_FOUNDATION,   ///< Build a foundation under something
 
		BT_TERRAFORM,    ///< Terraform
 
		BT_BUILD_TREES,  ///< Build trees
 
		BT_CLEAR_GRASS,  ///< Clear a tile with just grass
 
		BT_CLEAR_ROUGH,  ///< Clear a rough tile
 
		BT_CLEAR_ROCKY,  ///< Clear a tile with rocks
 
		BT_CLEAR_FIELDS, ///< Clear a tile with farm fields
 
		BT_CLEAR_HOUSE,  ///< Clear a tile with a house
 
	};
 

	
 
	/**
src/ai/api/ai_town.hpp
Show inline comments
 
@@ -79,16 +79,16 @@ public:
 
	 * Different ratings one could have in a town.
 
	 */
 
	enum TownRating {
 
		TOWN_RATING_NONE,         //!< The company got no rating in the town.
 
		TOWN_RATING_APPALLING,    //!< The company got an appalling rating in the town .
 
		TOWN_RATING_VERY_POOR,    //!< The company got an very poor rating in the town.
 
		TOWN_RATING_POOR,         //!< The company got an poor rating in the town.
 
		TOWN_RATING_MEDIOCRE,     //!< The company got an mediocre rating in the town.
 
		TOWN_RATING_GOOD,         //!< The company got an good rating in the town.
 
		TOWN_RATING_VERY_GOOD,    //!< The company got an very good rating in the town.
 
		TOWN_RATING_EXCELLENT,    //!< The company got an excellent rating in the town.
 
		TOWN_RATING_OUTSTANDING,  //!< The company got an outstanding rating in the town.
 
		TOWN_RATING_INVALID = -1, //!< The town rating for invalid towns/companies.
 
		TOWN_RATING_NONE,         ///< The company got no rating in the town.
 
		TOWN_RATING_APPALLING,    ///< The company got an appalling rating in the town .
 
		TOWN_RATING_VERY_POOR,    ///< The company got an very poor rating in the town.
 
		TOWN_RATING_POOR,         ///< The company got an poor rating in the town.
 
		TOWN_RATING_MEDIOCRE,     ///< The company got an mediocre rating in the town.
 
		TOWN_RATING_GOOD,         ///< The company got an good rating in the town.
 
		TOWN_RATING_VERY_GOOD,    ///< The company got an very good rating in the town.
 
		TOWN_RATING_EXCELLENT,    ///< The company got an excellent rating in the town.
 
		TOWN_RATING_OUTSTANDING,  ///< The company got an outstanding rating in the town.
 
		TOWN_RATING_INVALID = -1, ///< The town rating for invalid towns/companies.
 
	};
 

	
 
	/**
 
@@ -96,11 +96,11 @@ public:
 
	 */
 
	enum RoadLayout {
 
		/* Order IS important, as it matches an in-game value */
 
		ROAD_LAYOUT_ORIGINAL,     //!< Original algorithm (min. 1 distance between roads).
 
		ROAD_LAYOUT_BETTER_ROADS, //!< Extended original algorithm (min. 2 distance between roads).
 
		ROAD_LAYOUT_2x2,          //!< Geometric 2x2 grid algorithm
 
		ROAD_LAYOUT_3x3,          //!< Geometric 3x3 grid algorithm
 
		ROAD_LAYOUT_INVALID = -1, //!< The layout for invalid towns.
 
		ROAD_LAYOUT_ORIGINAL,     ///< Original algorithm (min. 1 distance between roads).
 
		ROAD_LAYOUT_BETTER_ROADS, ///< Extended original algorithm (min. 2 distance between roads).
 
		ROAD_LAYOUT_2x2,          ///< Geometric 2x2 grid algorithm
 
		ROAD_LAYOUT_3x3,          ///< Geometric 3x3 grid algorithm
 
		ROAD_LAYOUT_INVALID = -1, ///< The layout for invalid towns.
 
	};
 

	
 
	/**
src/ai/api/ai_types.hpp
Show inline comments
 
@@ -83,24 +83,24 @@
 
#include <squirrel.h>
 

	
 
/* Define all types here, so we don't have to include the whole _type.h maze */
 
typedef uint BridgeType;     //!< Internal name, not of any use for you.
 
typedef byte CargoID;        //!< The ID of a cargo.
 
class CommandCost;           //!< The cost of a command.
 
typedef uint16 EngineID;     //!< The ID of an engine.
 
typedef uint16 GroupID;      //!< The ID of a group.
 
typedef uint16 IndustryID;   //!< The ID of an industry.
 
typedef uint8 IndustryType;  //!< The ID of an industry-type.
 
typedef OverflowSafeInt64 Money; //!< Money, stored in a 32bit/64bit safe way. For AIs money is always in pounds.
 
typedef uint16 SignID;       //!< The ID of a sign.
 
typedef uint16 StationID;    //!< The ID of a station.
 
typedef uint16 StringID;     //!< The ID of a string.
 
typedef uint16 SubsidyID;    //!< The ID of a subsidy.
 
typedef uint32 TileIndex;    //!< The ID of a tile (just named differently).
 
typedef uint16 TownID;       //!< The ID of a town.
 
typedef uint16 VehicleID;    //!< The ID of a vehicle.
 
typedef uint BridgeType;     ///< Internal name, not of any use for you.
 
typedef byte CargoID;        ///< The ID of a cargo.
 
class CommandCost;           ///< The cost of a command.
 
typedef uint16 EngineID;     ///< The ID of an engine.
 
typedef uint16 GroupID;      ///< The ID of a group.
 
typedef uint16 IndustryID;   ///< The ID of an industry.
 
typedef uint8 IndustryType;  ///< The ID of an industry-type.
 
typedef OverflowSafeInt64 Money; ///< Money, stored in a 32bit/64bit safe way. For AIs money is always in pounds.
 
typedef uint16 SignID;       ///< The ID of a sign.
 
typedef uint16 StationID;    ///< The ID of a station.
 
typedef uint16 StringID;     ///< The ID of a string.
 
typedef uint16 SubsidyID;    ///< The ID of a subsidy.
 
typedef uint32 TileIndex;    ///< The ID of a tile (just named differently).
 
typedef uint16 TownID;       ///< The ID of a town.
 
typedef uint16 VehicleID;    ///< The ID of a vehicle.
 

	
 
/* Types we defined ourself, as the OpenTTD core doesn't have them (yet) */
 
typedef uint AIErrorType;    //!< The types of errors inside the NoAI framework.
 
typedef BridgeType BridgeID; //!< The ID of a bridge.
 
typedef uint AIErrorType;    ///< The types of errors inside the NoAI framework.
 
typedef BridgeType BridgeID; ///< The ID of a bridge.
 

	
 
#endif /* AI_TYPES_HPP */
src/ai/api/ai_vehicle.hpp
Show inline comments
 
@@ -75,28 +75,28 @@ public:
 
	 */
 
	enum VehicleType {
 
		/* Order IS important, as it now matches the internal state of the game for vehicle type */
 
		VT_RAIL,           //!< Rail type vehicle.
 
		VT_ROAD,           //!< Road type vehicle (bus / truck).
 
		VT_WATER,          //!< Water type vehicle.
 
		VT_AIR,            //!< Air type vehicle.
 
		VT_INVALID = 0xFF, //!< Invalid vehicle type.
 
		VT_RAIL,           ///< Rail type vehicle.
 
		VT_ROAD,           ///< Road type vehicle (bus / truck).
 
		VT_WATER,          ///< Water type vehicle.
 
		VT_AIR,            ///< Air type vehicle.
 
		VT_INVALID = 0xFF, ///< Invalid vehicle type.
 
	};
 

	
 
	/**
 
	 * The different states a vehicle can be in.
 
	 */
 
	enum VehicleState {
 
		VS_RUNNING,        //!< The vehicle is currently running.
 
		VS_STOPPED,        //!< The vehicle is stopped manually.
 
		VS_IN_DEPOT,       //!< The vehicle is stopped in the depot.
 
		VS_AT_STATION,     //!< The vehicle is stopped at a station and is currently loading or unloading.
 
		VS_BROKEN,         //!< The vehicle has broken down and will start running again in a while.
 
		VS_CRASHED,        //!< The vehicle is crashed (and will never run again).
 
		VS_RUNNING,        ///< The vehicle is currently running.
 
		VS_STOPPED,        ///< The vehicle is stopped manually.
 
		VS_IN_DEPOT,       ///< The vehicle is stopped in the depot.
 
		VS_AT_STATION,     ///< The vehicle is stopped at a station and is currently loading or unloading.
 
		VS_BROKEN,         ///< The vehicle has broken down and will start running again in a while.
 
		VS_CRASHED,        ///< The vehicle is crashed (and will never run again).
 

	
 
		VS_INVALID = 0xFF, //!< An invalid vehicle state.
 
		VS_INVALID = 0xFF, ///< An invalid vehicle state.
 
	};
 

	
 
	static const int VEHICLE_INVALID = -1; //!< Invalid VehicleID.
 
	static const int VEHICLE_INVALID = -1; ///< Invalid VehicleID.
 

	
 
	/**
 
	 * Checks whether the given vehicle is valid and owned by you.
src/ai/api/ai_waypoint.hpp
Show inline comments
 
@@ -28,9 +28,9 @@ public:
 
	 */
 
	enum WaypointType {
 
		/* Values are important, as they represent the internal state of the game. */
 
		WAYPOINT_RAIL      = 0x01, //!< Rail waypoint
 
		WAYPOINT_BUOY      = 0x10, //!< Buoy
 
		WAYPOINT_ANY       = 0x11, //!< All waypoint types
 
		WAYPOINT_RAIL      = 0x01, ///< Rail waypoint
 
		WAYPOINT_BUOY      = 0x10, ///< Buoy
 
		WAYPOINT_ANY       = 0x11, ///< All waypoint types
 
	};
 

	
 
	/**
0 comments (0 inline, 0 general)