diff --git a/src/ai/api/ai_types.hpp b/src/ai/api/ai_types.hpp new file mode 100644 --- /dev/null +++ b/src/ai/api/ai_types.hpp @@ -0,0 +1,40 @@ +/* $Id$ */ + +/** @file ai_types.hpp Defines all the types of the game, like VehicleID, .... */ + +#ifndef AI_TYPES_HPP +#define AI_TYPES_HPP + +#include "../../core/overflowsafe_type.hpp" +#include "../../company_type.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 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 uint16 SubsidyID; //!< The ID of a subsidy. + +#ifndef _SQUIRREL_H_ +/* Life becomes easier when we can tell about a function it needs the VM, but + * without really including 'squirrel.h'. */ +typedef struct SQVM *HSQUIRRELVM; //!< Pointer to Squirrel Virtual Machine. +typedef int SQInteger; //!< Squirrel Integer. +typedef struct SQObject HSQOBJECT; //!< Squirrel Object (fake declare) +#endif + +#endif /* AI_TYPES_HPP */