changeset 15892:f3b72d36846c draft

(svn r20574) -Codechange: a little over 1 million vehicles should be enough for the forseeable future
author rubidium <rubidium@openttd.org>
date Thu, 19 Aug 2010 20:58:30 +0000
parents 67b39929d6a2
children 801e6baa63ef
files src/ai/api/ai_types.hpp src/ai/api/ai_vehicle.hpp src/cargopacket.h src/script/squirrel.hpp src/vehicle_base.h src/vehicle_type.h
diffstat 6 files changed, 15 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/api/ai_types.hpp
+++ b/src/ai/api/ai_types.hpp
@@ -97,7 +97,7 @@
 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 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.
--- a/src/ai/api/ai_vehicle.hpp
+++ b/src/ai/api/ai_vehicle.hpp
@@ -97,7 +97,7 @@
 		VS_INVALID = 0xFF, ///< An invalid vehicle state.
 	};
 
-	static const VehicleID VEHICLE_INVALID = 0xFFFF; ///< Invalid VehicleID.
+	static const VehicleID VEHICLE_INVALID = 0xFFFFF; ///< Invalid VehicleID.
 
 	/**
 	 * Checks whether the given vehicle is valid and owned by you.
--- a/src/cargopacket.h
+++ b/src/cargopacket.h
@@ -23,8 +23,8 @@
 typedef uint32 CargoPacketID;
 struct CargoPacket;
 
-/** Type of the pool for cargo packets. */
-typedef Pool<CargoPacket, CargoPacketID, 1024, 1048576, true, false> CargoPacketPool;
+/** Type of the pool for cargo packets for a little over 16 million packets. */
+typedef Pool<CargoPacket, CargoPacketID, 1024, 0xFFF000, true, false> CargoPacketPool;
 /** The actual pool with cargo packets */
 extern CargoPacketPool _cargopacket_pool;
 
--- a/src/script/squirrel.hpp
+++ b/src/script/squirrel.hpp
@@ -89,6 +89,12 @@
 	 * Adds a const to the stack. Depending on the current state this means
 	 *  either a const to a class or to the global space.
 	 */
+	void AddConst(const char *var_name, uint value) { this->AddConst(var_name, (int)value); }
+
+	/**
+	 * Adds a const to the stack. Depending on the current state this means
+	 *  either a const to a class or to the global space.
+	 */
 	void AddConst(const char *var_name, bool value);
 
 	/**
@@ -126,6 +132,7 @@
 
 	void InsertResult(bool result);
 	void InsertResult(int result);
+	void InsertResult(uint result) { this->InsertResult((int)result); }
 
 	/**
 	 * Call a method of an instance, in various flavors.
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -53,7 +53,8 @@
 	uint32 cached_var43; ///< Cache for NewGRF var 43
 };
 
-typedef Pool<Vehicle, VehicleID, 512, 64000> VehiclePool;
+/** A vehicle pool for a little over 1 million vehicles. */
+typedef Pool<Vehicle, VehicleID, 512, 0xFF000> VehiclePool;
 extern VehiclePool _vehicle_pool;
 
 /* Some declarations of functions, so we can make them friendly */
--- a/src/vehicle_type.h
+++ b/src/vehicle_type.h
@@ -14,7 +14,7 @@
 
 #include "core/enum_type.hpp"
 
-typedef uint16 VehicleID;
+typedef uint32 VehicleID;
 
 /** Available vehicle types. */
 enum VehicleType {
@@ -45,7 +45,7 @@
 	VehicleTypeByte type;    ///< Type of vehicle
 };
 
-static const VehicleID INVALID_VEHICLE = 0xFFFF; ///< Constant representing a non-existing vehicle.
+static const VehicleID INVALID_VEHICLE = 0xFFFFF; ///< Constant representing a non-existing vehicle.
 
 /** Pathfinding option states */
 enum VehiclePathFinders {