rnd-20020315-2-src
[rocksndiamonds.git] / src / libgame / misc.c
index 5673dcedc46b7661ada0795e7539ce4a2afe9095..d8140b7e8e09a189909ef7939bdba771ba45114b 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************
 * Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-* (c) 1994-2000 Artsoft Entertainment                      *
+* (c) 1994-2001 Artsoft Entertainment                      *
 *               Holger Schemel                             *
 *               Detmolder Strasse 189                      *
 *               33604 Bielefeld                            *
@@ -473,7 +473,8 @@ void GetOptions(char *argv[])
             "  -l, --level directory         alternative level directory\n"
             "  -s, --serveronly              only start network server\n"
             "  -n, --network                 network multiplayer game\n"
-            "  -v, --verbose                 verbose mode\n",
+            "  -v, --verbose                 verbose mode\n"
+            "      --debug                   display debugging information\n",
             program.command_basename);
       exit(0);
     }
@@ -700,26 +701,28 @@ void putFile32BitInteger(FILE *file, int value, int byte_order)
   }
 }
 
-void getFileChunk(FILE *file, char *chunk_buffer, int *chunk_length,
-                 int byte_order)
+boolean getFileChunk(FILE *file, char *chunk_name, int *chunk_size,
+                    int byte_order)
 {
-  const int chunk_identifier_length = 4;
+  const int chunk_name_length = 4;
+
+  /* read chunk name */
+  fgets(chunk_name, chunk_name_length + 1, file);
 
-  /* read chunk identifier */
-  fgets(chunk_buffer, chunk_identifier_length + 1, file);
+  /* read chunk size */
+  *chunk_size = getFile32BitInteger(file, byte_order);
 
-  /* read chunk length */
-  *chunk_length = getFile32BitInteger(file, byte_order);
+  return (feof(file) || ferror(file) ? FALSE : TRUE);
 }
 
-void putFileChunk(FILE *file, char *chunk_name, int chunk_length,
+void putFileChunk(FILE *file, char *chunk_name, int chunk_size,
                  int byte_order)
 {
-  /* write chunk identifier */
+  /* write chunk name */
   fputs(chunk_name, file);
 
-  /* write chunk length */
-  putFile32BitInteger(file, chunk_length, byte_order);
+  /* write chunk size */
+  putFile32BitInteger(file, chunk_size, byte_order);
 }
 
 #define TRANSLATE_KEYSYM_TO_KEYNAME    0