Test for more unusual cases.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index 653b744b0040b8b8a330dc15ac197463f8eb53e5..6c5512721c9daddaae1079ad9259ee2bb17a8946 100644 (file)
--- a/main.c
+++ b/main.c
@@ -9,16 +9,15 @@
 #include <getopt.h>
 #include <signal.h>
 #include <time.h>
 #include <getopt.h>
 #include <signal.h>
 #include <time.h>
-#include "main.h"
+#include "advent.h"
 #include "database.h"
 #include "database.h"
-#include "misc.h"
 
 long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
                DLOC[7], FIXED[101], HOLDNG,
                LINK[201], LNLENG, LNPOSN,
                PARMS[26], PLACE[101],
                SETUP = 0;
 
 long ABB[186], ATLOC[186], BLKLIN = true, DFLAG,
                DLOC[7], FIXED[101], HOLDNG,
                LINK[201], LNLENG, LNPOSN,
                PARMS[26], PLACE[101],
                SETUP = 0;
-signed char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
+char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[129], MAP2[129];
 
 long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
                 BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
 
 long ABBNUM, AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
                 BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
@@ -141,7 +140,7 @@ L1: SETUP= -1;
 
        if (logfp)
            fprintf(logfp, "seed %ld\n", seedval);
 
        if (logfp)
            fprintf(logfp, "seed %ld\n", seedval);
-       
+
        for (;;) {
            if (!do_command(stdin))
                break;
        for (;;) {
            if (!do_command(stdin))
                break;
@@ -149,13 +148,15 @@ L1:       SETUP= -1;
        score(1);
 }
 
        score(1);
 }
 
-static bool fallback_handler(signed char *buf)
+static bool fallback_handler(char *buf)
 /* fallback handler for commands not handled by FORTRANish parser */
 {
     long sv;
     if (sscanf(buf, "seed %ld", &sv) == 1) {
        set_seed(sv);
        printf("Seed set to %ld\n", sv);
 /* fallback handler for commands not handled by FORTRANish parser */
 {
     long sv;
     if (sscanf(buf, "seed %ld", &sv) == 1) {
        set_seed(sv);
        printf("Seed set to %ld\n", sv);
+       // autogenerated, so don't charge user time for it.
+       --TURNS;
        // here we reconfigure any global game state that uses random numbers
        ZZWORD=RNDVOC(3,0);
        return true;
        // here we reconfigure any global game state that uses random numbers
        ZZWORD=RNDVOC(3,0);
        return true;
@@ -401,8 +402,7 @@ L2600:      if(COND[LOC] < CONDS) goto L2603;
 L2602: /*etc*/ ;
        } /* end loop */
 
 L2602: /*etc*/ ;
        } /* end loop */
 
-/*  Kick the random number generator just to add variety to the chase.  Also,
- *  if closing time, check for any objects being toted with PROP < 0 and set
+/*  If closing time, check for any objects being toted with PROP < 0 and set
  *  the prop to -1-PROP.  This way objects won't be described until they've
  *  been picked up and put down separate from their respective piles.  Don't
  *  tick CLOCK1 unless well into cave (and not at Y2). */
  *  the prop to -1-PROP.  This way objects won't be described until they've
  *  been picked up and put down separate from their respective piles.  Don't
  *  tick CLOCK1 unless well into cave (and not at Y2). */