+ ED_DRAWING_ID_BD_MAGIC_WALL_FLYING_ROCK_TO,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(10),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_MAGIC_WALL_FLYING_ROCK_TO, GADGET_ID_NONE,
+ &level.bd_magic_wall_flying_rock_to, 1, 1,
+ "Changes flying rocks to:", NULL, NULL, NULL, "Element to turn flying rocks to"
+ },
+
+ // ---------- BD amoeba content ---------------------------------------------
+
+ {
+ ED_DRAWING_ID_BD_AMOEBA_CONTENT_TOO_BIG,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(7),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_CONTENT_TOO_BIG, GADGET_ID_NONE,
+ &level.bd_amoeba_content_too_big, 1, 1,
+ "If too big, changes to:", NULL, NULL, NULL, "BD amoeba content if too big"
+ },
+ {
+ ED_DRAWING_ID_BD_AMOEBA_CONTENT_ENCLOSED,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(8),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_CONTENT_ENCLOSED, GADGET_ID_NONE,
+ &level.bd_amoeba_content_enclosed, 1, 1,
+ "If enclosed, changes to:", NULL, NULL, NULL, "BD amoeba content if enclosed"
+ },
+
+ // ---------- BD amoeba 2 content -------------------------------------------
+
+ {
+ ED_DRAWING_ID_BD_AMOEBA_2_CONTENT_TOO_BIG,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(7),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_2_CONTENT_TOO_BIG, GADGET_ID_NONE,
+ &level.bd_amoeba_2_content_too_big, 1, 1,
+ "If too big, changes to:", NULL, NULL, NULL, "BD amoeba 2 content if too big"
+ },
+ {
+ ED_DRAWING_ID_BD_AMOEBA_2_CONTENT_ENCLOSED,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(8),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_2_CONTENT_ENCLOSED, GADGET_ID_NONE,
+ &level.bd_amoeba_2_content_enclosed, 1, 1,
+ "If enclosed, changes to:", NULL, NULL, NULL, "BD amoeba 2 content if enclosed"
+ },
+ {
+ ED_DRAWING_ID_BD_AMOEBA_2_CONTENT_EXPLODING,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(10),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_2_CONTENT_EXPLODING, GADGET_ID_NONE,
+ &level.bd_amoeba_2_content_exploding, 1, 1,
+ "If exploding, changes to:", NULL, NULL, NULL, "BD amoeba 2 content if exploding"
+ },
+ {
+ ED_DRAWING_ID_BD_AMOEBA_2_CONTENT_LOOKS_LIKE,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(11),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_AMOEBA_2_CONTENT_LOOKS_LIKE, GADGET_ID_NONE,
+ &level.bd_amoeba_2_content_looks_like, 1, 1,
+ "Use graphic of element:", NULL, NULL, NULL, "BD amoeba 2 looks like this element"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_EATS_ELEMENT_1,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(5),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_EATS_ELEMENT_1, GADGET_ID_NONE,
+ &level.bd_slime_eats_element_1, 1, 1,
+ "Can eat:", NULL, NULL, NULL, "Element that can be eaten"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_CONVERTS_TO_ELEMENT_1,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(5),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_CONVERTS_TO_ELEMENT_1, GADGET_ID_BD_SLIME_EATS_ELEMENT_1,
+ &level.bd_slime_converts_to_element_1, 1, 1,
+ " and convert to:", NULL, NULL, NULL, "Eaten element is converted to"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_EATS_ELEMENT_2,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(6),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_EATS_ELEMENT_2, GADGET_ID_NONE,
+ &level.bd_slime_eats_element_2, 1, 1,
+ "Can eat:", NULL, NULL, NULL, "Element that can be eaten"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_CONVERTS_TO_ELEMENT_2,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(6),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_CONVERTS_TO_ELEMENT_2, GADGET_ID_BD_SLIME_EATS_ELEMENT_2,
+ &level.bd_slime_converts_to_element_2, 1, 1,
+ " and convert to:", NULL, NULL, NULL, "Eaten element is converted to"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_EATS_ELEMENT_3,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(7),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_EATS_ELEMENT_3, GADGET_ID_NONE,
+ &level.bd_slime_eats_element_3, 1, 1,
+ "Can eat:", NULL, NULL, NULL, "Element that can be eaten"
+ },
+ {
+ ED_DRAWING_ID_BD_SLIME_CONVERTS_TO_ELEMENT_3,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(7),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_BD_SLIME_CONVERTS_TO_ELEMENT_3, GADGET_ID_BD_SLIME_EATS_ELEMENT_3,
+ &level.bd_slime_converts_to_element_3, 1, 1,
+ " and convert to:", NULL, NULL, NULL, "Eaten element is converted to"
+ },
+ {
+ ED_DRAWING_ID_BD_ACID_EATS_ELEMENT,
+ 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_ACID_EATS_ELEMENT, GADGET_ID_NONE,
+ &level.bd_acid_eats_element, 1, 1,
+ "Can eat:", NULL, NULL, NULL, "Eats this element when spreading"
+ },
+ {
+ ED_DRAWING_ID_BD_ACID_TURNS_TO_ELEMENT,
+ 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_ACID_TURNS_TO_ELEMENT, GADGET_ID_NONE,
+ &level.bd_acid_turns_to_element, 1, 1,
+ "Can leave behind:", NULL, NULL, NULL, "Turns to this element after spreading"
+ },
+ {
+ ED_DRAWING_ID_BD_BITER_EATS_ELEMENT,
+ 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_BITER_EATS_ELEMENT, GADGET_ID_NONE,
+ &level.bd_biter_eats_element, 1, 1,
+ "Can eat:", NULL, NULL, NULL, "Eats this element when moving"
+ },
+ {
+ ED_DRAWING_ID_BD_BLADDER_CONVERTS_BY_ELEMENT,
+ 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_BLADDER_CONVERTS_BY_ELEMENT, GADGET_ID_NONE,
+ &level.bd_bladder_converts_by_element, 1, 1,
+ "Turns to clock by touching:", NULL, NULL, NULL, "Turns to clock by touching element"
+ },
+ {
+ ED_DRAWING_ID_BD_NUT_CONTENT,
+ 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_NUT_CONTENT, GADGET_ID_NONE,
+ &level.bd_nut_content, 1, 1,
+ "When breaking, changes to:", NULL, NULL, NULL, "Element created when breaking nut"
+ },
+
+ // ---------- level start element -------------------------------------------
+
+ {
+ ED_DRAWING_ID_START_ELEMENT,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(10),
+ 0, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_START_ELEMENT, GADGET_ID_USE_START_ELEMENT,
+ &level.start_element[0], 1, 1,
+ NULL, NULL, NULL, NULL, "Level start element"
+ },
+
+ // ---------- player artwork element ----------------------------------------
+
+ {
+ ED_DRAWING_ID_ARTWORK_ELEMENT,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(11),
+ 0, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_ARTWORK_ELEMENT, GADGET_ID_USE_ARTWORK_ELEMENT,
+ &level.artwork_element[0], 1, 1,
+ NULL, NULL, NULL, NULL, "Element for player artwork"
+ },
+
+ // ---------- player explosion element --------------------------------------
+
+ {
+ ED_DRAWING_ID_EXPLOSION_ELEMENT,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(12),
+ 0, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_EXPLOSION_ELEMENT, GADGET_ID_USE_EXPLOSION_ELEMENT,
+ &level.explosion_element[0], 1, 1,
+ NULL, NULL, NULL, NULL, "Element for player explosion"
+ },
+
+ // ---------- player initial inventory --------------------------------------
+
+ {
+ ED_DRAWING_ID_INVENTORY_CONTENT,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(1),
+ 0, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_INVENTORY_CONTENT, GADGET_ID_USE_INITIAL_INVENTORY,
+ &level.initial_inventory_content[0][0], MAX_INITIAL_INVENTORY_SIZE, 1,
+ NULL, NULL, NULL, NULL, "Content for initial inventory"
+ },
+
+ // ---------- gray ball content -----------------------------------------
+
+ {
+ ED_DRAWING_ID_MM_BALL_CONTENT,
+ ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(2),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_MM_BALL_CONTENT, GADGET_ID_NONE,
+ &level.mm_ball_content[0], MAX_MM_BALL_CONTENTS, 1,
+ "Content:", NULL, NULL, NULL, "Content for gray ball"
+ },
+
+ // ---------- element settings: configure 1 (custom elements) ---------------
+
+ // ---------- custom graphic ------------------------------------------------
+
+ {
+ ED_DRAWING_ID_CUSTOM_GRAPHIC,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(1),
+ 0, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_CUSTOM_GRAPHIC, GADGET_ID_CUSTOM_USE_GRAPHIC,
+ &custom_element.gfx_element_initial, 1, 1,
+ NULL, NULL, NULL, NULL, "Custom graphic element"
+ },
+
+ // ---------- element settings: configure 2 (custom elements) ---------------
+
+ // ---------- custom content (when exploding) -------------------------------
+
+ {
+ ED_DRAWING_ID_CUSTOM_CONTENT,
+ -1, ED_AREA_3X3_SETTINGS_YPOS(11),
+ 0, ED_AREA_3X3_SETTINGS_YOFF,
+ GADGET_ID_CUSTOM_CONTENT, GADGET_ID_NONE, // align three rows
+ &custom_element.content.e[0][0], 3, 3,
+ "Content:", NULL, NULL, NULL, NULL
+ },
+
+ // ---------- custom enter and leave element (when moving) ------------------
+
+ {
+ ED_DRAWING_ID_CUSTOM_MOVE_ENTER,
+ ED_AREA_1X1_SETTINGS_XPOS(1), ED_AREA_1X1_SETTINGS_YPOS(3),
+ ED_AREA_1X1_SETTINGS_XOFF, ED_AREA_1X1_SETTINGS_YOFF,
+ GADGET_ID_CUSTOM_MOVE_ENTER, GADGET_ID_NONE,
+ &custom_element.move_enter_element, 1, 1,
+ "Can dig:", " ", NULL, NULL, "Element that can be digged/collected"
+ },
+ {
+ ED_DRAWING_ID_CUSTOM_MOVE_LEAVE,
+ -1, ED_AREA_1X1_SETTINGS_YPOS(3),