From 9617614b04b7e2981ebff5074b55778381ca8b20 Mon Sep 17 00:00:00 2001 From: tron Date: Sat, 25 Jun 2005 16:44:57 +0000 Subject: (svn r2487) Replace TILE_XY by TileXY/TileDiffXY --- station_cmd.c | 76 ++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 29 deletions(-) (limited to 'station_cmd.c') diff --git a/station_cmd.c b/station_cmd.c index 4766e62ad..9e5e6ffc4 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -175,7 +175,7 @@ static byte FindCatchmentRadius(Station *st) static Station *GetStationAround(TileIndex tile, int w, int h, int closest_station) { // check around to see if there's any stations there - BEGIN_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TILE_XY(1,1)) + BEGIN_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TileDiffXY(1, 1)) if (IsTileType(tile_cur, MP_STATION)) { int t; t = _map2[tile_cur]; @@ -193,7 +193,7 @@ static Station *GetStationAround(TileIndex tile, int w, int h, int closest_stati return CHECK_STATIONS_ERR; } } - END_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TILE_XY(1,1)) + END_TILE_LOOP(tile_cur, w + 2, h + 2, tile - TileDiffXY(1, 1)) return (closest_station == -1) ? NULL : GetStation(closest_station); } @@ -550,7 +550,7 @@ void GetProductionAroundTiles(AcceptedCargo produced, TileIndex tile, for (xc = x1; xc != x2; xc++) { if (!(IS_INSIDE_1D(xc, x, w) && IS_INSIDE_1D(yc, y, h))) { GetProducedCargoProc *gpc; - TileIndex tile = TILE_XY(xc, yc); + TileIndex tile = TileXY(xc, yc); gpc = _tile_type_procs[GetTileType(tile)]->get_produced_cargo_proc; if (gpc != NULL) { @@ -596,7 +596,7 @@ void GetAcceptanceAroundTiles(AcceptedCargo accepts, TileIndex tile, for (yc = y1; yc != y2; yc++) { for (xc = x1; xc != x2; xc++) { - TileIndex tile = TILE_XY(xc, yc); + TileIndex tile = TileXY(xc, yc); if (!IsTileType(tile, MP_STATION)) { AcceptedCargo ac; @@ -653,14 +653,14 @@ static void UpdateStationAcceptance(Station *st, bool show_msg) if (st->train_tile != 0) { MergePoint(&rect, st->train_tile); MergePoint(&rect, - st->train_tile + TILE_XY(st->trainst_w - 1, st->trainst_h - 1) + st->train_tile + TileDiffXY(st->trainst_w - 1, st->trainst_h - 1) ); } if (st->airport_tile != 0) { MergePoint(&rect, st->airport_tile); MergePoint(&rect, - st->airport_tile + TILE_XY( + st->airport_tile + TileDiffXY( _airport_size_x[st->airport_type] - 1, _airport_size_y[st->airport_type] - 1 ) @@ -687,7 +687,7 @@ static void UpdateStationAcceptance(Station *st, bool show_msg) if (rect.max_x >= rect.min_x) { GetAcceptanceAroundTiles( accepts, - TILE_XY(rect.min_x, rect.min_y), + TileXY(rect.min_x, rect.min_y), rect.max_x - rect.min_x + 1, rect.max_y - rect.min_y + 1, rad @@ -831,7 +831,7 @@ static bool CanExpandRailroadStation(Station *st, uint *fin, int direction) int y = min(TileY(st->train_tile), TileY(tile)); curw = max(TileX(st->train_tile) + curw, TileX(tile) + w) - x; curh = max(TileY(st->train_tile) + curh, TileY(tile) + h) - y; - tile = TILE_XY(x,y); + tile = TileXY(x, y); } else { // check so the direction is the same if ((_map5[st->train_tile] & 1) != direction) { @@ -840,19 +840,19 @@ static bool CanExpandRailroadStation(Station *st, uint *fin, int direction) } // check if the new station adjoins the old station in either direction - if (curw == w && st->train_tile == tile + TILE_XY(0, h)) { + if (curw == w && st->train_tile == tile + TileDiffXY(0, h)) { // above curh += h; - } else if (curw == w && st->train_tile == tile - TILE_XY(0, curh)) { + } else if (curw == w && st->train_tile == tile - TileDiffXY(0, curh)) { // below - tile -= TILE_XY(0, curh); + tile -= TileDiffXY(0, curh); curh += h; - } else if (curh == h && st->train_tile == tile + TILE_XY(w, 0)) { + } else if (curh == h && st->train_tile == tile + TileDiffXY(w, 0)) { // to the left curw += w; - } else if (curh == h && st->train_tile == tile - TILE_XY(curw, 0)) { + } else if (curh == h && st->train_tile == tile - TileDiffXY(curw, 0)) { // to the right - tile -= TILE_XY(curw, 0); + tile -= TileDiffXY(curw, 0); curw += w; } else { _error_message = STR_306D_NONUNIFORM_STATIONS_DISALLOWED; @@ -1040,7 +1040,7 @@ int32 CmdBuildRailroadStation(int x, int y, uint32 flags, uint32 p1, uint32 p2) st->build_date = _date; - tile_delta = direction ? TILE_XY(0,1) : TILE_XY(1,0); + tile_delta = direction ? TileDiffXY(0, 1) : TileDiffXY(1, 0); statspec = (p2 & 0x10) != 0 ? GetCustomStation(STAT_CLASS_DFLT, p2 >> 8) : NULL; layout_ptr = alloca(numtracks * plat_len); @@ -1062,7 +1062,7 @@ int32 CmdBuildRailroadStation(int x, int y, uint32 flags, uint32 p1, uint32 p2) tile += tile_delta; } while (--w); - tile_org += tile_delta ^ TILE_XY(1,1); + tile_org += tile_delta ^ TileDiffXY(1, 1); // perpendicular to tile_delta } while (--numtracks); UpdateStationVirtCoordDirty(st); @@ -1090,24 +1090,42 @@ restart: // too small? if (w != 0 && h != 0) { // check the left side, x = constant, y changes - for(i=0; !TileBelongsToRailStation(st, tile + TILE_XY(0,i)) ;) + for (i = 0; !TileBelongsToRailStation(st, tile + TileDiffXY(0, i));) { // the left side is unused? - if (++i==h) { tile += TILE_XY(1, 0); w--; goto restart; } + if (++i == h) { + tile += TileDiffXY(1, 0); + w--; + goto restart; + } + } // check the right side, x = constant, y changes - for(i=0; !TileBelongsToRailStation(st, tile + TILE_XY(w-1,i)) ;) + for (i = 0; !TileBelongsToRailStation(st, tile + TileDiffXY(w - 1, i));) { // the right side is unused? - if (++i==h) { w--; goto restart; } + if (++i == h) { + w--; + goto restart; + } + } // check the upper side, y = constant, x changes - for(i=0; !TileBelongsToRailStation(st, tile + TILE_XY(i,0)) ;) + for (i = 0; !TileBelongsToRailStation(st, tile + TileDiffXY(i, 0));) { // the left side is unused? - if (++i==w) { tile += TILE_XY(0, 1); h--; goto restart; } + if (++i == w) { + tile += TileDiffXY(0, 1); + h--; + goto restart; + } + } // check the lower side, y = constant, x changes - for(i=0; !TileBelongsToRailStation(st, tile + TILE_XY(i,h-1)) ;) + for (i = 0; !TileBelongsToRailStation(st, tile + TileDiffXY(i, h - 1));) { // the left side is unused? - if (++i==w) { h--; goto restart; } + if (++i == w) { + h--; + goto restart; + } + } } else { tile = 0; } @@ -1162,7 +1180,7 @@ uint GetStationPlatforms(Station *st, TileIndex tile) len = 0; dir = _map5[tile]&1; - delta = dir ? TILE_XY(0,1) : TILE_XY(1,0); + delta = dir ? TileDiffXY(0, 1) : TileDiffXY(1, 0); // find starting tile.. t = tile; @@ -1373,10 +1391,10 @@ static int32 RemoveRailroadStation(Station *st, TileIndex tile, uint32 flags) if (flags & DC_EXEC) DoClearSquare(tile); } - tile += TILE_XY(1, 0); + tile += TileDiffXY(1, 0); } while (--w); w = w_bak; - tile = tile + TILE_XY(-w, 1); + tile += TileDiffXY(-w, 1); } while (--h); if (flags & DC_EXEC) { @@ -2712,7 +2730,7 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount) max_rad = 4; } - BEGIN_TILE_LOOP(cur_tile, w, h, tile - TILE_XY(max_rad,max_rad)) + BEGIN_TILE_LOOP(cur_tile, w, h, tile - TileDiffXY(max_rad, max_rad)) cur_tile = TILE_MASK(cur_tile); if (IsTileType(cur_tile, MP_STATION)) { st_index = _map2[cur_tile]; @@ -2761,7 +2779,7 @@ uint MoveGoodsToStation(TileIndex tile, int w, int h, int type, uint amount) break; } } - END_TILE_LOOP(cur_tile, w, h, tile - TILE_XY(max_rad, max_rad)) + END_TILE_LOOP(cur_tile, w, h, tile - TileDiffXY(max_rad, max_rad)) /* no stations around at all? */ if (around[0] == INVALID_STATION) -- cgit v1.2.3-54-g00ecf