Use vocab IDs along side packed words.
authorJason S. Ninneman <jsn@mbar.us>
Wed, 12 Jul 2017 18:17:12 +0000 (11:17 -0700)
committerJason S. Ninneman <jsn@mbar.us>
Fri, 14 Jul 2017 16:18:24 +0000 (09:18 -0700)
main.c

diff --git a/main.c b/main.c
index 61f75850d6a1ef36f7d9a36d2ddbbcf34a9f85ba..a27074765e441ced89508b281885fca778c511ac 100644 (file)
--- a/main.c
+++ b/main.c
@@ -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);