summaryrefslogtreecommitdiff
path: root/map.h
diff options
context:
space:
mode:
Diffstat (limited to 'map.h')
-rw-r--r--map.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/map.h b/map.h
index 02513ddd0..bb11c3612 100644
--- a/map.h
+++ b/map.h
@@ -146,6 +146,20 @@ uint DistanceTrack(TileIndex, TileIndex); // Returns the shortest distance one c
uint DistanceFromEdge(TileIndex); // shortest distance from any edge of the map
+#define BEGIN_TILE_LOOP(var,w,h,tile) \
+ { \
+ int h_cur = h; \
+ uint var = tile; \
+ do { \
+ int w_cur = w; \
+ do {
+
+#define END_TILE_LOOP(var,w,h,tile) \
+ } while (++var, --w_cur != 0); \
+ } while (var += TileDiffXY(0, 1) - (w), --h_cur != 0); \
+ }
+
+
static inline TileIndexDiff TileOffsByDir(uint dir)
{
extern const TileIndexDiffC _tileoffs_by_dir[4];