Eliminated "Lookup" label
This commit is contained in:
parent
eb49f4d0d2
commit
16545a5765
1 changed files with 86 additions and 77 deletions
13
main.c
13
main.c
|
@ -983,6 +983,7 @@ static bool do_command()
|
|||
/* Get and execute a command */
|
||||
{
|
||||
static command_t command;
|
||||
bool words_processed = false;
|
||||
|
||||
/* Can't leave cave once it's closing (except by main office). */
|
||||
if (OUTSID(game.newloc) && game.newloc != 0 && game.closng) {
|
||||
|
@ -1138,7 +1139,11 @@ Lclosecheck:
|
|||
}
|
||||
}
|
||||
|
||||
Lookup:
|
||||
// loop until all words in command are procesed
|
||||
do {
|
||||
// assume all words in command are processed, until proven otherwise
|
||||
words_processed = true;
|
||||
|
||||
if (strncasecmp(command.word[0].raw, "west", sizeof("west")) == 0) {
|
||||
if (++game.iwest == 10)
|
||||
rspeak(W_IS_WEST);
|
||||
|
@ -1153,6 +1158,7 @@ Lookup:
|
|||
clear_command(&command);
|
||||
goto Lcheckhint;
|
||||
}
|
||||
|
||||
switch (command.word[0].type) {
|
||||
case NO_WORD_TYPE: // FIXME: treating NO_WORD_TYPE as a motion word is confusing
|
||||
case MOTION:
|
||||
|
@ -1178,6 +1184,7 @@ Lookup:
|
|||
default: // LCOV_EXCL_LINE
|
||||
BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
|
||||
}
|
||||
|
||||
switch (action(command)) {
|
||||
case GO_TERMINATE:
|
||||
return true;
|
||||
|
@ -1198,7 +1205,8 @@ Lookup:
|
|||
/* Get second word for analysis. */
|
||||
command.word[0] = command.word[1];
|
||||
command.word[1] = empty_command_word;
|
||||
goto Lookup;
|
||||
words_processed = false;
|
||||
break;
|
||||
case GO_UNKNOWN:
|
||||
/* Random intransitive verbs come here. Clear obj just in case
|
||||
* (see attack()). */
|
||||
|
@ -1213,6 +1221,7 @@ Lookup:
|
|||
default: // LCOV_EXCL_LINE
|
||||
BUG(ACTION_RETURNED_PHASE_CODE_BEYOND_END_OF_SWITCH); // LCOV_EXCL_LINE
|
||||
}
|
||||
} while (!words_processed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue