From 52f8e963c1e1b577ece5001ef24653442da8b47d Mon Sep 17 00:00:00 2001 From: darkvater Date: Thu, 12 Aug 2004 21:11:23 +0000 Subject: [PATCH] (svn r29) -Fix You cannot take ownership of an oilrig by building right next to it -Fix when adding parts to a statin max size is not 15x15 anymore, but _patches.station_spread --- station_cmd.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/station_cmd.c b/station_cmd.c index 4c9c9c4d64..b54f81b39c 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -43,6 +43,13 @@ static Station *GetStationAround(uint tile, int w, int h, int closest_station) if (IS_TILETYPE(tile_cur, MP_STATION)) { int t; t = _map2[tile_cur]; + { + Station *st = DEREF_STATION(t); + // you cannot take control of an oilrig!! + if (st->airport_type == AT_OILRIG && st->facilities == (FACIL_AIRPORT|FACIL_DOCK)) + continue; + } + if (closest_station == -1) { closest_station = t; } else if (closest_station != t) { @@ -538,16 +545,8 @@ static void UpdateStationAcceptance(Station *st, bool show_msg) static void DeleteStationIfEmpty(Station *st) { if (st->facilities == 0) { st->delete_ctr = 0; - } - - // if a station next to an oilrig is removed, fix ownership - if (st->airport_type == AT_OILRIG && st->facilities == (FACIL_AIRPORT|FACIL_DOCK) ) { - _station_sort_dirty = true; InvalidateWindow(WC_STATION_LIST, st->owner); - st->owner = 0x10; } - - InvalidateWindow(WC_STATION_LIST, st->owner); } // Tries to clear the given area. Returns the cost in case of success. @@ -657,7 +656,7 @@ static bool CanExpandRailroadStation(Station *st, uint *fin, int direction) return false; } // make sure the final size is not too big. - if (curw > 15 || curh > 15) return false; + if (curw > _patches.station_spread || curh > _patches.station_spread) return false; // now tile contains the new value for st->train_tile // curw, curh contain the new value for width and height