summaryrefslogtreecommitdiff
path: root/src/station_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-01-10 14:01:17 +0000
committerrubidium <rubidium@openttd.org>2009-01-10 14:01:17 +0000
commit2887ff30772f0e9c89493b7b12b5b20a849de6bc (patch)
tree239d6250b13ddb67b4c149c08a7c7351427fa9b7 /src/station_cmd.cpp
parent905631d9dff0cde79a5a4159a88a834db9bd6891 (diff)
downloadopenttd-2887ff30772f0e9c89493b7b12b5b20a849de6bc.tar.xz
(svn r14955) -Fix: newgrf station specs didn't get deallocated when building a new station part over them.
Diffstat (limited to 'src/station_cmd.cpp')
-rw-r--r--src/station_cmd.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp
index 12eca14d2..cfa23287d 100644
--- a/src/station_cmd.cpp
+++ b/src/station_cmd.cpp
@@ -1099,7 +1099,11 @@ CommandCost CmdBuildRailroadStation(TileIndex tile_org, uint32 flags, uint32 p1,
}
}
+ byte old_specindex = IsTileType(tile, MP_STATION) ? GetCustomStationSpecIndex(tile) : 0;
MakeRailStation(tile, st->owner, st->index, axis, layout & ~1, (RailType)GB(p1, 0, 4));
+ /* Free the spec if we overbuild something */
+ DeallocateSpecFromStation(st, old_specindex);
+
SetCustomStationSpecIndex(tile, specindex);
SetStationTileRandomBits(tile, GB(Random(), 0, 4));
SetStationAnimationFrame(tile, 0);