(svn r4131) - CodeChange: Add proper semantics for StationID for such variables instead of using the general uint16-type. StationID was added for depots, waypoints and stations where necessary. We probably need to change GetDepot(), IsDepotIndex(), IsStationIndex(), GetWaypoint() and IsWaypointIndex() as well to use StationID.
--- a/depot.h Sun Mar 26 22:41:56 2006 +0000
+++ b/depot.h Sun Mar 26 22:55:27 2006 +0000
@@ -16,7 +16,7 @@
struct Depot {
TileIndex xy;
TownID town_index;
- uint16 index;
+ StationID index;
};
extern MemoryPool _depot_pool;
--- a/economy.c Sun Mar 26 22:41:56 2006 +0000
+++ b/economy.c Sun Mar 26 22:55:27 2006 +0000
@@ -1230,7 +1230,7 @@
return false;
}
-static int32 DeliverGoods(int num_pieces, CargoID cargo_type, uint16 source, uint16 dest, byte days_in_transit)
+static int32 DeliverGoods(int num_pieces, CargoID cargo_type, StationID source, StationID dest, byte days_in_transit)
{
bool subsidised;
Station *s_from, *s_to;
@@ -1340,7 +1340,7 @@
int unloading_time = 20;
Vehicle *u = v;
int result = 0;
- uint16 last_visited;
+ StationID last_visited;
Station *st;
int t;
uint count, cap;
--- a/openttd.h Sun Mar 26 22:41:56 2006 +0000
+++ b/openttd.h Sun Mar 26 22:55:27 2006 +0000
@@ -61,6 +61,7 @@
typedef struct Industry Industry;
typedef struct DrawPixelInfo DrawPixelInfo;
typedef uint16 VehicleID;
+typedef uint16 StationID;
typedef uint16 TownID;
typedef byte PlayerID;
typedef byte OrderID;
--- a/order.h Sun Mar 26 22:41:56 2006 +0000
+++ b/order.h Sun Mar 26 22:55:27 2006 +0000
@@ -78,7 +78,7 @@
typedef struct Order {
uint8 type;
uint8 flags;
- uint16 station;
+ StationID station;
struct Order *next; ///< Pointer to next order. If NULL, end of list
--- a/station.h Sun Mar 26 22:41:56 2006 +0000
+++ b/station.h Sun Mar 26 22:55:27 2006 +0000
@@ -14,7 +14,7 @@
uint16 waiting_acceptance;
byte days_since_pickup;
byte rating;
- uint16 enroute_from;
+ StationID enroute_from;
byte enroute_time;
byte last_speed;
byte last_age;
@@ -32,8 +32,6 @@
ROAD_STOP_LIMIT = 16,
};
-typedef uint16 StationID;
-
typedef struct RoadStop {
TileIndex xy;
bool used;
@@ -150,7 +148,7 @@
return _station_pool.total_items;
}
-static inline bool IsStationIndex(uint index)
+static inline bool IsStationIndex(StationID index)
{
return index < GetStationPoolSize();
}
--- a/vehicle.h Sun Mar 26 22:41:56 2006 +0000
+++ b/vehicle.h Sun Mar 26 22:55:27 2006 +0000
@@ -97,7 +97,7 @@
uint16 crashed_counter;
byte pos;
byte previous_pos;
- uint16 targetairport;
+ StationID targetairport;
byte state;
} VehicleAir;
@@ -176,11 +176,11 @@
byte progress;
byte vehstatus; // Status
- uint16 last_station_visited;
+ StationID last_station_visited;
CargoID cargo_type; // type of cargo this vehicle is carrying
byte cargo_days; // how many days have the pieces been in transit
- uint16 cargo_source;// source of cargo
+ StationID cargo_source;// source of cargo
uint16 cargo_cap; // total capacity
uint16 cargo_count;// how many pieces are used
--- a/waypoint.h Sun Mar 26 22:41:56 2006 +0000
+++ b/waypoint.h Sun Mar 26 22:55:27 2006 +0000
@@ -8,7 +8,7 @@
struct Waypoint {
TileIndex xy; ///< Tile of waypoint
- uint16 index; ///< Index of waypoint
+ StationID index; ///< Index of waypoint
TownID town_index; ///< Town associated with the waypoint
byte town_cn; ///< The Nth waypoint for this town (consecutive number)