mirror of https://github.com/OpenTTD/OpenTTD
Codechange: use functions described in documentation, instead of related other functions
parent
8ed983b3cd
commit
4a4c77ff04
|
@ -367,12 +367,19 @@ static int32_t LookupWithBuildOnSlopes(::Slope slope, const Array<> &existing, i
|
|||
*/
|
||||
static bool NormaliseTileOffset(int32_t *tile)
|
||||
{
|
||||
if (*tile == 1 || *tile == -1) return true;
|
||||
if (*tile == ::TileDiffXY(0, -1)) {
|
||||
if (*tile == ScriptMap::GetTileIndex(-1, 0)) {
|
||||
*tile = -1;
|
||||
return true;
|
||||
}
|
||||
if (*tile == ScriptMap::GetTileIndex(1, 0)) {
|
||||
*tile = 1;
|
||||
return true;
|
||||
}
|
||||
if (*tile == ScriptMap::GetTileIndex(0, -1)) {
|
||||
*tile = -2;
|
||||
return true;
|
||||
}
|
||||
if (*tile == ::TileDiffXY(0, 1)) {
|
||||
if (*tile == ScriptMap::GetTileIndex(0, 1)) {
|
||||
*tile = 2;
|
||||
return true;
|
||||
}
|
||||
|
@ -405,8 +412,12 @@ static bool NormaliseTileOffset(int32_t *tile)
|
|||
if (!::IsValidTile(tile) || !::IsValidTile(start) || !::IsValidTile(end)) return -1;
|
||||
if (::DistanceManhattan(tile, start) != 1 || ::DistanceManhattan(tile, end) != 1) return -1;
|
||||
|
||||
/* ROAD_NW ROAD_SW ROAD_SE ROAD_NE */
|
||||
const TileIndexDiff neighbours[] = {::TileDiffXY(0, -1), ::TileDiffXY(1, 0), ::TileDiffXY(0, 1), ::TileDiffXY(-1, 0)};
|
||||
const TileIndex neighbours[] = {
|
||||
ScriptMap::GetTileIndex(0, -1), // ROAD_NW
|
||||
ScriptMap::GetTileIndex(1, 0), // ROAD_SW
|
||||
ScriptMap::GetTileIndex(0, 1), // ROAD_SE
|
||||
ScriptMap::GetTileIndex(-1, 0), // ROAD_NE
|
||||
};
|
||||
|
||||
::RoadBits rb = ::ROAD_NONE;
|
||||
if (::IsNormalRoadTile(tile)) {
|
||||
|
@ -417,7 +428,7 @@ static bool NormaliseTileOffset(int32_t *tile)
|
|||
|
||||
Array<> existing;
|
||||
for (uint i = 0; i < lengthof(neighbours); i++) {
|
||||
if (HasBit(rb, i)) existing.emplace_back(neighbours[i]);
|
||||
if (HasBit(rb, i)) existing.emplace_back(neighbours[i].base());
|
||||
}
|
||||
|
||||
return ScriptRoad::CanBuildConnectedRoadParts(ScriptTile::GetSlope(tile), std::move(existing), start - tile, end - tile);
|
||||
|
|
Loading…
Reference in New Issue