Add message and bailout on invalid save.
authorEric S. Raymond <esr@thyrsus.com>
Sun, 12 Mar 2023 10:39:57 +0000 (06:39 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 12 Mar 2023 10:39:57 +0000 (06:39 -0400)
Note: save/resume still fails at saveresume.4
at this revision.

adventure.yaml
saveresume.c
tests/saveresume.4.chk

index 76e6b1c06e3014adf7169b7f62390f156b45fe5e..b2464989f4e6d8b98827efcceca747ab1318eeb2 100644 (file)
@@ -3189,13 +3189,13 @@ arbitrary_messages:  !!omap
     save file format, and this program uses Version %d.%d.  You must find an instance
     using that other version in order to resume that Adventure.
 # This message is not currently used
-#- SAVE_TAMPERING: |-
-#    A dark fog creeps in to surround you.  From somewhere in the fog you
-#    hear a stern voice.  "This Adventure has been tampered with!  You have
-#    been dabbling in magic, knowing not the havoc you might cause thereby.
-#    Leave at once, before you do irrevocable harm!"  The fog thickens,
-#    until at last you can see nothing at all.  Your vision then clears,
-#    and you find yourself back in The Real World.
+- SAVE_TAMPERING: |-
+    A dark fog creeps in to surround you.  From somewhere in the fog you
+    hear a stern voice.  "This Adventure has been tampered with!  You have
+    been dabbling in magic, knowing not the havoc you might cause thereby.
+    Leave at once, before you do irrevocable harm!"  The fog thickens,
+    until at last you can see nothing at all.  Your vision then clears,
+    and you find yourself back in The Real World.
 - TWIST_TURN: |-
     Sorry, but the path twisted and turned so much that I can't figure
     out which way to go to get back.
index 05e12b7daefe475590cf3f2148193f1da440ed8d..c9278a413bf448ba6ec096a1fcbc711ac887f1c2 100644 (file)
@@ -137,7 +137,10 @@ int restore(FILE* fp)
     fclose(fp);
     if (save.version != VRSION) {
         rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), VRSION / 10, MOD(VRSION, 10));
-    } else if (is_valid(save.game)) {
+    } else if (!is_valid(save.game)) {
+       rspeak(SAVE_TAMPERING);
+       exit(EXIT_SUCCESS);
+    } else {
         game = save.game;
     }
     return GO_TOP;
index 1643c4360b2d4bbfa94bfffc74acdb99f6ad352e..1280b2b99eaa919a84041be044f3e742f6f0f1f7 100644 (file)
@@ -10,15 +10,9 @@ down a gully.
 > resume
 Can't open file y, try again.
 
-You're in front of building.
-
-> blast
-
-Blasting requires dynamite.
-
-
-You scored 32 out of a possible 430, using 2 turns.
-
-You are obviously a rank amateur.  Better luck next time.
-
-To achieve the next higher rating, you need 14 more points.
+A dark fog creeps in to surround you.  From somewhere in the fog you
+hear a stern voice.  "This Adventure has been tampered with!  You have
+been dabbling in magic, knowing not the havoc you might cause thereby.
+Leave at once, before you do irrevocable harm!"  The fog thickens,
+until at last you can see nothing at all.  Your vision then clears,
+and you find yourself back in The Real World.