added support for tape property bits (not used yet)
authorHolger Schemel <info@artsoft.org>
Thu, 10 Sep 2020 18:09:55 +0000 (20:09 +0200)
committerHolger Schemel <info@artsoft.org>
Thu, 10 Sep 2020 18:09:55 +0000 (20:09 +0200)
graphics/gfx_classic/RocksIcon32x32.png [deleted file]
src/files.c
src/tape.h

diff --git a/graphics/gfx_classic/RocksIcon32x32.png b/graphics/gfx_classic/RocksIcon32x32.png
deleted file mode 100644 (file)
index dcd5112..0000000
Binary files a/graphics/gfx_classic/RocksIcon32x32.png and /dev/null differ
index ba5b8f5816be4ce7edfec09805a51bfed1661efe..283ebf0f795a7ef15aff44521301d28d88036005 100644 (file)
@@ -58,7 +58,7 @@
 
 #define TAPE_CHUNK_VERS_SIZE   8       // size of file version chunk
 #define TAPE_CHUNK_HEAD_SIZE   20      // size of tape file header
-#define TAPE_CHUNK_HEAD_UNUSED 2       // unused tape header bytes
+#define TAPE_CHUNK_HEAD_UNUSED 1       // unused tape header bytes
 
 #define LEVEL_CHUNK_CNT3_SIZE(x)        (LEVEL_CHUNK_CNT3_HEADER + (x))
 #define LEVEL_CHUNK_CUS3_SIZE(x)        (2 + (x) * LEVEL_CPART_CUS3_SIZE)
@@ -7610,6 +7610,8 @@ static void setTapeInfoToDefaults(void)
   // at least one (default: the first) player participates in every tape
   tape.num_participating_players = 1;
 
+  tape.property_bits = TAPE_PROPERTY_NONE;
+
   tape.level_nr = level_nr;
   tape.counter = 0;
   tape.changed = FALSE;
@@ -7694,6 +7696,8 @@ static int LoadTape_HEAD(File *file, int chunk_size, struct TapeInfo *tape)
 
     setTapeActionFlags(tape, getFile8Bit(file));
 
+    tape->property_bits = getFile8Bit(file);
+
     ReadUnusedBytesFromFile(file, TAPE_CHUNK_HEAD_UNUSED);
 
     engine_version = getFileVersion(file);
@@ -8095,6 +8099,8 @@ static void SaveTape_HEAD(FILE *file, struct TapeInfo *tape)
 
   putFile8Bit(file, getTapeActionValue(tape));
 
+  putFile8Bit(file, tape->property_bits);
+
   // unused bytes not at the end here for 4-byte alignment of engine_version
   WriteUnusedBytesToFile(file, TAPE_CHUNK_HEAD_UNUSED);
 
index 4847931cc57c359c6aea6249ee8c204540ebb751..c8c0675936fbdbdf81db5dc1169c8a4a218f1922 100644 (file)
@@ -35,6 +35,9 @@
 
 #define TAPE_ACTIONS_DEFAULT           TAPE_USE_KEY_ACTIONS_ONLY
 
+// values for tape properties stored in tape file
+#define TAPE_PROPERTY_NONE             0
+
 // some positions in the video tape control window
 #define VIDEO_DISPLAY1_XPOS    5
 #define VIDEO_DISPLAY1_YPOS    5
@@ -202,6 +205,9 @@ struct TapeInfo
   boolean use_key_actions;
   boolean use_mouse_actions;
 
+  // bits to indicate which tape properties are stored in this tape
+  byte property_bits;
+
   struct
   {
     byte action[MAX_TAPE_ACTIONS];