added message 'level solved' after solving a level
authorHolger Schemel <info@artsoft.org>
Sat, 10 Mar 2018 20:06:10 +0000 (21:06 +0100)
committerHolger Schemel <info@artsoft.org>
Fri, 23 Mar 2018 22:21:18 +0000 (23:21 +0100)
src/files.c
src/files.h
src/game.c

index a07ee8af5458f10b60cfe66d431ac2372be1e4a1..497d12c87f8941ee063762c3dda96738adad977c 100644 (file)
@@ -8081,18 +8081,18 @@ void SaveTape(int nr)
   tape.changed = FALSE;
 }
 
-boolean SaveTapeChecked(int nr)
+static boolean SaveTapeCheckedExt(int nr, char *msg_replace, char *msg_saved)
 {
   char *filename = getTapeFilename(nr);
   boolean new_tape = !fileExists(filename);
   boolean tape_saved = FALSE;
 
-  if (new_tape || Request("Replace old tape?", REQ_ASK))
+  if (new_tape || Request(msg_replace, REQ_ASK))
   {
     SaveTape(nr);
 
     if (new_tape)
-      Request("Tape saved!", REQ_CONFIRM);
+      Request(msg_saved, REQ_CONFIRM);
 
     tape_saved = TRUE;
   }
@@ -8100,6 +8100,17 @@ boolean SaveTapeChecked(int nr)
   return tape_saved;
 }
 
+boolean SaveTapeChecked(int nr)
+{
+  return SaveTapeCheckedExt(nr, "Replace old tape?", "Tape saved!");
+}
+
+boolean SaveTapeChecked_LevelSolved(int nr)
+{
+  return SaveTapeCheckedExt(nr, "Level solved! Replace old tape?",
+                               "Level solved! Tape saved!");
+}
+
 void DumpTape(struct TapeInfo *tape)
 {
   int tape_frame_counter;
index bfad49584446ca850f3b644567aad72254168c95..d9c0e2b6f2d227af060ec8b1f237dcf4b3a9f382 100644 (file)
@@ -52,6 +52,7 @@ void LoadSolutionTape(int);
 void SaveTape(int);
 void DumpTape(struct TapeInfo *);
 boolean SaveTapeChecked(int);
+boolean SaveTapeChecked_LevelSolved(int);
 
 void LoadScore(int);
 void SaveScore(int);
index f8606638343c4427fddb0d3f93790a1d4a4e48e0..dcae9beb90f84cd5c669b393903b79213dd938fd 100644 (file)
@@ -4699,7 +4699,7 @@ void GameEnd()
     if (!global.use_envelope_request)
       CloseDoor(DOOR_CLOSE_1);
 
-    SaveTapeChecked(tape.level_nr);    /* ask to save tape */
+    SaveTapeChecked_LevelSolved(tape.level_nr);                /* ask to save tape */
   }
 
   /* if no tape is to be saved, close both doors simultaneously */