rnd-19981017-1
[rocksndiamonds.git] / src / files.c
index 9030319de763e6a0818c5aa7ceccde0a4eaef674..e1a4b80c42c4720fa256b2bffacbf186c29d4a9e 100644 (file)
 #include "tape.h"
 #include "joystick.h"
 
-BOOL CreateNewScoreFile()
+boolean CreateNewScoreFile()
 {
   int i,j,k;
-  char filename[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
   char empty_alias[MAX_NAMELEN];
   FILE *file;
 
@@ -51,9 +51,9 @@ BOOL CreateNewScoreFile()
   return(TRUE);
 }
 
-BOOL CreateNewNamesFile(int mode)
+boolean CreateNewNamesFile(int mode)
 {
-  char filename[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
   FILE *file;
 
   if (mode==PLAYER_LEVEL)
@@ -72,11 +72,11 @@ BOOL CreateNewNamesFile(int mode)
   return(TRUE);
 }
 
-BOOL LoadLevelInfo()
+boolean LoadLevelInfo()
 {
   int i;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
 
   sprintf(filename,"%s/%s",level_directory,LEVDIR_FILENAME);
@@ -121,19 +121,15 @@ BOOL LoadLevelInfo()
 void LoadLevel(int level_nr)
 {
   int i,x,y;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
 
   sprintf(filename,"%s/%s/%d",
          level_directory,leveldir[leveldir_nr].filename,level_nr);
 
   if (!(file = fopen(filename,"r")))
-  {
-/*
-    Error(ERR_RETURN, "cannot load level '%s'", filename);
-*/
-  }
+    Error(ERR_RETURN, "cannot load level '%s' - creating new level", filename);
   else
   {
     fgets(cookie,LEVEL_COOKIE_LEN,file);
@@ -215,10 +211,10 @@ void LoadLevel(int level_nr)
 void LoadLevelTape(int level_nr)
 {
   int i;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
-  BOOL levelrec_10 = FALSE;
+  boolean levelrec_10 = FALSE;
 
 #ifndef MSDOS
   sprintf(filename,"%s/%s/%d.tape",
@@ -271,10 +267,10 @@ void LoadLevelTape(int level_nr)
     {
       if (levelrec_10 && j>0)
       {
-       tape.pos[i].joystickdata[j] = MV_NO_MOVING;
+       tape.pos[i].action[j] = MV_NO_MOVING;
        continue;
       }
-      tape.pos[i].joystickdata[j] = fgetc(file);
+      tape.pos[i].action[j] = fgetc(file);
     }
 
     tape.pos[i].delay = fgetc(file);
@@ -294,8 +290,8 @@ void LoadLevelTape(int level_nr)
 void LoadScore(int level_nr)
 {
   int i,j;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
 
   sprintf(filename,"%s/%s/%s",
@@ -346,8 +342,8 @@ void LoadScore(int level_nr)
 void LoadPlayerInfo(int mode)
 {
   int i;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
   char *login_name = GetLoginName();
   struct PlayerInfo default_player, new_player;
@@ -463,13 +459,15 @@ void LoadPlayerInfo(int mode)
   }
 
   level_nr = local_player->level_nr;
-  fclose(file);
+
+  if (file)
+    fclose(file);
 }
 
 void SaveLevel(int level_nr)
 {
   int i,x,y;
-  char filename[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
   FILE *file;
 
   sprintf(filename,"%s/%s/%d",
@@ -519,9 +517,9 @@ void SaveLevel(int level_nr)
 void SaveLevelTape(int level_nr)
 {
   int i;
-  char filename[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
   FILE *file;
-  BOOL new_tape = TRUE;
+  boolean new_tape = TRUE;
 
 #ifndef MSDOS
   sprintf(filename,"%s/%s/%d.tape",
@@ -537,7 +535,7 @@ void SaveLevelTape(int level_nr)
     new_tape = FALSE;
     fclose(file);
 
-    if (!AreYouSure("Replace old tape ?",AYS_ASK))
+    if (!Request("Replace old tape ?",REQ_ASK))
       return;
   }
 
@@ -570,7 +568,7 @@ void SaveLevelTape(int level_nr)
     int j;
 
     for(j=0; j<MAX_PLAYERS; j++)
-      fputc(tape.pos[i].joystickdata[j],file);
+      fputc(tape.pos[i].action[j],file);
 
     fputc(tape.pos[i].delay,file);
   }
@@ -582,13 +580,13 @@ void SaveLevelTape(int level_nr)
   tape.changed = FALSE;
 
   if (new_tape)
-    AreYouSure("tape saved !",AYS_CONFIRM);
+    Request("tape saved !",REQ_CONFIRM);
 }
 
 void SaveScore(int level_nr)
 {
   int i,j;
-  char filename[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
   FILE *file;
 
   sprintf(filename,"%s/%s/%s",
@@ -616,8 +614,8 @@ void SaveScore(int level_nr)
 void SavePlayerInfo(int mode)
 {
   int i;
-  char filename[MAX_FILENAME];
-  char cookie[MAX_FILENAME];
+  char filename[MAX_FILENAME_LEN];
+  char cookie[MAX_FILENAME_LEN];
   FILE *file;
   struct PlayerInfo default_player;
   int version_10_file = FALSE;