Add test for urn actions.
[open-adventure.git] / saveresume.c
index de3ebfe7980ed1c36121fa0a127e02be84b8e984..340ea65cd6dc53e3757b5485551cd521d198ba1a 100644 (file)
@@ -40,7 +40,7 @@ int saveresume(FILE *input, bool resume)
         *  some points (so can't win by using saved games to retry
         *  battles or to start over after learning zzword). */
        RSPEAK(260);
-       if (!YES(input,200,54,54)) return(2012);
+       if (!YES(input,200,54,54)) return GO_CLEAROBJ;
        game.saved=game.saved+5;
     }
     else
@@ -48,12 +48,14 @@ int saveresume(FILE *input, bool resume)
        /*  Resume.  Read a suspended game back from a file. */
        if (game.loc != 1 || game.abbrev[1] != 1) {
            RSPEAK(268);
-           if (!YES(input,200,54,54)) return(2012);
+           if (!YES(input,200,54,54)) return GO_CLEAROBJ;
        }
     }
 
     while (fp == NULL) {
-       name = linenoise("File name: ");
+       name = linenoise("\nFile name: ");
+       if (name == NULL)
+           return GO_TOP;
        fp = fopen(name,(resume ? READ_MODE : WRITE_MODE));
        if (fp == NULL)
            printf("Can't open file %s, try again.\n", name); 
@@ -81,13 +83,13 @@ int saveresume(FILE *input, bool resume)
            SETPRM(1,k/10,MOD(k,10));
            SETPRM(3,VRSION/10,MOD(VRSION,10));
            RSPEAK(269);
-           return(2000);
+       } else {
+           memcpy(&game, &save.game, sizeof(struct game_t));
+           OBJSND[BIRD] = save.bird;
+           OBJTXT[OYSTER] = save.bivalve;
+           game.zzword=RNDVOC(3,game.zzword);
        }
-       memcpy(&game, &save.game, sizeof(struct game_t));
-       OBJSND[BIRD] = save.bird;
-       OBJTXT[OYSTER] = save.bivalve;
-       game.zzword=RNDVOC(3,game.zzword);
-       return(2000);
+       return GO_TOP;
     }
 }