(svn r4515) -Codechange: TPFMode2 is currently only used for TRANSPORT_WATER. So remove all stuff that deals with other transport types and assert TRANSPORT_WATER

pull/155/head
celestar 19 years ago
parent 68c5c83b4b
commit f1d85ec3c4

@ -809,7 +809,7 @@ ifndef NATIVE_OSX
# OSX links in os/macosx/Makefile to handle universal binaries better
$(TTD): $(OBJS) $(MAKE_CONFIG)
@echo '===> Linking $@'
$(Q)$(CC) $(LDFLAGS) $(TTDLDFLAGS) $(OBJS) $(LIBS) -o $@
$(Q)$(CC) $(LDFLAGS) -lefence $(TTDLDFLAGS) $(OBJS) $(LIBS) -o $@
endif
$(STRGEN): strgen/strgen.c endian_host.h

@ -134,47 +134,14 @@ static void TPFMode2(TrackPathFinder* tpf, TileIndex tile, DiagDirection directi
uint bits;
int i;
RememberData rd;
int owner = -1;
/* XXX: Mode 2 is currently only used for ships, why is this code here? */
if (tpf->tracktype == TRANSPORT_RAIL) {
switch (GetTileType(tile)) {
case MP_TUNNELBRIDGE:
// bridge middle has no owner
if (IsBridge(tile) && IsBridgeMiddle(tile)) break;
/* FALLTHROUGH */
case MP_RAILWAY:
case MP_STATION:
owner = GetTileOwner(tile);
break;
default: break; // XXX can this occur?
}
}
assert(tpf->tracktype == TRANSPORT_WATER);
// This addition will sometimes overflow by a single tile.
// The use of TILE_MASK here makes sure that we still point at a valid
// tile, and then this tile will be in the sentinel row/col, so GetTileTrackStatus will fail.
tile = TILE_MASK(tile + TileOffsByDir(direction));
/* Check in case of rail if the owner is the same */
if (tpf->tracktype == TRANSPORT_RAIL) {
switch (GetTileType(tile)) {
case MP_TUNNELBRIDGE:
// bridge middle has no owner
if (IsBridge(tile) && IsBridgeMiddle(tile)) break;
/* FALLTHROUGH */
case MP_RAILWAY:
case MP_STATION:
if (owner != -1 && !IsTileOwner(tile, owner)) return;
break;
default: break; // XXX can this occur?
}
}
if (++tpf->rd.cur_length > 50)
return;

Loading…
Cancel
Save