From afdb67a3534f85b4efbd3327ece8137211042d7b Mon Sep 17 00:00:00 2001 From: truebrain Date: Tue, 29 Nov 2011 23:07:38 +0000 Subject: (svn r23354) -Codechange: move all src/ai/api/ai_*.[hc]pp files to src/script/api/script_* (Rubidium) --- src/script/api/script_types.hpp | 106 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 src/script/api/script_types.hpp (limited to 'src/script/api/script_types.hpp') diff --git a/src/script/api/script_types.hpp b/src/script/api/script_types.hpp new file mode 100644 index 000000000..a797d3e29 --- /dev/null +++ b/src/script/api/script_types.hpp @@ -0,0 +1,106 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** + * @file script_types.hpp 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 \ref newgrf_changes "(1)" never \ref newgrf_changes "(1)" no \ref newgrf_changes "(1)"
#CargoID cargo type game start \ref newgrf_changes "(1)" never \ref newgrf_changes "(1)" no \ref newgrf_changes "(1)"
#EngineID engine type introduction, preview \ref dynamic_engines "(2)" engines retires \ref dynamic_engines "(2)" no \ref dynamic_engines "(2)"
#GroupID vehicle group creation deletion yes
#IndustryID industry construction closure yes
#IndustryType industry type game start \ref newgrf_changes "(1)" never \ref newgrf_changes "(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
+ * + * @remarks + * \li \anchor newgrf_changes (1) in-game changes of newgrfs may reassign/invalidate IDs (will also cause other trouble though). + * \li \anchor dynamic_engines (2) engine IDs are reassigned/invalidated on changing 'allow multiple newgrf engine sets' (only allowed as long as no vehicles are built). + */ + +#ifndef SCRIPT_TYPES_HPP +#define SCRIPT_TYPES_HPP + +#include "../../core/overflowsafe_type.hpp" +#include "../../company_type.h" +#include + +/* 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 uint32 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. + +#endif /* SCRIPT_TYPES_HPP */ -- cgit v1.2.3-54-g00ecf