diff options
-rw-r--r-- | station.h | 8 | ||||
-rw-r--r-- | station_cmd.c | 19 | ||||
-rw-r--r-- | train_cmd.c | 8 |
3 files changed, 19 insertions, 16 deletions
@@ -28,13 +28,15 @@ enum { 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 @@ struct Station { //uint16 airport_flags; uint32 airport_flags; - uint16 index; + StationID index; VehicleID last_vehicle; GoodsEntry goods[NUM_CARGO]; @@ -131,7 +133,7 @@ extern MemoryPool _station_pool; /** * 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); } diff --git a/station_cmd.c b/station_cmd.c index 34b7c80f7..e75cf1cca 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -79,7 +79,7 @@ static void MarkStationDirty(Station *st) } } -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 @@ TileIndex GetStationTileForVehicle(const Vehicle *v, const Station *st) 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 @@ static Station *AllocateStation(void) 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 @@ int32 CmdBuildRailroadStation(int x_org, int y_org, uint32 flags, uint32 p1, uin 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 const byte _enter_station_speedtable[12] = { 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 uint32 VehicleEnter_Station(Vehicle *v, uint tile, int x, int y) static void DeleteStation(Station *st) { Order order; - int index; + StationID index; st->xy = 0; DeleteName(st->string_id); @@ -2473,7 +2473,8 @@ static byte _rating_boost[3] = { 0, 31, 63}; static void UpdateStationRating(Station *st) { GoodsEntry *ge; - int rating, index; + int rating; + StationID index; int waiting; bool waiting_changed = false; @@ -2671,8 +2672,8 @@ int32 CmdRenameStation(int x, int y, uint32 flags, uint32 p1, uint32 p2) 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; diff --git a/train_cmd.c b/train_cmd.c index 39a247fe3..7e18243a1 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -1521,7 +1521,7 @@ static bool CheckTrainStayInDepot(Vehicle *v) /* 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 @@ static bool TrainTrackFollower(uint tile, TrainTrackFollowerData *ttfd, int trac 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 @@ static void FillWithStationData(TrainTrackFollowerData *fd, Vehicle *v) 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 @@ static int UpdateTrainSpeed(Vehicle *v) return (spd >> 8); } -static void TrainEnterStation(Vehicle *v, int station) +static void TrainEnterStation(Vehicle *v, StationID station) { Station *st; uint32 flags; |