diff options
author | truelight <truelight@openttd.org> | 2006-08-26 17:31:47 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2006-08-26 17:31:47 +0000 |
commit | 4adf627551ddd1c7fca2c67d46840298c5714809 (patch) | |
tree | 09d9a6f67e95f26706a0b4e404891623c5c71a12 | |
parent | 43f53ca4fd3c0d73cc8cd0ae6a86dd30a2c5e718 (diff) | |
download | openttd-4adf627551ddd1c7fca2c67d46840298c5714809.tar.xz |
(svn r6146) -Fix: MSVC doesn't know how to cast to an union.. so fix it via an indirect (and btw the old) way
-rw-r--r-- | depot.c | 5 | ||||
-rw-r--r-- | station_cmd.c | 4 | ||||
-rw-r--r-- | waypoint.c | 4 |
3 files changed, 10 insertions, 3 deletions
@@ -79,11 +79,14 @@ Depot *AllocateDepot(void) */ void DestroyDepot(Depot *depot) { + DestinationID dest; + /* Clear the tile */ DoClearSquare(depot->xy); /* Clear the depot from all order-lists */ - RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, (DestinationID)depot->index); + dest.depot = depot->index; + RemoveOrderFromAllVehicles(OT_GOTO_DEPOT, dest); /* Delete the depot-window */ DeleteWindowById(WC_VEHICLE_DEPOT, depot->xy); diff --git a/station_cmd.c b/station_cmd.c index 6e7feda73..135081c6d 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -2399,6 +2399,7 @@ static uint32 VehicleEnter_Station(Vehicle *v, TileIndex tile, int x, int y) */ static void DeleteStation(Station *st) { + DestinationID dest; StationID index; Vehicle *v; st->xy = 0; @@ -2412,7 +2413,8 @@ static void DeleteStation(Station *st) DeleteWindowById(WC_STATION_VIEW, index); /* Now delete all orders that go to the station */ - RemoveOrderFromAllVehicles(OT_GOTO_STATION, (DestinationID)index); + dest.station = index; + RemoveOrderFromAllVehicles(OT_GOTO_STATION, dest); //And do the same with aircraft that have the station as a hangar-stop FOR_ALL_VEHICLES(v) { diff --git a/waypoint.c b/waypoint.c index 25abc7d66..4aeb72040 100644 --- a/waypoint.c +++ b/waypoint.c @@ -88,6 +88,7 @@ static void RedrawWaypointSign(const Waypoint* wp) /* Update all signs */ void UpdateAllWaypointSigns(void) { + DestinationID dest; Waypoint *wp; FOR_ALL_WAYPOINTS(wp) { @@ -98,7 +99,8 @@ void UpdateAllWaypointSigns(void) /* Internal handler to delete a waypoint */ void DestroyWaypoint(Waypoint *wp) { - RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, (DestinationID)wp->index); + dest.waypoint = wp->index; + RemoveOrderFromAllVehicles(OT_GOTO_WAYPOINT, dest); if (wp->string != STR_NULL) DeleteName(wp->string); |