From: Eric S. Raymond Date: Sat, 1 Jul 2017 18:20:34 +0000 (-0400) Subject: Another step in de-obscurifying the travel code. X-Git-Tag: takebird~135 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=0aa70d04cf0f4edaaf10f2894d9181caf521bce0 Another step in de-obscurifying the travel code. --- diff --git a/main.c b/main.c index c2fee21..86e738a 100644 --- 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; diff --git a/make_dungeon.py b/make_dungeon.py index e7e37ae..bc8751d 100755 --- a/make_dungeon.py +++ b/make_dungeon.py @@ -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)