(svn r15642) -Codechange: use a default parameter value in CalcClosestTownFromTile

This commit is contained in:
smatz 2009-03-08 01:20:11 +00:00
parent f5c1365471
commit 7c8474da13
4 changed files with 9 additions and 9 deletions

View File

@ -290,7 +290,7 @@ static CommandCost RemoveRoad(TileIndex tile, DoCommandFlag flags, RoadBits piec
} else { } else {
if (rt == ROADTYPE_ROAD && IsRoadOwner(tile, ROADTYPE_ROAD, OWNER_TOWN)) { if (rt == ROADTYPE_ROAD && IsRoadOwner(tile, ROADTYPE_ROAD, OWNER_TOWN)) {
/* Update nearest-town index */ /* Update nearest-town index */
const Town *town = CalcClosestTownFromTile(tile, UINT_MAX); const Town *town = CalcClosestTownFromTile(tile);
SetTownIndex(tile, town == NULL ? (TownID)INVALID_TOWN : town->index); SetTownIndex(tile, town == NULL ? (TownID)INVALID_TOWN : town->index);
} }
SetRoadBits(tile, ROAD_NONE, rt); SetRoadBits(tile, ROAD_NONE, rt);
@ -457,7 +457,7 @@ CommandCost CmdBuildRoad(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
* if a non-company is building the road */ * if a non-company is building the road */
if ((IsValidCompanyID(_current_company) && p2 != 0) || (_current_company == OWNER_TOWN && !IsValidTownID(p2))) return CMD_ERROR; if ((IsValidCompanyID(_current_company) && p2 != 0) || (_current_company == OWNER_TOWN && !IsValidTownID(p2))) return CMD_ERROR;
if (_current_company != OWNER_TOWN) { if (_current_company != OWNER_TOWN) {
const Town *town = CalcClosestTownFromTile(tile, UINT_MAX); const Town *town = CalcClosestTownFromTile(tile);
p2 = (town != NULL) ? town->index : (TownID)INVALID_TOWN; p2 = (town != NULL) ? town->index : (TownID)INVALID_TOWN;
} }
@ -1254,7 +1254,7 @@ void UpdateNearestTownForRoadTiles(bool invalidate)
if (IsTileType(t, MP_ROAD) && !HasTownOwnedRoad(t)) { if (IsTileType(t, MP_ROAD) && !HasTownOwnedRoad(t)) {
TownID tid = (TownID)INVALID_TOWN; TownID tid = (TownID)INVALID_TOWN;
if (!invalidate) { if (!invalidate) {
const Town *town = CalcClosestTownFromTile(t, UINT_MAX); const Town *town = CalcClosestTownFromTile(t);
if (town != NULL) tid = town->index; if (town != NULL) tid = town->index;
} }
SetTownIndex(t, tid); SetTownIndex(t, tid);

View File

@ -624,13 +624,13 @@ bool AfterLoadGame()
switch (GetTileType(t)) { switch (GetTileType(t)) {
case MP_HOUSE: case MP_HOUSE:
_m[t].m4 = _m[t].m2; _m[t].m4 = _m[t].m2;
SetTownIndex(t, CalcClosestTownFromTile(t, UINT_MAX)->index); SetTownIndex(t, CalcClosestTownFromTile(t)->index);
break; break;
case MP_ROAD: case MP_ROAD:
_m[t].m4 |= (_m[t].m2 << 4); _m[t].m4 |= (_m[t].m2 << 4);
if ((GB(_m[t].m5, 4, 2) == ROAD_TILE_CROSSING ? (Owner)_m[t].m3 : GetTileOwner(t)) == OWNER_TOWN) { if ((GB(_m[t].m5, 4, 2) == ROAD_TILE_CROSSING ? (Owner)_m[t].m3 : GetTileOwner(t)) == OWNER_TOWN) {
SetTownIndex(t, CalcClosestTownFromTile(t, UINT_MAX)->index); SetTownIndex(t, CalcClosestTownFromTile(t)->index);
} else { } else {
SetTownIndex(t, 0); SetTownIndex(t, 0);
} }
@ -775,7 +775,7 @@ bool AfterLoadGame()
break; break;
} }
if (!HasTownOwnedRoad(t)) { if (!HasTownOwnedRoad(t)) {
const Town *town = CalcClosestTownFromTile(t, (uint)-1); const Town *town = CalcClosestTownFromTile(t);
if (town != NULL) SetTownIndex(t, town->index); if (town != NULL) SetTownIndex(t, town->index);
} }
_m[t].m4 = 0; _m[t].m4 = 0;
@ -1273,7 +1273,7 @@ bool AfterLoadGame()
if (CheckSavegameVersion(52)) { if (CheckSavegameVersion(52)) {
for (TileIndex t = 0; t < map_size; t++) { for (TileIndex t = 0; t < map_size; t++) {
if (IsStatueTile(t)) { if (IsStatueTile(t)) {
_m[t].m2 = CalcClosestTownFromTile(t, UINT_MAX)->index; _m[t].m2 = CalcClosestTownFromTile(t)->index;
} }
} }
} }

View File

@ -340,7 +340,7 @@ static inline Town *GetRandomTown()
return GetTown(index); return GetTown(index);
} }
Town *CalcClosestTownFromTile(TileIndex tile, uint threshold); Town *CalcClosestTownFromTile(TileIndex tile, uint threshold = UINT_MAX);
#define FOR_ALL_TOWNS_FROM(t, start) for (t = GetTown(start); t != NULL; t = (t->index + 1U < GetTownPoolSize()) ? GetTown(t->index + 1U) : NULL) if (t->IsValid()) #define FOR_ALL_TOWNS_FROM(t, start) for (t = GetTown(start); t != NULL; t = (t->index + 1U < GetTownPoolSize()) ? GetTown(t->index + 1U) : NULL) if (t->IsValid())
#define FOR_ALL_TOWNS(t) FOR_ALL_TOWNS_FROM(t, 0) #define FOR_ALL_TOWNS(t) FOR_ALL_TOWNS_FROM(t, 0)

View File

@ -2590,7 +2590,7 @@ Town *ClosestTownFromTile(TileIndex tile, uint threshold)
Town *town = GetTown(tid); Town *town = GetTown(tid);
assert(town->IsValid()); assert(town->IsValid());
assert(town == CalcClosestTownFromTile(tile, UINT_MAX)); assert(town == CalcClosestTownFromTile(tile));
if (DistanceManhattan(tile, town->xy) >= threshold) town = NULL; if (DistanceManhattan(tile, town->xy) >= threshold) town = NULL;