(svn r20284) -Codechange: use ///< for single-line doxygen comments in the AI code

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
yexo 14 years ago
parent ed4f806f1d
commit 99cb47a382

@ -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:
/**

@ -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
};
/**

@ -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.
};
/**

@ -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
};
/**

@ -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.
};
/**

@ -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

@ -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
};
/**

@ -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.
};
/**

@ -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())
};
/**

@ -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.
};
/**

@ -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 */

@ -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"; }

@ -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
};
/**

@ -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
};
/**

@ -361,12 +361,12 @@ static uint32 SimulateDrag(TileIndex from, TileIndex tile, TileIndex *to)
* 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

@ -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
};
/**

@ -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
};
/**

@ -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
};
/**

@ -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
};
/**

@ -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_INVALID = 0xFFFF, //!< An invalid slope
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
};
/**
@ -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
};
/**

@ -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.
};
/**

@ -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 */

@ -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_INVALID = 0xFF, //!< An invalid vehicle state.
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.
};
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.

@ -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
};
/**

Loading…
Cancel
Save