summaryrefslogtreecommitdiff
path: root/station_cmd.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-06-25 16:44:57 +0000
committertron <tron@openttd.org>2005-06-25 16:44:57 +0000
commitbec5e4fb4cc475596e1f22db9232e2bd9a190d89 (patch)
treeed8629cbd76a9334fd657971f55ef5cb63c9915f /station_cmd.c
parent61f6f07edd837728d72e83daa0a4b8893ec77307 (diff)
downloadopenttd-bec5e4fb4cc475596e1f22db9232e2bd9a190d89.tar.xz
(svn r2487) Replace TILE_XY by TileXY/TileDiffXY
Diffstat (limited to 'station_cmd.c')
-rw-r--r--station_cmd.c76
1 files changed, 47 insertions, 29 deletions
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)