(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.

This commit is contained in:
Darkvater 2006-03-26 22:55:27 +00:00
parent 2ba792d644
commit 2c27f45cdc
7 changed files with 11 additions and 12 deletions

View File

@ -16,7 +16,7 @@
struct Depot { struct Depot {
TileIndex xy; TileIndex xy;
TownID town_index; TownID town_index;
uint16 index; StationID index;
}; };
extern MemoryPool _depot_pool; extern MemoryPool _depot_pool;

View File

@ -1230,7 +1230,7 @@ static bool CheckSubsidised(Station *from, Station *to, CargoID cargo_type)
return false; 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; bool subsidised;
Station *s_from, *s_to; Station *s_from, *s_to;
@ -1340,7 +1340,7 @@ int LoadUnloadVehicle(Vehicle *v)
int unloading_time = 20; int unloading_time = 20;
Vehicle *u = v; Vehicle *u = v;
int result = 0; int result = 0;
uint16 last_visited; StationID last_visited;
Station *st; Station *st;
int t; int t;
uint count, cap; uint count, cap;

View File

@ -61,6 +61,7 @@ typedef struct NewsItem NewsItem;
typedef struct Industry Industry; typedef struct Industry Industry;
typedef struct DrawPixelInfo DrawPixelInfo; typedef struct DrawPixelInfo DrawPixelInfo;
typedef uint16 VehicleID; typedef uint16 VehicleID;
typedef uint16 StationID;
typedef uint16 TownID; typedef uint16 TownID;
typedef byte PlayerID; typedef byte PlayerID;
typedef byte OrderID; typedef byte OrderID;

View File

@ -78,7 +78,7 @@ enum {
typedef struct Order { typedef struct Order {
uint8 type; uint8 type;
uint8 flags; uint8 flags;
uint16 station; StationID station;
struct Order *next; ///< Pointer to next order. If NULL, end of list struct Order *next; ///< Pointer to next order. If NULL, end of list

View File

@ -14,7 +14,7 @@ typedef struct GoodsEntry {
uint16 waiting_acceptance; uint16 waiting_acceptance;
byte days_since_pickup; byte days_since_pickup;
byte rating; byte rating;
uint16 enroute_from; StationID enroute_from;
byte enroute_time; byte enroute_time;
byte last_speed; byte last_speed;
byte last_age; byte last_age;
@ -32,8 +32,6 @@ enum {
ROAD_STOP_LIMIT = 16, ROAD_STOP_LIMIT = 16,
}; };
typedef uint16 StationID;
typedef struct RoadStop { typedef struct RoadStop {
TileIndex xy; TileIndex xy;
bool used; bool used;
@ -150,7 +148,7 @@ static inline uint16 GetStationPoolSize(void)
return _station_pool.total_items; return _station_pool.total_items;
} }
static inline bool IsStationIndex(uint index) static inline bool IsStationIndex(StationID index)
{ {
return index < GetStationPoolSize(); return index < GetStationPoolSize();
} }

View File

@ -97,7 +97,7 @@ typedef struct VehicleAir {
uint16 crashed_counter; uint16 crashed_counter;
byte pos; byte pos;
byte previous_pos; byte previous_pos;
uint16 targetairport; StationID targetairport;
byte state; byte state;
} VehicleAir; } VehicleAir;
@ -176,11 +176,11 @@ struct Vehicle {
byte progress; byte progress;
byte vehstatus; // Status byte vehstatus; // Status
uint16 last_station_visited; StationID last_station_visited;
CargoID cargo_type; // type of cargo this vehicle is carrying CargoID cargo_type; // type of cargo this vehicle is carrying
byte cargo_days; // how many days have the pieces been in transit 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_cap; // total capacity
uint16 cargo_count;// how many pieces are used uint16 cargo_count;// how many pieces are used

View File

@ -8,7 +8,7 @@
struct Waypoint { struct Waypoint {
TileIndex xy; ///< Tile of waypoint TileIndex xy; ///< Tile of waypoint
uint16 index; ///< Index of waypoint StationID index; ///< Index of waypoint
TownID town_index; ///< Town associated with the waypoint TownID town_index; ///< Town associated with the waypoint
byte town_cn; ///< The Nth waypoint for this town (consecutive number) byte town_cn; ///< The Nth waypoint for this town (consecutive number)