X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=b5c92b98f5033e4b3fce32cc156f645d6b6bdf2a;hb=823ae65fd14a8ab5e88adc0c711acecb2fb36955;hp=0b0c37d340981bac3395684ad0d48a4c0262fe19;hpb=12a8fd3a64d6bee5ca5f5b89e4a00b49d78bbd2c;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 0b0c37d3..b5c92b98 100644 --- a/src/files.c +++ b/src/files.c @@ -818,6 +818,18 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = &li.num_ball_contents, 4, MAX_ELEMENT_CONTENTS }, + { + EL_SOKOBAN_FIELD_EMPTY, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(1), + &li.sb_fields_needed, TRUE + }, + + { + EL_SOKOBAN_OBJECT, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(1), + &li.sb_objects_needed, TRUE + }, + { EL_MM_MCDUFFIN, -1, TYPE_BOOLEAN, CONF_VALUE_8_BIT(1), @@ -6314,10 +6326,6 @@ static void LoadLevel_InitVersion(struct LevelInfo *level) level->extra_time_score = level->score[SC_TIME_BONUS]; } - // game logic of "game of life" and "biomaze" was buggy before 4.1.1.1 - if (level->game_version < VERSION_IDENT(4,1,1,1)) - level->use_life_bugs = TRUE; - if (level->game_version < VERSION_IDENT(3,2,0,7)) { // default behaviour for snapping was "not continuous" before 3.2.0-7 @@ -6415,6 +6423,14 @@ static void LoadLevel_InitVersion(struct LevelInfo *level) // levels were solved by the first player entering an exit up to 4.1.0.0 if (level->game_version <= VERSION_IDENT(4,1,0,0)) level->solved_by_one_player = TRUE; + + // game logic of "game of life" and "biomaze" was buggy before 4.1.1.1 + if (level->game_version < VERSION_IDENT(4,1,1,1)) + level->use_life_bugs = TRUE; + + // only Sokoban fields (but not objects) had to be solved before 4.1.1.1 + if (level->game_version < VERSION_IDENT(4,1,1,1)) + level->sb_objects_needed = FALSE; } static void LoadLevel_InitStandardElements(struct LevelInfo *level)