#define CHUNK_SIZE_NONE -1 /* do not write chunk size */
#define FILE_VERS_CHUNK_SIZE 8 /* size of file version chunk */
#define LEVEL_HEADER_SIZE 80 /* size of level file header */
-#define LEVEL_HEADER_UNUSED 3 /* unused level header bytes */
+#define LEVEL_HEADER_UNUSED 1 /* unused level header bytes */
#define LEVEL_CHUNK_CNT2_SIZE 160 /* size of level CNT2 chunk */
#define LEVEL_CHUNK_CNT2_UNUSED 11 /* unused CNT2 chunk bytes */
#define LEVEL_CHUNK_CNT3_HEADER 16 /* size of level CNT3 header */
level->block_last_field = FALSE;
level->sp_block_last_field = TRUE;
level->instant_relocation = FALSE;
+ level->can_pass_to_walkable = FALSE;
+ level->grow_into_diggable = TRUE;
level->can_move_into_acid_bits = ~0; /* everything can move into acid */
level->dont_collide_with_bits = ~0; /* always deadly when colliding */
level->use_step_counter = (getFile8Bit(file) == 1 ? TRUE : FALSE);
level->instant_relocation = (getFile8Bit(file) == 1 ? TRUE : FALSE);
+ level->can_pass_to_walkable = (getFile8Bit(file) == 1 ? TRUE : FALSE);
+ level->grow_into_diggable = (getFile8Bit(file) == 1 ? TRUE : FALSE);
ReadUnusedBytesFromFile(file, LEVEL_HEADER_UNUSED);
pre-2.0 levels, where the game version is still taken from the
file format version used to store the level -- see above). */
+#if 1
+ /* player was faster than enemies in 1.0.0 and before */
+ if (level->file_version == FILE_VERSION_1_0)
+ level->double_speed = TRUE;
+#else
/* do some special adjustments to support older level versions */
if (level->file_version == FILE_VERSION_1_0)
{
/* player was faster than monsters in (pre-)1.0 levels */
level->double_speed = TRUE;
}
+#endif
- /* Default behaviour for EM style gems was "slippery" only in 2.0.1 */
+ /* default behaviour for EM style gems was "slippery" only in 2.0.1 */
if (level->game_version == VERSION_IDENT(2,0,1,0))
level->em_slippery_gems = TRUE;
putFile8Bit(file, (level->use_step_counter ? 1 : 0));
putFile8Bit(file, (level->instant_relocation ? 1 : 0));
+ putFile8Bit(file, (level->can_pass_to_walkable ? 1 : 0));
+ putFile8Bit(file, (level->grow_into_diggable ? 1 : 0));
WriteUnusedBytesToFile(file, LEVEL_HEADER_UNUSED);
}