Compile in the new (partial) database.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index 4e1566dec7ed834b0f5931c92f15908e3ff6a49f..5f69f665355c7bb583b8031ec7806d160e4f48ff 100644 (file)
--- a/main.c
+++ b/main.c
@@ -768,8 +768,6 @@ L2006:      KK=game.prop[obj];
 L2008: i=game.link[i];
         goto L2004;
 
-L2009: K=54;
-L2010: RSPEAK(K);
 L2012: VERB=0;
        game.oldobj=obj;
        obj=0;
@@ -795,7 +793,7 @@ L2600:      if (COND[game.loc] >= game.conds) {
         *  objects won't be described until they've been picked up
         *  and put down separate from their respective piles.  Don't
         *  tick game.clock1 unless well into cave (and not at Y2). */
-L2603: if (game.closed) {
+       if (game.closed) {
            if (game.prop[OYSTER] < 0 && TOTING(OYSTER))
                PSPEAK(OYSTER,1);
            for (i=1; i<=NOBJECTS; i++) {
@@ -972,20 +970,27 @@ L19999: K=43;
        if (LIQLOC(game.loc) == WATER)K=70;
        V1=VOCAB(WD1,-1);
        V2=VOCAB(WD2,-1);
-       if (V1 == ENTER && (V2 == STREAM || V2 == 1000+WATER))
-           goto L2010;
-       if (V1 == ENTER && WD2 > 0)
-           goto L2800;
-       if (!((V1 != 1000+WATER && V1 != 1000+OIL) ||
-             (V2 != 1000+PLANT && V2 != 1000+DOOR))) {
-           if (AT(V2-1000))
-               WD2=MAKEWD(16152118);
+       if (V1 == ENTER && (V2 == STREAM || V2 == 1000+WATER)) {
+           RSPEAK(K);
+           goto L2012;
        }
-       if (V1 == 1000+CAGE && V2 == 1000+BIRD && HERE(CAGE) && HERE(BIRD))
+       if (V1 == ENTER && WD2 > 0) {
+           WD1=WD2;
+           WD1X=WD2X;
+           WD2=0;
+       } else {
+           if (!((V1 != 1000+WATER && V1 != 1000+OIL) ||
+                 (V2 != 1000+PLANT && V2 != 1000+DOOR))) {
+               if (AT(V2-1000))
+                   WD2=MAKEWD(16152118);
+           }
+           if (V1 == 1000+CAGE && V2 == 1000+BIRD && HERE(CAGE) && HERE(BIRD))
                WD1=MAKEWD(301200308);
+       }
 L2620: if (WD1 == MAKEWD(23051920)) {
            ++game.iwest;
-           if (game.iwest == 10)RSPEAK(17);
+           if (game.iwest == 10)
+               RSPEAK(17);
        }
        if (WD1 == MAKEWD( 715) && WD2 != 0) {
            if (++IGO == 10)
@@ -993,8 +998,14 @@ L2620:     if (WD1 == MAKEWD(23051920)) {
        }
 L2630:
        i=VOCAB(WD1,-1);
-       if (i == -1)
-          goto L3000;
+       if (i == -1) {
+           /* Gee, I don't understand. */
+           if (fallback_handler(rawbuf))
+               return true;
+           SETPRM(1,WD1,WD1X);
+           RSPEAK(254);
+           goto L2600;
+       }
        K=MOD(i,1000);
        KQ=i/1000+1;
        switch (KQ-1)
@@ -1002,23 +1013,10 @@ L2630:
        case 0: goto L8;
        case 1: goto L5000;
        case 2: goto L4000;
-       case 3: goto L2010;
+       case 3: RSPEAK(K); goto L2012;
        }
        BUG(22);
 
-       /* Get second word for analysis. */
-L2800: WD1=WD2;
-       WD1X=WD2X;
-       WD2=0;
-       goto L2620;
-
-        /* Gee, I don't understand. */
-L3000: SETPRM(1,WD1,WD1X);
-        if (fallback_handler(rawbuf))
-            return true;
-       RSPEAK(254);
-        goto L2600;
-
 /* Verb and object analysis moved to separate module. */
 
 L4000: part=intransitive; VERB=K; goto Laction;
@@ -1029,13 +1027,16 @@ Laction:
           case 2: return true;
           case 8: goto L8;
           case 2000: goto L2000;
-          case 2009: goto L2009;
-          case 2010: goto L2010;
           case 2012: goto L2012;
           case 2600: goto L2600;
           case 2607: goto L2607;
           case 2630: goto L2630;
-          case 2800: goto L2800;
+          case 2800:
+             /* Get second word for analysis. */
+              WD1=WD2;
+              WD1X=WD2X;
+              WD2=0;
+              goto L2620;
           case 8000:
               /*  Random intransitive verbs come here.  Clear obj just in case
                *  (see attack()). */
@@ -1043,14 +1044,11 @@ Laction:
               RSPEAK(257);
               obj=0;
               goto L2600;
-          case 18999:
-              /*  Oh dear, he's disturbed the dwarves. */
-               RSPEAK(SPK);
-              /* fall through */
           case 19000:
-                RSPEAK(136);
-                score(0);
-                return true;
+              /*  Oh dear, he's disturbed the dwarves. */
+              RSPEAK(136);
+              score(0);
+              return true;
           }
        BUG(99);