X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=inline;f=src%2Feditor.c;h=73d2c36f336d13cedc4b39741d0823a8b06670b7;hb=afbad74c77ab1a2cac76b0ce8f633da50a8f52ab;hp=d4cab46f0fa880d1098fdc698dbec20be90301d3;hpb=7184cdbcab62c1eb5848dea82362d62ce6c85ef6;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index d4cab46f..73d2c36f 100644 --- a/src/editor.c +++ b/src/editor.c @@ -581,6 +581,8 @@ enum GADGET_ID_BD_BITER_EATS_ELEMENT, GADGET_ID_BD_BLADDER_CONVERTS_BY_ELEMENT, GADGET_ID_BD_NUT_CONTENT, + GADGET_ID_BD_EXPANDING_WALL_LOOKS_LIKE, + GADGET_ID_BD_SAND_LOOKS_LIKE, GADGET_ID_START_ELEMENT, GADGET_ID_ARTWORK_ELEMENT, GADGET_ID_EXPLOSION_ELEMENT, @@ -1220,6 +1222,8 @@ enum ED_DRAWING_ID_BD_BITER_EATS_ELEMENT, ED_DRAWING_ID_BD_BLADDER_CONVERTS_BY_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_START_ELEMENT, ED_DRAWING_ID_ARTWORK_ELEMENT, ED_DRAWING_ID_EXPLOSION_ELEMENT, @@ -4580,6 +4584,22 @@ static struct &level.bd_nut_content, 1, 1, "When breaking, changes to:", NULL, NULL, NULL, "Element created when breaking nut" }, + { + ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE, + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(1), + ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, + GADGET_ID_BD_EXPANDING_WALL_LOOKS_LIKE, GADGET_ID_NONE, + &level.bd_expanding_wall_looks_like, 1, 1, + "Use graphic of element:", NULL, NULL, NULL, "Expanding wall looks like this element" + }, + { + ED_DRAWING_ID_BD_SAND_LOOKS_LIKE, + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(0), + ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF, + GADGET_ID_BD_SAND_LOOKS_LIKE, GADGET_ID_NONE, + &level.bd_sand_looks_like, 1, 1, + "Use graphic of element:", NULL, NULL, NULL, "Sand looks like this element" + }, // ---------- level start element ------------------------------------------- @@ -11299,7 +11319,7 @@ static void DrawPropertiesInfo(void) #define TEXT_REPLICATION_DELAY "Create delay (BD frames)" #define TEXT_HAMMER_BREAK_DELAY "Delay for breaking walls" #define TEXT_HAMMER_REAPPEAR_DELAY "Delay for reappearing walls" -#define TEXT_SKELETONS_NEEDED "Amount needed to use a pot" +#define TEXT_SKELETONS_NEEDED "Skeletons needed to use pot" #define TEXT_SKELETONS_WORTH "Counts as this many diamonds" static struct @@ -11441,6 +11461,8 @@ static struct 1, 100 }, { EL_BD_PNEUMATIC_HAMMER, &level.bd_hammer_walls_reappear_delay, TEXT_HAMMER_REAPPEAR_DELAY, 1, 200 }, + { EL_BD_POT, &level.bd_num_skeletons_needed_for_pot, TEXT_SKELETONS_NEEDED, + 0, 50 }, { EL_BD_SKELETON, &level.bd_num_skeletons_needed_for_pot, TEXT_SKELETONS_NEEDED, 0, 50 }, { EL_BD_SKELETON, &level.bd_skeleton_worth_num_diamonds, TEXT_SKELETONS_WORTH, @@ -11498,6 +11520,7 @@ static boolean checkPropertiesConfig(int element) IS_PLAYER_ELEMENT(element) || IS_BD_PLAYER_ELEMENT(element) || IS_BD_EXPANDABLE_WALL(properties_element) || + IS_BD_EXPANDABLE_STEELWALL(properties_element) || IS_BD_CONVEYOR_BELT(properties_element) || IS_BD_CONVEYOR_BELT_SWITCH(properties_element) || IS_SOKOBAN_OBJECT_OR_FIELD(element) || @@ -11505,6 +11528,7 @@ static boolean checkPropertiesConfig(int element) CAN_GROW(element) || COULD_MOVE_INTO_ACID(element) || MAYBE_DONT_COLLIDE_WITH(element) || + element == EL_BD_SAND || element == EL_BD_ROCK || element == EL_BD_MEGA_ROCK || element == EL_BD_SWEET || @@ -11842,6 +11866,11 @@ static void DrawPropertiesConfig(void) MapDrawingArea(ED_DRAWING_ID_BD_SNAP_ELEMENT); } + if (properties_element == EL_BD_SAND) + { + MapDrawingArea(ED_DRAWING_ID_BD_SAND_LOOKS_LIKE); + } + if (properties_element == EL_BD_ROCK && level.game_engine_type == GAME_ENGINE_TYPE_BD) { counterbutton_info[ED_COUNTER_ID_BD_PUSHING_PROB].y = @@ -11885,9 +11914,13 @@ static void DrawPropertiesConfig(void) MapDrawingArea(ED_DRAWING_ID_BD_SLIME_CONVERTS_TO_ELEMENT_3); } - if (IS_BD_EXPANDABLE_WALL(properties_element)) + if (IS_BD_EXPANDABLE_WALL(properties_element) || + IS_BD_EXPANDABLE_STEELWALL(properties_element)) { MapCheckbuttonGadget(ED_CHECKBUTTON_ID_BD_CHANGE_EXPANDING_WALL); + + if (IS_BD_EXPANDABLE_WALL(properties_element)) + MapDrawingArea(ED_DRAWING_ID_BD_EXPANDING_WALL_LOOKS_LIKE); } if (properties_element == EL_BD_REPLICATOR)