From 9714bf8c82c37b1c320e078285fca03d81eea614 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sat, 1 Jul 2017 01:59:06 -0400 Subject: [PATCH] Magic-number elimination. --- adventure.yaml | 6 +++--- main.c | 18 ++++++++++-------- misc.c | 1 + 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/adventure.yaml b/adventure.yaml index 66ebb66..a3e2841 100644 --- a/adventure.yaml +++ b/adventure.yaml @@ -3466,9 +3466,9 @@ objects: !!omap locations: [LOC_SWCHASM, LOC_NECHASM] immovable: true descriptions: - - 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.' - - 'The troll steps out from beneath the bridge and blocks your way.' - - '' # chased away + - [TROLL_UNPAID, 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.'] + - [TROLL_PAIDONCE, 'The troll steps out from beneath the bridge and blocks your way.'] + - [TROLL_GONE, ''] # chased away sounds: - 'The troll sounds quite adamant in his demand for a treasure.' - TROLL2: diff --git a/main.c b/main.c index 61a2267..5b65e07 100644 --- a/main.c +++ b/main.c @@ -619,6 +619,7 @@ static bool playermove( int motion) /* (ESR) We've found a destination that goes with the motion verb. * Next we need to check any conditional(s) on this destination, and * possibly on following entries. */ + /* FIXME: Magic numbers related to move opcodes */ do { for (;;) { /* L12 loop */ for (;;) { @@ -701,8 +702,8 @@ static bool playermove( int motion) * so step out and block him. (standard travel * entries check for game.prop(TROLL)=0.) Special * stuff for bear. */ - if (game.prop[TROLL] == 1) { - pspeak(TROLL, look, 1); + if (game.prop[TROLL] == TROLL_PAIDONCE) { + pspeak(TROLL, look, TROLL_PAIDONCE); game.prop[TROLL] = 0; move(TROLL2, 0); move(TROLL2 + NOBJECTS, 0); @@ -713,13 +714,13 @@ static bool playermove( int motion) return true; } else { game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc; - if (game.prop[TROLL] == 0) - game.prop[TROLL] = 1; + if (game.prop[TROLL] == TROLL_UNPAID) + game.prop[TROLL] = TROLL_PAIDONCE; if (!TOTING(BEAR)) return true; rspeak(BRIDGE_COLLAPSE); - game.prop[CHASM] = 1; - game.prop[TROLL] = 2; + game.prop[CHASM] = BRIDGE_WRECKED; + game.prop[TROLL] = TROLL_GONE; drop(BEAR, game.newloc); game.fixed[BEAR] = -1; game.prop[BEAR] = BEAR_DEAD; @@ -775,7 +776,7 @@ static bool closecheck(void) * have been activated, since we've found chest. */ if (game.clock1 == 0) { game.prop[GRATE] = GRATE_CLOSED; - game.prop[FISSURE] = 0; + game.prop[FISSURE] = UNBRIDGED; for (int i = 1; i <= NDWARVES; i++) { game.dseen[i] = false; game.dloc[i] = 0; @@ -1100,7 +1101,7 @@ L2607: command.wd1x = command.wd2x; wordclear(&command.wd2); } else { - /* FIXME: Magic numbers */ + /* FIXME: Magic numbers related to vocabulary */ if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) || (V2 != 1000 + PLANT && V2 != 1000 + DOOR))) { if (AT(V2 - 1000)) @@ -1129,6 +1130,7 @@ Lookup: rspeak(DONT_KNOW, command.wd1, command.wd1x); goto L2600; } + /* FIXME: magic numbers related to vocabulary */ kmod = MOD(defn, 1000); switch (defn / 1000) { case 0: diff --git a/misc.c b/misc.c index f6342b3..c16e9af 100644 --- a/misc.c +++ b/misc.c @@ -526,6 +526,7 @@ long get_vocab_id(const char* word) { long ref_num; + /* FIXME: Magic numbers related to vocabulary */ ref_num = get_motion_vocab_id(word); if (ref_num != WORD_NOT_FOUND) return (ref_num + 0); // FIXME: replace with a proper hash -- 2.31.1