]> git.pond.sub.org Git - empserver/commitdiff
path: New DIR_BACK()
authorMarkus Armbruster <armbru@pond.sub.org>
Fri, 17 Jan 2014 17:49:48 +0000 (18:49 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 16 Feb 2014 11:00:18 +0000 (12:00 +0100)
Actually pathfind.c's rev_dir() turned into a macro, to make it
available elsewhere.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
include/path.h
src/lib/common/pathfind.c

index 52a65885139389682361c7ebd36d2fd35439db07..5d83f32a2c1723c37e49e4569a4723082e41ce43 100644 (file)
@@ -27,7 +27,7 @@
  *  path.h: Definitions for directions, paths, etc.
  *
  *  Known contributors to this file:
- *     Markus Armbruster, 2005-2011
+ *     Markus Armbruster, 2005-2014
  */
 
 #ifndef PATH_H
@@ -49,6 +49,8 @@
 #define DIR_FIRST      1
 #define DIR_LAST       6
 
+#define DIR_BACK(dir) ((dir) >= DIR_FIRST + 3 ? (dir) - 3 : (dir) + 3)
+
 #define MOB_MOVE       0
 #define MOB_MARCH      1
 #define MOB_RAIL       2
index 2793aed44da14284cc855afb3c4a7ca3d511934d..759c7c8820bba4ba6c776f93ec7be0aa9824d804 100644 (file)
@@ -27,7 +27,7 @@
  *  pathfind.c: Find cheapest paths
  *
  *  Known contributors to this file:
- *     Markus Armbruster, 2011
+ *     Markus Armbruster, 2014
  */
 
 #include <config.h>
@@ -325,13 +325,6 @@ y_in_dir(coord y, int dir)
     return yy;
 }
 
-static int
-rev_dir(int dir)
-{
-    assert(DIR_FIRST <= dir && dir <= DIR_LAST);
-    return dir >= DIR_FIRST + 3 ? dir - 3 : dir + 3;
-}
-
 /*
  * Set the current source and cost function.
  * SX,SY is the source.
@@ -456,8 +449,9 @@ path_find_route(char *buf, size_t bufsz,
            i = bufsz;
        buf[--i] = dirch[d];
        len++;
-       x = x_in_dir(x, rev_dir(d));
-       y = y_in_dir(y, rev_dir(d));
+       assert(DIR_FIRST <= d && d <= DIR_LAST);
+       x = x_in_dir(x, DIR_BACK(d));
+       y = y_in_dir(y, DIR_BACK(d));
     }
 
     assert(x == sx && y == sy);