summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_types.hpp
diff options
context:
space:
mode:
authortruebrain <truebrain@openttd.org>2009-01-12 17:11:45 +0000
committertruebrain <truebrain@openttd.org>2009-01-12 17:11:45 +0000
commita3dd7506d377b1434f913bd65c019eed52b64b6e (patch)
treeced1a262eb143ad6e64ec02f4a4c89835c0c32fd /src/ai/api/ai_types.hpp
parent9294f9616866b9778c22076c19b5a32b4f85f788 (diff)
downloadopenttd-a3dd7506d377b1434f913bd65c019eed52b64b6e.tar.xz
(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to see.
NoAI is an API (a framework) to build your own AIs in. See: http://wiki.openttd.org/wiki/index.php/AI:Main_Page With many thanks to: - glx and Rubidium for their syncing, feedback and hard work - Yexo for his feedback, patches, and AIs which tested the system very deep - Morloth for his feedback and patches - TJIP for hosting a challenge which kept NoAI on track - All AI authors for testing our AI API, and all other people who helped in one way or another -Remove: all old AIs and their cheats/hacks
Diffstat (limited to 'src/ai/api/ai_types.hpp')
-rw-r--r--src/ai/api/ai_types.hpp40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/ai/api/ai_types.hpp b/src/ai/api/ai_types.hpp
new file mode 100644
index 000000000..086cf75e0
--- /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 */