rnd-19990214-2
[rocksndiamonds.git] / src / files.c
index 71d01e945fd9f35c3d38ee7736d2e38e2f1d44a0..2ef526ddc5a4c943ebe62e668f83c08ce43c3ec6 100644 (file)
@@ -26,7 +26,7 @@
 #define MAX_LINE_LEN           1000    /* maximal input line length */
 #define CHUNK_ID_LEN           4       /* IFF style chunk id length */
 #define LEVEL_HEADER_SIZE      80      /* size of level file header */
-#define LEVEL_HEADER_UNUSED    17      /* unused level header bytes */
+#define LEVEL_HEADER_UNUSED    16      /* unused level header bytes */
 #define TAPE_HEADER_SIZE       20      /* size of tape file header */
 #define TAPE_HEADER_UNUSED     7       /* unused tape header bytes */
 #define FILE_VERSION_1_0       10      /* old 1.0 file version */
@@ -314,6 +314,7 @@ static void setLevelInfoToDefaults()
   level.dauer_ablenk = 10;
   level.amoebe_inhalt = EL_DIAMANT;
   level.double_speed = FALSE;
+  level.gravity = FALSE;
 
   for(i=0; i<MAX_LEVEL_NAME_LEN; i++)
     level.name[i] = '\0';
@@ -447,6 +448,7 @@ void LoadLevel(int level_nr)
   level.dauer_ablenk   = fgetc(file);
   level.amoebe_inhalt  = fgetc(file);
   level.double_speed   = (fgetc(file) == 1 ? TRUE : FALSE);
+  level.gravity                = (fgetc(file) == 1 ? TRUE : FALSE);
 
   for(i=0; i<LEVEL_HEADER_UNUSED; i++) /* skip unused header bytes */
     fgetc(file);
@@ -550,6 +552,7 @@ void SaveLevel(int level_nr)
   fputc(level.dauer_ablenk, file);
   fputc(level.amoebe_inhalt, file);
   fputc((level.double_speed ? 1 : 0), file);
+  fputc((level.gravity ? 1 : 0), file);
 
   for(i=0; i<LEVEL_HEADER_UNUSED; i++) /* set unused header bytes to zero */
     fputc(0, file);