#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 6 /* unused level header bytes */
+#define LEVEL_HEADER_UNUSED 4 /* 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->use_spring_bug = FALSE;
-
level->can_move_into_acid_bits = ~0; /* everything can move into acid */
+ level->dont_collide_with_bits = ~0; /* always deadly when colliding */
- level->player_can_fall_into_acid = TRUE;
-
+ level->use_spring_bug = FALSE;
level->use_step_counter = FALSE;
level->use_custom_template = FALSE;
level->block_last_field = (getFile8Bit(file) == 1 ? TRUE : FALSE);
level->sp_block_last_field = (getFile8Bit(file) == 1 ? TRUE : FALSE);
+ level->can_move_into_acid_bits = getFile32BitBE(file);
+ level->dont_collide_with_bits = getFile8Bit(file);
level->use_spring_bug = (getFile8Bit(file) == 1 ? TRUE : FALSE);
-
- level->can_move_into_acid_bits = getFile16BitBE(file);
-
level->use_step_counter = (getFile8Bit(file) == 1 ? TRUE : FALSE);
- level->player_can_fall_into_acid = (getFile8Bit(file) == 1 ? TRUE : FALSE);
-
ReadUnusedBytesFromFile(file, LEVEL_HEADER_UNUSED);
return chunk_size;
if (level->game_version < VERSION_IDENT(2,2,0,0))
level->use_spring_bug = TRUE;
- if (level->game_version < VERSION_IDENT(3,0,9,0))
+ if (level->game_version < VERSION_IDENT(3,1,0,0))
{
int i, j;
level->can_move_into_acid_bits = 0; /* nothing can move into acid */
+ level->dont_collide_with_bits = 0; /* nothing is deadly when colliding */
setMoveIntoAcidProperty(level, EL_ROBOT, TRUE);
setMoveIntoAcidProperty(level, EL_SATELLITE, TRUE);
putFile8Bit(file, (level->block_last_field ? 1 : 0));
putFile8Bit(file, (level->sp_block_last_field ? 1 : 0));
+ putFile32BitBE(file, level->can_move_into_acid_bits);
+ putFile8Bit(file, level->dont_collide_with_bits);
putFile8Bit(file, (level->use_spring_bug ? 1 : 0));
-
- putFile16BitBE(file, level->can_move_into_acid_bits);
-
putFile8Bit(file, (level->use_step_counter ? 1 : 0));
- putFile8Bit(file, (level->player_can_fall_into_acid ? 1 : 0));
-
WriteUnusedBytesToFile(file, LEVEL_HEADER_UNUSED);
}