1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-09-02 11:29:10 +00:00

Codechange: use functions described in documentation, instead of related other functions

This commit is contained in:
Rubidium
2024-10-22 16:39:16 +02:00
committed by rubidium42
parent 8ed983b3cd
commit 4a4c77ff04

View File

@@ -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);