diff options
author | celestar <celestar@openttd.org> | 2005-01-29 19:41:44 +0000 |
---|---|---|
committer | celestar <celestar@openttd.org> | 2005-01-29 19:41:44 +0000 |
commit | 3c82a2b3c76da6933c8c0f75905f62795acb115a (patch) | |
tree | fcefcecfa2ec7dd8e9178d5206788bd62dcf3c53 /oldloader.c | |
parent | b8fb0141a3faef0e98dd13562848c816a4ebb8bf (diff) | |
download | openttd-3c82a2b3c76da6933c8c0f75905f62795acb115a.tar.xz |
(svn r1721) -Feature: It is now possible to build multiple road stations (up to 8) on
a single station.
Thanks to: Truelight for the saveload code, Darkvater and Hackykid for
network testing and Tron for proof-reading 1500 lines of diff.
Diffstat (limited to 'oldloader.c')
-rw-r--r-- | oldloader.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/oldloader.c b/oldloader.c index 07a4dde3f..4862c14a2 100644 --- a/oldloader.c +++ b/oldloader.c @@ -711,8 +711,16 @@ static void FixStation(OldStation *o, int num) s->xy = o->xy; s->town = REMAP_TOWN_PTR(o->town); - s->bus_tile = o->bus_tile; - s->lorry_tile = o->lorry_tile; + if (o->bus_tile != 0) { + s->bus_stops = GetFirstFreeRoadStop(); + s->bus_stops->xy = o->bus_tile; + } else + s->bus_stops = NULL; + if (o->lorry_tile != 0) { + s->truck_stops = GetFirstFreeRoadStop(); + s->truck_stops->xy = o->lorry_tile; + } else + s->truck_stops = 0; s->train_tile = o->train_tile; s->airport_tile = o->airport_tile; s->dock_tile = o->dock_tile; @@ -734,8 +742,10 @@ static void FixStation(OldStation *o, int num) s->owner = o->owner; s->facilities = o->facilities; s->airport_type = o->airport_type; - s->truck_stop_status = o->truck_stop_status; - s->bus_stop_status = o->bus_stop_status; + if (s->truck_stops != NULL) + s->truck_stops->status = o->truck_stop_status; + if (s->bus_stops != NULL) + s->bus_stops->status = o->bus_stop_status; s->blocked_months_obsolete = o->blocked_months_obsolete; s->airport_flags = o->airport_flags; s->last_vehicle = o->last_vehicle; |