Another step in de-obscurifying the travel code.
authorEric S. Raymond <esr@thyrsus.com>
Sat, 1 Jul 2017 18:20:34 +0000 (14:20 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sat, 1 Jul 2017 23:11:24 +0000 (19:11 -0400)
main.c
make_dungeon.py

diff --git a/main.c b/main.c
index c2fee21fc7216c1ade5addf7871c22d2818d31bf..86e738a4e9b15593d72293e1bece5d81eb538511 100644 (file)
--- a/main.c
+++ b/main.c
@@ -379,7 +379,7 @@ static bool dwarfmove(void)
         kk = tkey[game.dloc[i]];
         if (kk != 0)
             do {
-                game.newloc = T_DESTINATION(travel[kk]);
+                game.newloc = travel[kk].dest;
                 /* Have we avoided a dwarf encounter? */
                 bool avoided = (SPECIAL(game.newloc) ||
                                 !INDEEP(game.newloc) ||
@@ -531,10 +531,10 @@ static bool playermove( int motion)
         if (spk == 0) {
             int te_tmp = 0;
             for (;;) {
-                scratchloc = T_DESTINATION(travel[travel_entry]);
+                scratchloc = travel[travel_entry].dest;
                 if (scratchloc != motion) {
                     if (!SPECIAL(scratchloc)) {
-                        if (FORCED(scratchloc) && T_DESTINATION(travel[tkey[scratchloc]]) == motion)
+                        if (FORCED(scratchloc) && travel[tkey[scratchloc]].dest == motion)
                             te_tmp = travel_entry;
                     }
                     if (!travel[travel_entry].stop) {
@@ -611,7 +611,7 @@ static bool playermove( int motion)
     do {
         for (;;) { /* L12 loop */
             for (;;) {
-                long cond = T_CONDITION(travel[travel_entry]);
+                long cond = travel[travel_entry].cond;
                 long arg = MOD(cond, 100);
                 if (!SPECIAL(cond)) {
                     /* YAML N and [pct N] conditionals */
@@ -640,7 +640,7 @@ static bool playermove( int motion)
             }
 
             /* Found an eligible rule, now execute it */
-            game.newloc = T_DESTINATION(travel[travel_entry]);
+            game.newloc = travel[travel_entry].dest;
             if (!SPECIAL(game.newloc))
                 return true;
 
index e7e37ae2c6baeaa23177901de65824468e45d0c5..bc8751d3707472ac23eb1f35b4d8ff57e4baf7f2 100755 (executable)
@@ -161,8 +161,6 @@ typedef struct {{
  * inherited from FORTRAN, someday. To understand these, read the
  * encoding description for travel.
  */
-#define T_DESTINATION(entry)   (entry).dest
-#define T_CONDITION(entry)     (entry).cond
 #define T_NODWARVES(entry)     (T_CONDITION(entry) == 100)
 #define T_TERMINATE(entry)     ((entry).motion == 1)
 #define L_SPEAK(loc)           ((loc) - 500)