Magic-number elimination.

This commit is contained in:
Eric S. Raymond 2017-07-01 01:59:06 -04:00
parent 062840db69
commit 9714bf8c82
3 changed files with 14 additions and 11 deletions

View file

@ -3466,9 +3466,9 @@ objects: !!omap
locations: [LOC_SWCHASM, LOC_NECHASM] locations: [LOC_SWCHASM, LOC_NECHASM]
immovable: true immovable: true
descriptions: descriptions:
- 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.' - [TROLL_UNPAID, '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.' - [TROLL_PAIDONCE, 'The troll steps out from beneath the bridge and blocks your way.']
- '' # chased away - [TROLL_GONE, ''] # chased away
sounds: sounds:
- 'The troll sounds quite adamant in his demand for a treasure.' - 'The troll sounds quite adamant in his demand for a treasure.'
- TROLL2: - TROLL2:

18
main.c
View file

@ -619,6 +619,7 @@ static bool playermove( int motion)
/* (ESR) We've found a destination that goes with the motion verb. /* (ESR) We've found a destination that goes with the motion verb.
* Next we need to check any conditional(s) on this destination, and * Next we need to check any conditional(s) on this destination, and
* possibly on following entries. */ * possibly on following entries. */
/* FIXME: Magic numbers related to move opcodes */
do { do {
for (;;) { /* L12 loop */ for (;;) { /* L12 loop */
for (;;) { for (;;) {
@ -701,8 +702,8 @@ static bool playermove( int motion)
* so step out and block him. (standard travel * so step out and block him. (standard travel
* entries check for game.prop(TROLL)=0.) Special * entries check for game.prop(TROLL)=0.) Special
* stuff for bear. */ * stuff for bear. */
if (game.prop[TROLL] == 1) { if (game.prop[TROLL] == TROLL_PAIDONCE) {
pspeak(TROLL, look, 1); pspeak(TROLL, look, TROLL_PAIDONCE);
game.prop[TROLL] = 0; game.prop[TROLL] = 0;
move(TROLL2, 0); move(TROLL2, 0);
move(TROLL2 + NOBJECTS, 0); move(TROLL2 + NOBJECTS, 0);
@ -713,13 +714,13 @@ static bool playermove( int motion)
return true; return true;
} else { } else {
game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc; game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc;
if (game.prop[TROLL] == 0) if (game.prop[TROLL] == TROLL_UNPAID)
game.prop[TROLL] = 1; game.prop[TROLL] = TROLL_PAIDONCE;
if (!TOTING(BEAR)) if (!TOTING(BEAR))
return true; return true;
rspeak(BRIDGE_COLLAPSE); rspeak(BRIDGE_COLLAPSE);
game.prop[CHASM] = 1; game.prop[CHASM] = BRIDGE_WRECKED;
game.prop[TROLL] = 2; game.prop[TROLL] = TROLL_GONE;
drop(BEAR, game.newloc); drop(BEAR, game.newloc);
game.fixed[BEAR] = -1; game.fixed[BEAR] = -1;
game.prop[BEAR] = BEAR_DEAD; game.prop[BEAR] = BEAR_DEAD;
@ -775,7 +776,7 @@ static bool closecheck(void)
* have been activated, since we've found chest. */ * have been activated, since we've found chest. */
if (game.clock1 == 0) { if (game.clock1 == 0) {
game.prop[GRATE] = GRATE_CLOSED; game.prop[GRATE] = GRATE_CLOSED;
game.prop[FISSURE] = 0; game.prop[FISSURE] = UNBRIDGED;
for (int i = 1; i <= NDWARVES; i++) { for (int i = 1; i <= NDWARVES; i++) {
game.dseen[i] = false; game.dseen[i] = false;
game.dloc[i] = 0; game.dloc[i] = 0;
@ -1100,7 +1101,7 @@ L2607:
command.wd1x = command.wd2x; command.wd1x = command.wd2x;
wordclear(&command.wd2); wordclear(&command.wd2);
} else { } else {
/* FIXME: Magic numbers */ /* FIXME: Magic numbers related to vocabulary */
if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) || if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) ||
(V2 != 1000 + PLANT && V2 != 1000 + DOOR))) { (V2 != 1000 + PLANT && V2 != 1000 + DOOR))) {
if (AT(V2 - 1000)) if (AT(V2 - 1000))
@ -1129,6 +1130,7 @@ Lookup:
rspeak(DONT_KNOW, command.wd1, command.wd1x); rspeak(DONT_KNOW, command.wd1, command.wd1x);
goto L2600; goto L2600;
} }
/* FIXME: magic numbers related to vocabulary */
kmod = MOD(defn, 1000); kmod = MOD(defn, 1000);
switch (defn / 1000) { switch (defn / 1000) {
case 0: case 0:

1
misc.c
View file

@ -526,6 +526,7 @@ long get_vocab_id(const char* word)
{ {
long ref_num; long ref_num;
/* FIXME: Magic numbers related to vocabulary */
ref_num = get_motion_vocab_id(word); ref_num = get_motion_vocab_id(word);
if (ref_num != WORD_NOT_FOUND) if (ref_num != WORD_NOT_FOUND)
return (ref_num + 0); // FIXME: replace with a proper hash return (ref_num + 0); // FIXME: replace with a proper hash