X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=628f577e34ab29bca43fdba3ea10c7ba0ebb2d77;hb=5254dd7ea452634c19fb443566a413aa411d792e;hp=0e9da238f1c22476a455c9219fd29b015b002ed3;hpb=ae07939fdbf2fa154d9ba2c57685c5d765c12eec;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 0e9da238..628f577e 100644 --- a/src/files.c +++ b/src/files.c @@ -787,7 +787,7 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = { EL_BD_ACID, -1, TYPE_ELEMENT, CONF_VALUE_16_BIT(2), - &li.bd_acid_turns_to_element, EL_EMPTY + &li.bd_acid_turns_to_element, EL_BD_EXPLODING_3 }, { @@ -847,6 +847,33 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = &li.bd_nut_content, EL_BD_NUT_BREAKING_1 }, + { + EL_BD_PNEUMATIC_HAMMER, -1, + TYPE_INTEGER, CONF_VALUE_8_BIT(1), + &li.bd_hammer_walls_break_delay, 5 + }, + { + EL_BD_PNEUMATIC_HAMMER, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(2), + &li.bd_hammer_walls_reappear, FALSE + }, + { + EL_BD_PNEUMATIC_HAMMER, -1, + TYPE_INTEGER, CONF_VALUE_8_BIT(3), + &li.bd_hammer_walls_reappear_delay, 100 + }, + + { + EL_BD_SKELETON, -1, + TYPE_INTEGER, CONF_VALUE_8_BIT(1), + &li.bd_num_skeletons_needed_for_pot, 5 + }, + { + EL_BD_SKELETON, -1, + TYPE_INTEGER, CONF_VALUE_8_BIT(2), + &li.bd_skeleton_worth_num_diamonds, 0 + }, + // (the following values are related to various game elements) { @@ -4169,6 +4196,13 @@ static void CopyNativeLevel_RND_to_BD(struct LevelInfo *level) cave->nut_turns_to_when_crushed = map_element_RND_to_BD_cave(level->bd_nut_content); + cave->pneumatic_hammer_frame = level->bd_hammer_walls_break_delay; + cave->hammered_walls_reappear = level->bd_hammer_walls_reappear; + cave->hammered_wall_reappear_frame = level->bd_hammer_walls_reappear_delay; + + cave->skeletons_needed_for_pot = level->bd_num_skeletons_needed_for_pot; + cave->skeletons_worth_diamonds = level->bd_skeleton_worth_num_diamonds; + // level name strncpy(cave->name, level->name, sizeof(GdString)); cave->name[sizeof(GdString) - 1] = '\0'; @@ -4295,6 +4329,13 @@ static void CopyNativeLevel_BD_to_RND(struct LevelInfo *level) level->bd_nut_content = map_element_BD_to_RND_cave(cave->nut_turns_to_when_crushed); + level->bd_hammer_walls_break_delay = cave->pneumatic_hammer_frame; + level->bd_hammer_walls_reappear = cave->hammered_walls_reappear; + level->bd_hammer_walls_reappear_delay = cave->hammered_wall_reappear_frame; + + level->bd_num_skeletons_needed_for_pot= cave->skeletons_needed_for_pot; + level->bd_skeleton_worth_num_diamonds = cave->skeletons_worth_diamonds; + // level name char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1);