summaryrefslogtreecommitdiff
path: root/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'map.h')
-rw-r--r--map.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/map.h b/map.h
index 2a3ae9d91..dab709e3f 100644
--- a/map.h
+++ b/map.h
@@ -157,10 +157,19 @@ uint DistanceFromEdge(TileIndex); // shortest distance from any edge of the map
} while (var += TileDiffXY(0, 1) - (w), --h_cur != 0); \
}
+typedef enum DiagDirection DiagDirection;
+static inline TileIndexDiff TileOffsByDiagDir(DiagDirection dir)
+{
+ extern const TileIndexDiffC _tileoffs_by_diagdir[4];
+
+ assert(dir < lengthof(_tileoffs_by_diagdir));
+ return ToTileIndexDiff(_tileoffs_by_diagdir[dir]);
+}
-static inline TileIndexDiff TileOffsByDir(uint dir)
+typedef enum Direction Direction;
+static inline TileIndexDiff TileOffsByDir(Direction dir)
{
- extern const TileIndexDiffC _tileoffs_by_dir[4];
+ extern const TileIndexDiffC _tileoffs_by_dir[8];
assert(dir < lengthof(_tileoffs_by_dir));
return ToTileIndexDiff(_tileoffs_by_dir[dir]);