mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r15642) -Codechange: use a default parameter value in CalcClosestTownFromTile
This commit is contained in:
parent
f5c1365471
commit
7c8474da13
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue