summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/station.cpp2
-rw-r--r--src/station.h5
-rw-r--r--src/station_cmd.cpp7
3 files changed, 7 insertions, 7 deletions
diff --git a/src/station.cpp b/src/station.cpp
index d3eff6bb1..b718a0aac 100644
--- a/src/station.cpp
+++ b/src/station.cpp
@@ -350,7 +350,6 @@ void RoadStop::operator delete(void *p, int index)
/** Initializes a RoadStop */
RoadStop::RoadStop(TileIndex tile) :
xy(tile),
- used(true),
status(3), // stop is free
num_vehicles(0),
next(NULL),
@@ -377,7 +376,6 @@ RoadStop::~RoadStop()
if (prev != NULL) prev->next = next;
if (next != NULL) next->prev = prev;
- used = false;
DEBUG(ms, cDebugCtorLevel , "I- at %d[0x%x]", xy, xy);
xy = INVALID_TILE;
diff --git a/src/station.h b/src/station.h
index 7d0ec21fa..7299b87f7 100644
--- a/src/station.h
+++ b/src/station.h
@@ -46,9 +46,8 @@ enum {
typedef struct RoadStop {
TileIndex xy;
- bool used;
- byte status;
RoadStopID index;
+ byte status;
byte num_vehicles;
struct RoadStop *next;
struct RoadStop *prev;
@@ -258,7 +257,7 @@ DECLARE_OLD_POOL(RoadStop, RoadStop, 5, 2000)
*/
static inline bool IsValidRoadStop(const RoadStop *rs)
{
- return rs->used;
+ return rs->xy != INVALID_TILE;
}
#define FOR_ALL_ROADSTOPS_FROM(rs, start) for (rs = GetRoadStop(start); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) if (IsValidRoadStop(rs))
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 1d0f2befb..b66d64b05 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -68,7 +68,10 @@ static void RoadStopPoolNewBlock(uint start_item)
/* We don't use FOR_ALL here, because FOR_ALL skips invalid items.
* TODO - This is just a temporary stage, this will be removed. */
- for (rs = GetRoadStop(start_item); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) rs->index = start_item++;
+ for (rs = GetRoadStop(start_item); rs != NULL; rs = (rs->index + 1U < GetRoadStopPoolSize()) ? GetRoadStop(rs->index + 1U) : NULL) {
+ rs->xy = INVALID_TILE;
+ rs->index = start_item++;
+ }
}
DEFINE_OLD_POOL(Station, Station, StationPoolNewBlock, StationPoolCleanBlock)
@@ -2847,7 +2850,7 @@ extern const TileTypeProcs _tile_type_station_procs = {
static const SaveLoad _roadstop_desc[] = {
SLE_VAR(RoadStop,xy, SLE_UINT32),
- SLE_VAR(RoadStop,used, SLE_BOOL),
+ SLE_CONDNULL(1, 0, 44),
SLE_VAR(RoadStop,status, SLE_UINT8),
/* Index was saved in some versions, but this is not needed */
SLE_CONDNULL(4, 0, 8),