GADGET_ID_BD_NUT_CONTENT,
GADGET_ID_BD_EXPANDING_WALL_LOOKS_LIKE,
GADGET_ID_BD_SAND_LOOKS_LIKE,
+ GADGET_ID_BD_ROCK_TURNS_TO_ON_FALLING,
+ GADGET_ID_BD_ROCK_TURNS_TO_ON_IMPACT,
+ GADGET_ID_BD_DIAMOND_TURNS_TO_ON_FALLING,
+ GADGET_ID_BD_DIAMOND_TURNS_TO_ON_IMPACT,
GADGET_ID_START_ELEMENT,
GADGET_ID_ARTWORK_ELEMENT,
GADGET_ID_EXPLOSION_ELEMENT,
ED_DRAWING_ID_BD_NUT_CONTENT,
ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE,
ED_DRAWING_ID_BD_SAND_LOOKS_LIKE,
+ ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_FALLING,
+ ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_IMPACT,
+ ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_FALLING,
+ ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_IMPACT,
ED_DRAWING_ID_START_ELEMENT,
ED_DRAWING_ID_ARTWORK_ELEMENT,
ED_DRAWING_ID_EXPLOSION_ELEMENT,
&level.bd_sand_looks_like, 1, 1,
"Use graphic of element:", NULL, NULL, NULL, "Sand looks like this element"
},
+ {
+ ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_FALLING,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(2),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_ROCK_TURNS_TO_ON_FALLING, GADGET_ID_NONE,
+ &level.bd_rock_turns_to_on_falling, 1, 1,
+ "Turns to when falling:", NULL, NULL, NULL, "Changes to this when falling starts"
+ },
+ {
+ ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_IMPACT,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(3),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_ROCK_TURNS_TO_ON_IMPACT, GADGET_ID_NONE,
+ &level.bd_rock_turns_to_on_impact, 1, 1,
+ "Turns to on impact:", NULL, NULL, NULL, "Changes to this when falling stops"
+ },
+ {
+ ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_FALLING,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(2),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_DIAMOND_TURNS_TO_ON_FALLING, GADGET_ID_NONE,
+ &level.bd_diamond_turns_to_on_falling, 1, 1,
+ "Turns to when falling:", NULL, NULL, NULL, "Changes to this when falling starts"
+ },
+ {
+ ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_IMPACT,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(3),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_DIAMOND_TURNS_TO_ON_IMPACT, GADGET_ID_NONE,
+ &level.bd_diamond_turns_to_on_impact, 1, 1,
+ "Turns to on impact:", NULL, NULL, NULL, "Changes to this when falling stops"
+ },
// ---------- level start element -------------------------------------------
MapCounterButtons(ED_COUNTER_ID_BD_PUSHING_PROB);
MapCounterButtons(ED_COUNTER_ID_BD_PUSHING_PROB_WITH_SWEET);
+
+ MapDrawingArea(ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_FALLING);
+ MapDrawingArea(ED_DRAWING_ID_BD_ROCK_TURNS_TO_ON_IMPACT);
+ }
+
+ if (properties_element == EL_BD_DIAMOND && level.game_engine_type == GAME_ENGINE_TYPE_BD)
+ {
+ MapDrawingArea(ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_FALLING);
+ MapDrawingArea(ED_DRAWING_ID_BD_DIAMOND_TURNS_TO_ON_IMPACT);
}
if (properties_element == EL_BD_MEGA_ROCK ||
&li.bd_snap_element, EL_EMPTY
},
+ {
+ EL_BD_ROCK, -1,
+ TYPE_ELEMENT, CONF_VALUE_16_BIT(1),
+ &li.bd_rock_turns_to_on_falling, EL_BD_ROCK_FALLING
+ },
+ {
+ EL_BD_ROCK, -1,
+ TYPE_ELEMENT, CONF_VALUE_16_BIT(2),
+ &li.bd_rock_turns_to_on_impact, EL_BD_ROCK
+ },
+
{
EL_BD_DIAMOND, -1,
TYPE_INTEGER, CONF_VALUE_16_BIT(1),
&li.score[SC_DIAMOND_EXTRA], 20
},
+ {
+ EL_BD_DIAMOND, -1,
+ TYPE_ELEMENT, CONF_VALUE_16_BIT(2),
+ &li.bd_diamond_turns_to_on_falling, EL_BD_DIAMOND_FALLING
+ },
+ {
+ EL_BD_DIAMOND, -1,
+ TYPE_ELEMENT, CONF_VALUE_16_BIT(3),
+ &li.bd_diamond_turns_to_on_impact, EL_BD_DIAMOND
+ },
{
EL_BD_MAGIC_WALL, -1,
cave->gravity_change_time = level->bd_gravity_switch_delay;
cave->gravity_affects_all = level->bd_gravity_affects_all;
+ cave->stone_falling_effect = LEVEL_TO_CAVE(level->bd_rock_turns_to_on_falling);
+ cave->stone_bouncing_effect = LEVEL_TO_CAVE(level->bd_rock_turns_to_on_impact);
+ cave->diamond_falling_effect = LEVEL_TO_CAVE(level->bd_diamond_turns_to_on_falling);
+ cave->diamond_bouncing_effect = LEVEL_TO_CAVE(level->bd_diamond_turns_to_on_impact);
+
// level name
strncpy(cave->name, level->name, sizeof(GdString));
cave->name[sizeof(GdString) - 1] = '\0';
level->bd_gravity_switch_delay = cave->gravity_change_time;
level->bd_gravity_affects_all = cave->gravity_affects_all;
+ level->bd_rock_turns_to_on_falling = CAVE_TO_LEVEL(cave->stone_falling_effect);
+ level->bd_rock_turns_to_on_impact = CAVE_TO_LEVEL(cave->stone_bouncing_effect);
+ level->bd_diamond_turns_to_on_falling = CAVE_TO_LEVEL(cave->diamond_falling_effect);
+ level->bd_diamond_turns_to_on_impact = CAVE_TO_LEVEL(cave->diamond_bouncing_effect);
+
// level name
char *cave_name = getStringPrint("%s / %d", cave->name, bd_level_nr + 1);