ai_types.hpp File Reference

Defines all the types of the game, like IDs of various objects. More...


typedef uint BridgeType
 Internal name, not of any use for you.
typedef byte CargoID
 The ID of a cargo.
typedef uint16 EngineID
 The cost of a command.
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 uint32 VehicleID
 The ID of a vehicle.
typedef uint AIErrorType
 The types of errors inside the NoAI framework.
typedef BridgeType BridgeID
 The ID of a bridge.

Detailed Description

Defines all the types of the game, like IDs of various objects.

IDs are used to identify certain objects. They are only unique within the object type, so for example a vehicle may have VehicleID 2009, while a station has StationID 2009 at the same time. Also IDs are assigned arbitrary, you cannot assume them to be consecutive. Also note that some IDs are static and never change, while others are allocated dynamically and might be reused for other objects once they are released. So be careful, which IDs you store for which purpose and whether they stay valid all the time.

type object acquired released reused
BridgeID bridge type introduction (1) never (1) no (1)
CargoID cargo type game start (1) never (1) no (1)
EngineID engine type introduction, preview (2) engines retires (2) no (2)
GroupID vehicle group creation deletion yes
IndustryID industry construction closure yes
IndustryTypeindustry type game start (1) never (1) no
SignID sign construction deletion yes
StationID station construction expiration of 'grey' station sign after deletion yes
SubsidyID subsidy offer announcement (offer) expiration yes
TileIndex tile on map game start never no
TownID town game start never no
VehicleID vehicle construction, autorenew, autoreplace destruction, autorenew, autoreplace yes

  • (1) in-game changes of newgrfs may reassign/invalidate IDs (will also cause other trouble though).
  • (2) engine IDs are reassigned/invalidated on changing 'allow multiple newgrf engine sets' (only allowed as long as no vehicles are built).

Typedef Documentation

typedef uint16 EngineID

The cost of a command.

The ID of an engine.

Generated on Sun Feb 19 19:41:40 2012 for OpenTTD NoAI API by  doxygen 1.5.6