--- a/station.h Fri Mar 25 09:44:17 2005 +0000
+++ b/station.h Fri Mar 25 10:40:58 2005 +0000
@@ -28,13 +28,15 @@
ROAD_STOP_LIMIT = 8,
};
+typedef uint16 StationID;
+
typedef struct RoadStop {
TileIndex xy;
bool used;
byte status;
uint32 index;
uint16 slot[NUM_SLOTS];
- uint16 station; //XXX should be StationIndex
+ StationID station;
uint8 type;
struct RoadStop *next;
struct RoadStop *prev;
@@ -72,7 +74,7 @@
//uint16 airport_flags;
uint32 airport_flags;
- uint16 index;
+ StationID index;
VehicleID last_vehicle;
GoodsEntry goods[NUM_CARGO];
@@ -131,7 +133,7 @@
/**
* Get the pointer to the station with index 'index'
*/
-static inline Station *GetStation(uint index)
+static inline Station *GetStation(StationID index)
{
return (Station*)GetItemFromPool(&_station_pool, index);
}
--- a/station_cmd.c Fri Mar 25 09:44:17 2005 +0000
+++ b/station_cmd.c Fri Mar 25 10:40:58 2005 +0000
@@ -79,7 +79,7 @@
}
}
-static void InitializeRoadStop(RoadStop *road_stop, RoadStop *previous, TileIndex tile, uint index)
+static void InitializeRoadStop(RoadStop *road_stop, RoadStop *previous, TileIndex tile, StationID index)
{
road_stop->xy = tile;
road_stop->used = true;
@@ -224,7 +224,7 @@
static bool CheckStationSpreadOut(Station *st, uint tile, int w, int h)
{
- uint16 station_index = st->index;
+ StationID station_index = st->index;
uint i;
uint x1 = TileX(tile);
uint y1 = TileY(tile);
@@ -258,7 +258,7 @@
FOR_ALL_STATIONS(st) {
if (st->xy == 0) {
- uint index = st->index;
+ StationID index = st->index;
memset(st, 0, sizeof(Station));
st->index = index;
@@ -1020,7 +1020,7 @@
if (flags & DC_EXEC) {
int tile_delta;
byte *layout_ptr;
- uint station_index = st->index;
+ StationID station_index = st->index;
StationSpec *statspec;
// Now really clear the land below the station
@@ -2316,7 +2316,7 @@
static uint32 VehicleEnter_Station(Vehicle *v, uint tile, int x, int y)
{
- uint16 station_id; //XXX should be stationindex
+ StationID station_id;
byte dir;
uint16 spd;
@@ -2390,7 +2390,7 @@
static void DeleteStation(Station *st)
{
Order order;
- int index;
+ StationID index;
st->xy = 0;
DeleteName(st->string_id);
@@ -2473,7 +2473,8 @@
static void UpdateStationRating(Station *st)
{
GoodsEntry *ge;
- int rating, index;
+ int rating;
+ StationID index;
int waiting;
bool waiting_changed = false;
@@ -2671,8 +2672,8 @@
uint MoveGoodsToStation(uint tile, int w, int h, int type, uint amount)
{
Station *around_ptr[8];
- uint16 around[8];
- uint16 st_index;
+ StationID around[8];
+ StationID st_index;
int i;
Station *st;
uint moved;
--- a/train_cmd.c Fri Mar 25 09:44:17 2005 +0000
+++ b/train_cmd.c Fri Mar 25 10:40:58 2005 +0000
@@ -1521,7 +1521,7 @@
/* Check for station tiles */
typedef struct TrainTrackFollowerData {
TileIndex dest_coords;
- int station_index; // station index we're heading for
+ StationID station_index; // station index we're heading for
uint best_bird_dist;
uint best_track_dist;
byte best_track;
@@ -1550,7 +1550,7 @@
return false;
// did we reach the final station?
- if ((ttfd->station_index == -1 && tile == ttfd->dest_coords) ||
+ if ((ttfd->station_index == INVALID_STATION && tile == ttfd->dest_coords) ||
(IsTileType(tile, MP_STATION) && IS_BYTE_INSIDE(_map5[tile], 0, 8) && _map2[tile] == ttfd->station_index)) {
/* We do not check for dest_coords if we have a station_index,
* because in that case the dest_coords are just an
@@ -1585,7 +1585,7 @@
if (v->current_order.type == OT_GOTO_STATION)
fd->station_index = v->current_order.station;
else
- fd->station_index = -1;
+ fd->station_index = INVALID_STATION;
}
@@ -2018,7 +2018,7 @@
return (spd >> 8);
}
-static void TrainEnterStation(Vehicle *v, int station)
+static void TrainEnterStation(Vehicle *v, StationID station)
{
Station *st;
uint32 flags;