mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-18 18:02:37 +01:00
Codechange: Added DIAGDIRECTIONS_ALL. (#14895)
This commit is contained in:
@@ -89,6 +89,9 @@ DECLARE_ENUM_AS_ADDABLE(DiagDirection)
|
||||
|
||||
using DiagDirections = EnumBitSet<DiagDirection, uint8_t>;
|
||||
|
||||
/** All possible diagonal directions. */
|
||||
static constexpr DiagDirections DIAGDIRECTIONS_ALL{DIAGDIR_NE, DIAGDIR_SE, DIAGDIR_SW, DIAGDIR_NW};
|
||||
|
||||
/**
|
||||
* Enumeration for the difference between to DiagDirection.
|
||||
*
|
||||
|
||||
@@ -325,7 +325,7 @@ void InvalidateWaterRegion(TileIndex tile)
|
||||
/* When updating the water region we look into the first tile of adjacent water regions to determine edge
|
||||
* traversability. This means that if we invalidate any region edge tiles we might also change the traversability
|
||||
* of the adjacent region. This code ensures the adjacent regions also get invalidated in such a case. */
|
||||
for (DiagDirection side = DIAGDIR_BEGIN; side < DIAGDIR_END; side++) {
|
||||
for (DiagDirection side : DIAGDIRECTIONS_ALL) {
|
||||
const TileIndex adjacent_tile = AddTileIndexDiffCWrap(tile, TileIndexDiffCByDiagDir(side));
|
||||
if (adjacent_tile == INVALID_TILE) continue;
|
||||
if (GetWaterRegionIndex(adjacent_tile) != GetWaterRegionIndex(tile)) invalidate_region(adjacent_tile);
|
||||
@@ -395,7 +395,7 @@ void VisitWaterRegionPatchNeighbours(const WaterRegionPatchDesc &water_region_pa
|
||||
const WaterRegion current_region = GetUpdatedWaterRegion(water_region_patch.x, water_region_patch.y);
|
||||
|
||||
/* Visit adjacent water region patches in each cardinal direction */
|
||||
for (DiagDirection side = DIAGDIR_BEGIN; side < DIAGDIR_END; side++) VisitAdjacentWaterRegionPatchNeighbours(water_region_patch, side, callback);
|
||||
for (DiagDirection side : DIAGDIRECTIONS_ALL) VisitAdjacentWaterRegionPatchNeighbours(water_region_patch, side, callback);
|
||||
|
||||
/* Visit neighbouring water patches accessible via cross-region aqueducts */
|
||||
if (current_region.HasCrossRegionAqueducts()) {
|
||||
|
||||
Reference in New Issue
Block a user