Break travel opcodes into a two-element structure.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index 5ad7d90ffe203396e7844b8a0a599b5d0c4ee491..c58281d157bcd32fb2ab1a97f3d72a617ac39d60 100644 (file)
--- a/main.c
+++ b/main.c
  * inherited from FORTRAN, someday. To understand these, read the
  * encoding description for travel.
  */
-#define T_DESTINATION(entry)   MOD(labs(entry) / 1000, 1000)
-#define T_NODWARVES(entry)     labs(entry) / 1000000 == 100
-#define T_MOTION(entry)                MOD(labs(entry), 1000)
-#define L_SPEAK(loc)           ((loc) - 500)
+#define T_DESTINATION(entry)   MOD(labs((entry).opcode) / 1000, 1000)
+#define T_NODWARVES(entry)     labs((entry).opcode) / 1000000 == 100
+#define T_MOTION(entry)                MOD(labs((entry).opcode), 1000)
 #define T_TERMINATE(entry)     (T_MOTION(entry) == 1)
-#define T_STOP(entry)          ((entry) < 0)
-#define T_OPCODE(entry)                (entry)
+#define T_STOP(entry)          ((entry).stop)
+#define T_OPCODE(entry)                ((entry).opcode)
+#define L_SPEAK(loc)           ((loc) - 500)
 
 struct game_t game;