/* Abstract out the encoding of words in the travel array. Gives us
* some hope of getting to a less cryptic representation than we
* inherited from FORTRAN, someday. To understand these, read the
- * encoding description for TRAVEL.
+ * encoding description for travel.
*/
#define T_DESTINATION(entry) MOD(labs(entry) / 1000, 1000)
#define T_NODWARVES(entry) labs(entry) / 1000000 == 100
long LNLENG, LNPOSN;
char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
-long AMBER, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD,
- BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
- CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
- EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD,
- GRATE, HINT, INVENT, JADE, KEYS,
- KNIFE, LAMP, LOCK, LOOK, MAGAZINE,
- MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER,
- PEARL, PILLOW, PLANT, PLANT2, PYRAMID, RESER, ROD, ROD2,
- RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
- STEPS, STREAM, THROW, TRIDENT, TROLL, TROLL2,
- URN, VASE, VEND, VOLCANO, WATER;
-
FILE *logfp = NULL, *rfp = NULL;
bool oldstyle = false;
bool editline = true;
continue;
/* Fill tk array with all the places this dwarf might go. */
unsigned int j = 1;
- kk = TKEY[game.dloc[i]];
+ kk = tkey[game.dloc[i]];
if (kk != 0)
do {
- game.newloc = T_DESTINATION(TRAVEL[kk]);
+ game.newloc = T_DESTINATION(travel[kk]);
/* Have we avoided a dwarf encounter? */
bool avoided = (SPECIAL(game.newloc) ||
!INDEEP(game.newloc) ||
game.newloc == game.dloc[i] ||
FORCED(game.newloc) ||
(i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) ||
- T_NODWARVES(TRAVEL[kk]));
+ T_NODWARVES(travel[kk]));
if (!avoided) {
tk[j++] = game.newloc;
}
++kk;
} while
- (TRAVEL[kk - 1] >= 0);
+ (travel[kk - 1] >= 0);
tk[j] = game.odloc[i];
if (j >= 2)
--j;
static bool playermove(token_t verb, int motion)
{
- int scratchloc, k2, kk = TKEY[game.loc];
+ int scratchloc, k2, kk = tkey[game.loc];
game.newloc = game.loc;
if (kk == 0)
BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES);
if (CNDBIT(game.loc, COND_NOBACK))k2 = TWIST_TURN;
if (k2 == 0) {
for (;;) {
- scratchloc = T_DESTINATION(TRAVEL[kk]);
+ scratchloc = T_DESTINATION(travel[kk]);
if (scratchloc != motion) {
if (!SPECIAL(scratchloc)) {
- if (FORCED(scratchloc) && T_DESTINATION(TRAVEL[TKEY[scratchloc]]) == motion)
+ if (FORCED(scratchloc) && T_DESTINATION(travel[tkey[scratchloc]]) == motion)
k2 = kk;
}
- if (TRAVEL[kk] >= 0) {
+ if (travel[kk] >= 0) {
++kk; /* go to next travel entry for this location */
continue;
}
}
}
- motion = T_MOTION(TRAVEL[kk]);
- kk = TKEY[game.loc];
+ motion = T_MOTION(travel[kk]);
+ kk = tkey[game.loc];
break; /* fall through to ordinary travel */
}
} else {
/* Look for a way to fulfil the motion - kk indexes the beginning
* of the motion entries for here (game.loc). */
for (;;) {
- if (T_TERMINATE(TRAVEL[kk]) || T_MOTION(TRAVEL[kk]) == motion)
+ if (T_TERMINATE(travel[kk]) || T_MOTION(travel[kk]) == motion)
break;
- if (TRAVEL[kk] < 0) {
+ if (travel[kk] < 0) {
/* FIXME: Magic numbers! */
/* Couldn't find an entry matching the motion word passed
* in. Various messages depending on word given. */
}
++kk;
}
- scratchloc = labs(TRAVEL[kk]) / 1000;
+ scratchloc = labs(travel[kk]) / 1000;
do {
/*
} else if (game.prop[motion] != game.newloc / 100 - 3)
break;
do {
- if (TRAVEL[kk] < 0)
+ if (travel[kk] < 0)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION);
++kk;
- game.newloc = labs(TRAVEL[kk]) / 1000;
+ game.newloc = labs(travel[kk]) / 1000;
} while
(game.newloc == scratchloc);
scratchloc = game.newloc;
* pretend he wasn't carrying it after all. */
drop(EMERALD, game.loc);
do {
- if (TRAVEL[kk] < 0)
+ if (travel[kk] < 0)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION);
++kk;
- game.newloc = labs(TRAVEL[kk]) / 1000;
+ game.newloc = labs(travel[kk]) / 1000;
} while
(game.newloc == scratchloc);
scratchloc = game.newloc;