projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use vocab IDs along side packed words.
[open-adventure.git]
/
main.c
diff --git
a/main.c
b/main.c
index 37461f7e44d6afd28f5a0998a01e2200be0f53e8..a27074765e441ced89508b281885fca778c511ac 100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-487,8
+487,8
@@
static void croak(void)
* death and exit. */
rspeak(DEATH_CLOSING);
terminate(endgame);
* death and exit. */
rspeak(DEATH_CLOSING);
terminate(endgame);
- } else if (
game.numdie == NDEATHS ||
-
!yes(query, yes_response, arbitrary_messages[OK_MAN])
)
+ } else if (
!yes(query, yes_response, arbitrary_messages[OK_MAN])
+
|| game.numdie == NDEATHS
)
terminate(endgame);
else {
game.place[WATER] = game.place[OIL] = LOC_NOWHERE;
terminate(endgame);
else {
game.place[WATER] = game.place[OIL] = LOC_NOWHERE;
@@
-1127,10
+1127,16
@@
Lclosecheck:
} else {
if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) {
if (AT(command.id2))
} else {
if (!((command.id1 != WATER && command.id1 != OIL) || (command.id2 != PLANT && command.id2 != DOOR))) {
if (AT(command.id2))
+ {
+ command.id2 = POUR;
command.wd2 = token_to_packed("POUR");
command.wd2 = token_to_packed("POUR");
+ }
}
if (command.id1 == CAGE && command.id2 == BIRD && HERE(CAGE) && HERE(BIRD))
}
if (command.id1 == CAGE && command.id2 == BIRD && HERE(CAGE) && HERE(BIRD))
+ {
+ command.id1 = CARRY;
command.wd1 = token_to_packed("CATCH");
command.wd1 = token_to_packed("CATCH");
+ }
}
Lookup:
if (strncasecmp(command.raw1, "west", sizeof("west")) == 0) {
}
Lookup:
if (strncasecmp(command.raw1, "west", sizeof("west")) == 0) {
@@
-1186,6
+1192,8
@@
Lookup:
goto Lookup;
case GO_WORD2:
/* Get second word for analysis. */
goto Lookup;
case GO_WORD2:
/* Get second word for analysis. */
+ command.id1 = command.id2;
+ command.id2 = WORD_EMPTY;
command.wd1 = command.wd2;
strncpy(command.raw1, command.raw2, LINESIZE - 1);
wordclear(&command.wd2);
command.wd1 = command.wd2;
strncpy(command.raw1, command.raw2, LINESIZE - 1);
wordclear(&command.wd2);