added game elements for native Boulder Dash game engine
authorHolger Schemel <info@artsoft.org>
Sat, 10 Feb 2024 23:37:54 +0000 (00:37 +0100)
committerHolger Schemel <info@artsoft.org>
Sun, 18 Feb 2024 14:57:40 +0000 (15:57 +0100)
graphics/gfx_classic/RocksBD.png [new file with mode: 0644]
src/conf_gfx.c
src/editor.c
src/files.c
src/libgame/system.h
src/main.c
src/main.h
src/screens.c

diff --git a/graphics/gfx_classic/RocksBD.png b/graphics/gfx_classic/RocksBD.png
new file mode 100644 (file)
index 0000000..2f1a05c
Binary files /dev/null and b/graphics/gfx_classic/RocksBD.png differ
index 62bdab0e6b827bcab7f6064e5c66f425adb41425..47353694ae0d32367d38569bf3e570cc9062fbed 100644 (file)
@@ -103,6 +103,9 @@ struct ConfigInfo image_config[] =
 
   // images for Boulder Dash style elements and actions
 
+  { "bd_player",                               UNDEFINED_FILENAME      },
+  { "bd_player.clone_from",                    "player_1"              },
+
   { "bd_wall",                                 "RocksDC.png"           },
   { "bd_wall.xpos",                            "12"                    },
   { "bd_wall.ypos",                            "9"                     },
@@ -211,6 +214,11 @@ struct ConfigInfo image_config[] =
   { "bd_amoeba.EDITOR.xpos",                   "8"                     },
   { "bd_amoeba.EDITOR.ypos",                   "7"                     },
 
+  { "bd_amoeba_2",                             UNDEFINED_FILENAME      },
+  { "bd_amoeba_2.clone_from",                  "bd_amoeba"             },
+  { "bd_amoeba_2.EDITOR",                      UNDEFINED_FILENAME      },
+  { "bd_amoeba_2.EDITOR.clone_from",           "bd_amoeba.EDITOR"      },
+
   { "bd_butterfly",                            "RocksElements.png"     },
   { "bd_butterfly.xpos",                       "4"                     },
   { "bd_butterfly.ypos",                       "12"                    },
@@ -259,6 +267,27 @@ struct ConfigInfo image_config[] =
   { "bd_butterfly.down.EDITOR.xpos",           "11"                    },
   { "bd_butterfly.down.EDITOR.ypos",           "12"                    },
 
+  { "bd_butterfly_2",                          UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.clone_from",               "bd_butterfly.up"       },
+  { "bd_butterfly_2.EDITOR",                   UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.EDITOR.clone_from",                "bd_butterfly.up.EDITOR" },
+  { "bd_butterfly_2.right",                    UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.right.clone_from",         "bd_butterfly.right"    },
+  { "bd_butterfly_2.right.EDITOR",             UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.right.EDITOR.clone_from",  "bd_butterfly.right.EDITOR" },
+  { "bd_butterfly_2.up",                       UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.up.clone_from",            "bd_butterfly.up"       },
+  { "bd_butterfly_2.up.EDITOR",                        UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.up.EDITOR.clone_from",     "bd_butterfly.up.EDITOR" },
+  { "bd_butterfly_2.left",                     UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.left.clone_from",          "bd_butterfly.left"     },
+  { "bd_butterfly_2.left.EDITOR",              UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.left.EDITOR.clone_from",   "bd_butterfly.left.EDITOR" },
+  { "bd_butterfly_2.down",                     UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.down.clone_from",          "bd_butterfly.down"     },
+  { "bd_butterfly_2.down.EDITOR",              UNDEFINED_FILENAME      },
+  { "bd_butterfly_2.down.EDITOR.clone_from",   "bd_butterfly.down.EDITOR" },
+
   { "bd_firefly",                              "RocksElements.png"     },
   { "bd_firefly.xpos",                         "6"                     },
   { "bd_firefly.ypos",                         "12"                    },
@@ -307,6 +336,648 @@ struct ConfigInfo image_config[] =
   { "bd_firefly.down.EDITOR.xpos",             "15"                    },
   { "bd_firefly.down.EDITOR.ypos",             "12"                    },
 
+  { "bd_firefly_2",                            UNDEFINED_FILENAME      },
+  { "bd_firefly_2.clone_from",                 "bd_firefly.up" },
+  { "bd_firefly_2.EDITOR",                     UNDEFINED_FILENAME      },
+  { "bd_firefly_2.EDITOR.clone_from",          "bd_firefly.up.EDITOR" },
+  { "bd_firefly_2.right",                      UNDEFINED_FILENAME      },
+  { "bd_firefly_2.right.clone_from",           "bd_firefly.right"      },
+  { "bd_firefly_2.right.EDITOR",               UNDEFINED_FILENAME      },
+  { "bd_firefly_2.right.EDITOR.clone_from",    "bd_firefly.right.EDITOR" },
+  { "bd_firefly_2.up",                         UNDEFINED_FILENAME      },
+  { "bd_firefly_2.up.clone_from",              "bd_firefly.up" },
+  { "bd_firefly_2.up.EDITOR",                  UNDEFINED_FILENAME      },
+  { "bd_firefly_2.up.EDITOR.clone_from",       "bd_firefly.up.EDITOR" },
+  { "bd_firefly_2.left",                       UNDEFINED_FILENAME      },
+  { "bd_firefly_2.left.clone_from",            "bd_firefly.left"       },
+  { "bd_firefly_2.left.EDITOR",                        UNDEFINED_FILENAME      },
+  { "bd_firefly_2.left.EDITOR.clone_from",     "bd_firefly.left.EDITOR" },
+  { "bd_firefly_2.down",                       UNDEFINED_FILENAME      },
+  { "bd_firefly_2.down.clone_from",            "bd_firefly.down"       },
+  { "bd_firefly_2.down.EDITOR",                        UNDEFINED_FILENAME      },
+  { "bd_firefly_2.down.EDITOR.clone_from",     "bd_firefly.down.EDITOR" },
+
+  { "bd_sand",                                 UNDEFINED_FILENAME      },
+  { "bd_sand.clone_from",                      "sand"                  },
+
+  { "bd_sand_2",                               UNDEFINED_FILENAME      },
+  { "bd_sand_2.clone_from",                    "emc_grass"             },
+
+  { "bd_sand_ball",                            "RocksBD.png"           },
+  { "bd_sand_ball.xpos",                       "1"                     },
+  { "bd_sand_ball.ypos",                       "36"                    },
+  { "bd_sand_ball.frames",                     "1"                     },
+  { "bd_sand_ball.scale_up_factor",            "2"                     },
+
+  { "bd_sand_loose",                           "RocksBD.png"           },
+  { "bd_sand_loose.xpos",                      "0"                     },
+  { "bd_sand_loose.ypos",                      "44"                    },
+  { "bd_sand_loose.frames",                    "1"                     },
+  { "bd_sand_loose.scale_up_factor",           "2"                     },
+
+  { "bd_sand_sloped_up_right",                 "RocksBD.png"           },
+  { "bd_sand_sloped_up_right.xpos",            "0"                     },
+  { "bd_sand_sloped_up_right.ypos",            "35"                    },
+  { "bd_sand_sloped_up_right.frames",          "1"                     },
+  { "bd_sand_sloped_up_right.scale_up_factor", "2"                     },
+  { "bd_sand_sloped_up_left",                  "RocksBD.png"           },
+  { "bd_sand_sloped_up_left.xpos",             "1"                     },
+  { "bd_sand_sloped_up_left.ypos",             "35"                    },
+  { "bd_sand_sloped_up_left.frames",           "1"                     },
+  { "bd_sand_sloped_up_left.scale_up_factor",  "2"                     },
+  { "bd_sand_sloped_down_left",                        "RocksBD.png"           },
+  { "bd_sand_sloped_down_left.xpos",           "2"                     },
+  { "bd_sand_sloped_down_left.ypos",           "35"                    },
+  { "bd_sand_sloped_down_left.frames",         "1"                     },
+  { "bd_sand_sloped_down_left.scale_up_factor","2"                     },
+  { "bd_sand_sloped_down_right",               "RocksBD.png"           },
+  { "bd_sand_sloped_down_right.xpos",          "3"                     },
+  { "bd_sand_sloped_down_right.ypos",          "35"                    },
+  { "bd_sand_sloped_down_right.frames",                "1"                     },
+  { "bd_sand_sloped_down_right.scale_up_factor","2"                    },
+
+  { "bd_sand_glued",                           UNDEFINED_FILENAME      },
+  { "bd_sand_glued.clone_from",                        "sand"                  },
+
+  { "bd_wall_sloped_up_right",                 "RocksBD.png"           },
+  { "bd_wall_sloped_up_right.xpos",            "4"                     },
+  { "bd_wall_sloped_up_right.ypos",            "34"                    },
+  { "bd_wall_sloped_up_right.frames",          "1"                     },
+  { "bd_wall_sloped_up_right.scale_up_factor", "2"                     },
+  { "bd_wall_sloped_up_left",                  "RocksBD.png"           },
+  { "bd_wall_sloped_up_left.xpos",             "5"                     },
+  { "bd_wall_sloped_up_left.ypos",             "34"                    },
+  { "bd_wall_sloped_up_left.frames",           "1"                     },
+  { "bd_wall_sloped_up_left.scale_up_factor",  "2"                     },
+  { "bd_wall_sloped_down_left",                        "RocksBD.png"           },
+  { "bd_wall_sloped_down_left.xpos",           "6"                     },
+  { "bd_wall_sloped_down_left.ypos",           "34"                    },
+  { "bd_wall_sloped_down_left.frames",         "1"                     },
+  { "bd_wall_sloped_down_left.scale_up_factor","2"                     },
+  { "bd_wall_sloped_down_right",               "RocksBD.png"           },
+  { "bd_wall_sloped_down_right.xpos",          "7"                     },
+  { "bd_wall_sloped_down_right.ypos",          "34"                    },
+  { "bd_wall_sloped_down_right.frames",                "1"                     },
+  { "bd_wall_sloped_down_right.scale_up_factor","2"                    },
+
+  { "bd_wall_non_sloped",                      UNDEFINED_FILENAME      },
+  { "bd_wall_non_sloped.clone_from",           "wall"                  },
+
+  { "bd_wall_diggable",                                UNDEFINED_FILENAME      },
+  { "bd_wall_diggable.clone_from",             "bd_wall"               },
+
+  { "bd_wall_diamond",                         UNDEFINED_FILENAME      },
+  { "bd_wall_diamond.clone_from",              "wall_bd_diamond"       },
+
+  { "bd_wall_key_1",                           UNDEFINED_FILENAME      },
+  { "bd_wall_key_1.clone_from",                        "bd_wall"               },
+
+  { "bd_wall_key_2",                           UNDEFINED_FILENAME      },
+  { "bd_wall_key_2.clone_from",                        "bd_wall"               },
+
+  { "bd_wall_key_3",                           UNDEFINED_FILENAME      },
+  { "bd_wall_key_4.clone_from",                        "bd_wall"               },
+
+  { "bd_falling_wall",                         UNDEFINED_FILENAME      },
+  { "bd_falling_wall.clone_from",              "bd_wall"               },
+
+  { "bd_steelwall",                            UNDEFINED_FILENAME      },
+  { "bd_steelwall.clone_from",                 "steelwall"             },
+
+  { "bd_steelwall_sloped_up_right",            "RocksBD.png"           },
+  { "bd_steelwall_sloped_up_right.xpos",       "4"                     },
+  { "bd_steelwall_sloped_up_right.ypos",       "35"                    },
+  { "bd_steelwall_sloped_up_right.frames",     "1"                     },
+  { "bd_steelwall_sloped_up_right.scale_up_factor", "2"                        },
+  { "bd_steelwall_sloped_up_left",             "RocksBD.png"           },
+  { "bd_steelwall_sloped_up_left.xpos",                "5"                     },
+  { "bd_steelwall_sloped_up_left.ypos",                "35"                    },
+  { "bd_steelwall_sloped_up_left.frames",      "1"                     },
+  { "bd_steelwall_sloped_up_left.scale_up_factor", "2"                 },
+  { "bd_steelwall_sloped_down_left",           "RocksBD.png"           },
+  { "bd_steelwall_sloped_down_left.xpos",      "6"                     },
+  { "bd_steelwall_sloped_down_left.ypos",      "35"                    },
+  { "bd_steelwall_sloped_down_left.frames",    "1"                     },
+  { "bd_steelwall_sloped_down_left.scale_up_factor", "2"               },
+  { "bd_steelwall_sloped_down_right",          "RocksBD.png"           },
+  { "bd_steelwall_sloped_down_right.xpos",     "7"                     },
+  { "bd_steelwall_sloped_down_right.ypos",     "35"                    },
+  { "bd_steelwall_sloped_down_right.frames",   "1"                     },
+  { "bd_steelwall_sloped_down_right.scale_up_factor", "2"              },
+
+  { "bd_steelwall_explodable",                 UNDEFINED_FILENAME      },
+  { "bd_steelwall_explodable.clone_from",      "bd_steelwall"          },
+
+  { "bd_steelwall_diggable",                   UNDEFINED_FILENAME      },
+  { "bd_steelwall_diggable.clone_from",                "bd_steelwall"          },
+
+  { "bd_expandable_wall_horizontal",           UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_horizontal.clone_from", "expandable_wall_horizontal" },
+  { "bd_expandable_wall_horizontal.EDITOR",    UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_horizontal.EDITOR.clone_from", "expandable_wall_horizontal.EDITOR" },
+
+  { "bd_expandable_wall_vertical",             UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_vertical.clone_from", "expandable_wall_vertical" },
+  { "bd_expandable_wall_vertical.EDITOR",      UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_vertical.EDITOR.clone_from", "expandable_wall_vertical.EDITOR" },
+
+  { "bd_expandable_wall_any",                  UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_any.clone_from",       "expandable_wall_any"   },
+  { "bd_expandable_wall_any.EDITOR",           UNDEFINED_FILENAME      },
+  { "bd_expandable_wall_any.EDITOR.clone_from", "expandable_wall_any.EDITOR"   },
+
+  { "bd_expandable_steelwall_horizontal",      UNDEFINED_FILENAME      },
+  { "bd_expandable_steelwall_horizontal.clone_from", "expandable_steelwall_horizontal" },
+  { "bd_expandable_steelwall_horizontal.EDITOR", UNDEFINED_FILENAME    },
+  { "bd_expandable_steelwall_horizontal.EDITOR.clone_from", "expandable_steelwall_horizontal.EDITOR" },
+
+  { "bd_expandable_steelwall_vertical",                UNDEFINED_FILENAME      },
+  { "bd_expandable_steelwall_vertical.clone_from", "expandable_steelwall_vertical" },
+  { "bd_expandable_steelwall_vertical.EDITOR", UNDEFINED_FILENAME      },
+  { "bd_expandable_steelwall_vertical.EDITOR.clone_from", "expandable_steelwall_vertical.EDITOR" },
+
+  { "bd_expandable_steelwall_any",             UNDEFINED_FILENAME      },
+  { "bd_expandable_steelwall_any.clone_from",  "expandable_steelwall_any" },
+  { "bd_expandable_steelwall_any.EDITOR",      UNDEFINED_FILENAME      },
+  { "bd_expandable_steelwall_any.EDITOR.clone_from", "expandable_steelwall_any.EDITOR" },
+
+  { "bd_expandable_wall_switch_horizontal",    "RocksBD.png"           },
+  { "bd_expandable_wall_switch_horizontal.xpos", "0"                   },
+  { "bd_expandable_wall_switch_horizontal.ypos", "5"                   },
+  { "bd_expandable_wall_switch_horizontal.frames", "1"                 },
+  { "bd_expandable_wall_switch_horizontal.scale_up_factor", "2"                },
+
+  { "bd_expandable_wall_switch_vertical",      "RocksBD.png"           },
+  { "bd_expandable_wall_switch_vertical.xpos", "1"                     },
+  { "bd_expandable_wall_switch_vertical.ypos", "5"                     },
+  { "bd_expandable_wall_switch_vertical.frames", "1"                   },
+  { "bd_expandable_wall_switch_vertical.scale_up_factor", "2"          },
+
+  { "bd_inbox",                                        "RocksBD.png"           },
+  { "bd_inbox.xpos",                           "6"                     },
+  { "bd_inbox.ypos",                           "2"                     },
+  { "bd_inbox.frames",                         "1"                     },
+  { "bd_inbox.scale_up_factor",                        "2"                     },
+  { "bd_inbox.opening",                                "RocksBD.png"           },
+  { "bd_inbox.opening.xpos",                   "6"                     },
+  { "bd_inbox.opening.ypos",                   "2"                     },
+  { "bd_inbox.opening.frames",                 "2"                     },
+  { "bd_inbox.opening.delay",                  "8"                     },
+  { "bd_inbox.opening.scale_up_factor",                "2"                     },
+  { "bd_inbox.EDITOR",                         "RocksBD.png"           },
+  { "bd_inbox.EDITOR.xpos",                    "3"                     },
+  { "bd_inbox.EDITOR.ypos",                    "4"                     },
+  { "bd_inbox.EDITOR.scale_up_factor",         "2"                     },
+
+  { "bd_exit_closed",                          UNDEFINED_FILENAME      },
+  { "bd_exit_closed.clone_from",               "exit_closed"           },
+
+  { "bd_exit_open",                            UNDEFINED_FILENAME      },
+  { "bd_exit_openm.clone_from",                        "exit_open"             },
+
+  { "bd_invisible_exit_closed",                        UNDEFINED_FILENAME      },
+  { "bd_invisible_exit_closed.clone_from",     "invisible_wall"        },
+  { "bd_invisible_exit_closed.EDITOR",         UNDEFINED_FILENAME      },
+  { "bd_invisible_exit_closed.EDITOR.clone_from", "bd_exit_closed"     },
+
+  { "bd_invisible_exit_open",                  UNDEFINED_FILENAME      },
+  { "bd_invisible_exit_open.clone_from",       "invisible_wall"        },
+  { "bd_invisible_exit_open.EDITOR",           UNDEFINED_FILENAME      },
+  { "bd_invisible_exit_open.EDITOR.clone_from", "bd_exit_open"         },
+
+  { "bd_flying_rock",                          UNDEFINED_FILENAME      },
+  { "bd_flying_rock.clone_from",               "bd_rock"               },
+
+  { "bd_mega_rock",                            UNDEFINED_FILENAME      },
+  { "bd_mega_rock.clone_from",                 "bd_rock"               },
+
+  { "bd_rock_glued",                           UNDEFINED_FILENAME      },
+  { "bd_rock_glued.clone_from",                        "bd_rock"               },
+
+  { "bd_flying_diamond",                       UNDEFINED_FILENAME      },
+  { "bd_flying_diamond.clone_from",            "bd_diamond"            },
+
+  { "bd_diamond_glued",                                UNDEFINED_FILENAME      },
+  { "bd_diamond_glued.clone_from",             "bd_diamond"            },
+
+  { "bd_diamond_key",                          "RocksBD.png"           },
+  { "bd_diamond_key.xpos",                     "3"                     },
+  { "bd_diamond_key.ypos",                     "1"                     },
+  { "bd_diamond_key.frames",                   "1"                     },
+  { "bd_diamond_key.scale_up_factor",          "2"                     },
+
+  { "bd_trapped_diamond",                      "RocksBD.png"           },
+  { "bd_trapped_diamond.xpos",                 "2"                     },
+  { "bd_trapped_diamond.ypos",                 "1"                     },
+  { "bd_trapped_diamond.frames",               "1"                     },
+  { "bd_trapped_diamond.scale_up_factor",      "2"                     },
+
+  { "bd_nut",                                  UNDEFINED_FILENAME      },
+  { "bd_nut.clone_from",                       "nut"                   },
+
+  { "bd_bladder",                              "RocksBD.png"           },
+  { "bd_bladder.xpos",                         "0"                     },
+  { "bd_bladder.ypos",                         "22"                    },
+  { "bd_bladder.frames",                       "1"                     },
+  { "bd_bladder.scale_up_factor",              "2"                     },
+
+  { "bd_bladder_spender",                      "RocksBD.png"           },
+  { "bd_bladder_spender.xpos",                 "6"                     },
+  { "bd_bladder_spender.ypos",                 "0"                     },
+  { "bd_bladder_spender.frames",               "1"                     },
+  { "bd_bladder_spender.scale_up_factor",      "2"                     },
+
+  { "bd_creature_switch",                      "RocksBD.png"           },
+  { "bd_creature_switch.xpos",                 "2"                     },
+  { "bd_creature_switch.ypos",                 "2"                     },
+  { "bd_creature_switch.frames",               "1"                     },
+  { "bd_creature_switch.scale_up_factor",      "2"                     },
+  { "bd_creature_switch.active",               "RocksBD.png"           },
+  { "bd_creature_switch.active.xpos",          "3"                     },
+  { "bd_creature_switch.active.ypos",          "2"                     },
+  { "bd_creature_switch.active.frames",                "1"                     },
+  { "bd_creature_switch.active.scale_up_factor", "2"                   },
+
+  { "bd_biter_switch_1",                       "RocksBD.png"           },
+  { "bd_biter_switch_1.xpos",                  "4"                     },
+  { "bd_biter_switch_1.ypos",                  "1"                     },
+  { "bd_biter_switch_1.frames",                        "1"                     },
+  { "bd_biter_switch_1.scale_up_factor",       "2"                     },
+
+  { "bd_biter_switch_2",                       "RocksBD.png"           },
+  { "bd_biter_switch_2.xpos",                  "4"                     },
+  { "bd_biter_switch_2.ypos",                  "1"                     },
+  { "bd_biter_switch_2.frames",                        "1"                     },
+  { "bd_biter_switch_2.scale_up_factor",       "2"                     },
+
+  { "bd_biter_switch_3",                       "RocksBD.png"           },
+  { "bd_biter_switch_3.xpos",                  "4"                     },
+  { "bd_biter_switch_3.ypos",                  "1"                     },
+  { "bd_biter_switch_3.frames",                        "1"                     },
+  { "bd_biter_switch_3.scale_up_factor",       "2"                     },
+
+  { "bd_biter_switch_4",                       "RocksBD.png"           },
+  { "bd_biter_switch_4.xpos",                  "4"                     },
+  { "bd_biter_switch_4.ypos",                  "1"                     },
+  { "bd_biter_switch_4.frames",                        "1"                     },
+  { "bd_biter_switch_4.scale_up_factor",       "2"                     },
+
+  { "bd_replicator",                           "RocksBD.png"           },
+  { "bd_replicator.xpos",                      "0"                     },
+  { "bd_replicator.ypos",                      "38"                    },
+  { "bd_replicator.frames",                    "1"                     },
+  { "bd_replicator.scale_up_factor",           "2"                     },
+  { "bd_replicator.active",                    "RocksBD.png"           },
+  { "bd_replicator.active.xpos",               "0"                     },
+  { "bd_replicator.active.ypos",               "38"                    },
+  { "bd_replicator.active.frames",             "8"                     },
+  { "bd_replicator.active.delay",              "2"                     },
+  { "bd_replicator.active.scale_up_factor",    "2"                     },
+
+  { "bd_replicator_switch",                    "RocksBD.png"           },
+  { "bd_replicator_switch.xpos",               "3"                     },
+  { "bd_replicator_switch.ypos",               "36"                    },
+  { "bd_replicator_switch.frames",             "1"                     },
+  { "bd_replicator_switch.scale_up_factor",    "2"                     },
+  { "bd_replicator_switch.active",             "RocksBD.png"           },
+  { "bd_replicator_switch.active.xpos",                "2"                     },
+  { "bd_replicator_switch.active.ypos",                "36"                    },
+  { "bd_replicator_switch.active.frames",      "1"                     },
+  { "bd_replicator_switch.active.scale_up_factor", "2"                 },
+
+  { "bd_conveyor_left",                                "RocksBD.png"           },
+  { "bd_conveyor_left.xpos",                   "0"                     },
+  { "bd_conveyor_left.ypos",                   "41"                    },
+  { "bd_conveyor_left.frames",                 "1"                     },
+  { "bd_conveyor_left.scale_up_factor",                "2"                     },
+  { "bd_conveyor_left.active",                 "RocksBD.png"           },
+  { "bd_conveyor_left.active.xpos",            "0"                     },
+  { "bd_conveyor_left.active.ypos",            "41"                    },
+  { "bd_conveyor_left.active.frames",          "8"                     },
+  { "bd_conveyor_left.active.delay",           "2"                     },
+  { "bd_conveyor_left.active.scale_up_factor", "2"                     },
+
+  { "bd_conveyor_right",                       "RocksBD.png"           },
+  { "bd_conveyor_right.xpos",                  "0"                     },
+  { "bd_conveyor_right.ypos",                  "40"                    },
+  { "bd_conveyor_right.frames",                        "1"                     },
+  { "bd_conveyor_right.scale_up_factor",       "2"                     },
+  { "bd_conveyor_right.active",                        "RocksBD.png"           },
+  { "bd_conveyor_right.active.xpos",           "0"                     },
+  { "bd_conveyor_right.active.ypos",           "40"                    },
+  { "bd_conveyor_right.active.frames",         "8"                     },
+  { "bd_conveyor_right.active.delay",          "2"                     },
+  { "bd_conveyor_right.active.scale_up_factor", "2"                    },
+
+  { "bd_conveyor_switch",                      "RocksBD.png"           },
+  { "bd_conveyor_switch.xpos",                 "3"                     },
+  { "bd_conveyor_switch.ypos",                 "44"                    },
+  { "bd_conveyor_switch.frames",               "1"                     },
+  { "bd_conveyor_switch.scale_up_factor",      "2"                     },
+  { "bd_conveyor_switch.active",               "RocksBD.png"           },
+  { "bd_conveyor_switch.active.xpos",          "4"                     },
+  { "bd_conveyor_switch.active.ypos",          "44"                    },
+  { "bd_conveyor_switch.active.frames",                "1"                     },
+  { "bd_conveyor_switch.active.scale_up_factor", "2"                   },
+
+  { "bd_conveyor_dir_switch_left",             "RocksBD.png"           },
+  { "bd_conveyor_dir_switch_left.xpos",                "2"                     },
+  { "bd_conveyor_dir_switch_left.ypos",                "44"                    },
+  { "bd_conveyor_dir_switch_left.frames",      "1"                     },
+  { "bd_conveyor_dir_switch_left.scale_up_factor", "2"                 },
+
+  { "bd_conveyor_dir_switch_right",            "RocksBD.png"           },
+  { "bd_conveyor_dir_switch_right.xpos",       "1"                     },
+  { "bd_conveyor_dir_switch_right.ypos",       "44"                    },
+  { "bd_conveyor_dir_switch_right.frames",     "1"                     },
+  { "bd_conveyor_dir_switch_right.scale_up_factor", "2"                        },
+
+  { "bd_gravity_switch",                       "RocksBD.png"           },
+  { "bd_gravity_switch.xpos",                  "2"                     },
+  { "bd_gravity_switch.ypos",                  "34"                    },
+  { "bd_gravity_switch.frames",                        "1"                     },
+  { "bd_gravity_switch.scale_up_factor",       "2"                     },
+  { "bd_gravity_switch.active",                        "RocksBD.png"           },
+  { "bd_gravity_switch.active.xpos",           "3"                     },
+  { "bd_gravity_switch.active.ypos",           "34"                    },
+  { "bd_gravity_switch.active.frames",         "1"                     },
+  { "bd_gravity_switch.active.scale_up_factor","2"                     },
+
+  { "bd_acid",                                 "RocksBD.png"           },
+  { "bd_acid.xpos",                            "4"                     },
+  { "bd_acid.ypos",                            "2"                     },
+  { "bd_acid.frames",                          "1"                     },
+  { "bd_acid.scale_up_factor",                 "2"                     },
+
+  { "bd_box",                                  "RocksBD.png"           },
+  { "bd_box.xpos",                             "5"                     },
+  { "bd_box.ypos",                             "2"                     },
+  { "bd_box.frames",                           "1"                     },
+  { "bd_box.scale_up_factor",                  "2"                     },
+
+  { "bd_time_penalty",                         "RocksBD.png"           },
+  { "bd_time_penalty.xpos",                    "1"                     },
+  { "bd_time_penalty.ypos",                    "1"                     },
+  { "bd_time_penalty.frames",                  "1"                     },
+  { "bd_time_penalty.scale_up_factor",         "2"                     },
+
+  { "bd_gravestone",                           "RocksBD.png"           },
+  { "bd_gravestone.xpos",                      "1"                     },
+  { "bd_gravestone.ypos",                      "1"                     },
+  { "bd_gravestone.frames",                    "1"                     },
+  { "bd_gravestone.scale_up_factor",           "2"                     },
+
+  { "bd_clock",                                        "RocksBD.png"           },
+  { "bd_clock.xpos",                           "0"                     },
+  { "bd_clock.ypos",                           "2"                     },
+  { "bd_clock.frames",                         "1"                     },
+  { "bd_clock.scale_up_factor",                        "2"                     },
+
+  { "bd_pot",                                  "RocksBD.png"           },
+  { "bd_pot.xpos",                             "7"                     },
+  { "bd_pot.ypos",                             "7"                     },
+  { "bd_pot.frames",                           "1"                     },
+  { "bd_pot.scale_up_factor",                  "2"                     },
+
+  { "bd_pneumatic_hammer",                     "RocksBD.png"           },
+  { "bd_pneumatic_hammer.xpos",                        "6"                     },
+  { "bd_pneumatic_hammer.ypos",                        "7"                     },
+  { "bd_pneumatic_hammer.frames",              "1"                     },
+  { "bd_pneumatic_hammer.scale_up_factor",     "2"                     },
+
+  { "bd_teleporter",                           "RocksBD.png"           },
+  { "bd_teleporter.xpos",                      "5"                     },
+  { "bd_teleporter.ypos",                      "7"                     },
+  { "bd_teleporter.frames",                    "1"                     },
+  { "bd_teleporter.scale_up_factor",           "2"                     },
+
+  { "bd_skeleton",                             "RocksBD.png"           },
+  { "bd_skeleton.xpos",                                "1"                     },
+  { "bd_skeleton.ypos",                                "34"                    },
+  { "bd_skeleton.frames",                      "1"                     },
+  { "bd_skeleton.scale_up_factor",             "2"                     },
+
+  { "bd_water",                                        "RocksBD.png"           },
+  { "bd_water.xpos",                           "0"                     },
+  { "bd_water.ypos",                           "12"                    },
+  { "bd_water.frames",                         "1"                     },
+  { "bd_water.scale_up_factor",                        "2"                     },
+
+  { "bd_key_1",                                        "RocksBD.png"           },
+  { "bd_key_1.xpos",                           "3"                     },
+  { "bd_key_1.ypos",                           "8"                     },
+  { "bd_key_1.frames",                         "1"                     },
+  { "bd_key_1.scale_up_factor",                        "2"                     },
+
+  { "bd_key_2",                                        "RocksBD.png"           },
+  { "bd_key_2.xpos",                           "4"                     },
+  { "bd_key_2.ypos",                           "8"                     },
+  { "bd_key_2.frames",                         "1"                     },
+  { "bd_key_2.scale_up_factor",                        "2"                     },
+
+  { "bd_key_3",                                        "RocksBD.png"           },
+  { "bd_key_3.xpos",                           "5"                     },
+  { "bd_key_3.ypos",                           "8"                     },
+  { "bd_key_3.frames",                         "1"                     },
+  { "bd_key_3.scale_up_factor",                        "2"                     },
+
+  { "bd_gate_1",                               "RocksBD.png"           },
+  { "bd_gate_1.xpos",                          "0"                     },
+  { "bd_gate_1.ypos",                          "8"                     },
+  { "bd_gate_1.frames",                                "1"                     },
+  { "bd_gate_1.scale_up_factor",               "2"                     },
+
+  { "bd_gate_2",                               "RocksBD.png"           },
+  { "bd_gate_2.xpos",                          "1"                     },
+  { "bd_gate_2.ypos",                          "8"                     },
+  { "bd_gate_2.frames",                                "1"                     },
+  { "bd_gate_2.scale_up_factor",               "2"                     },
+
+  { "bd_gate_3",                               "RocksBD.png"           },
+  { "bd_gate_3.xpos",                          "2"                     },
+  { "bd_gate_3.ypos",                          "8"                     },
+  { "bd_gate_3.frames",                                "1"                     },
+  { "bd_gate_3.scale_up_factor",               "2"                     },
+
+  { "bd_lava",                                 "RocksBD.png"           },
+  { "bd_lava.xpos",                            "0"                     },
+  { "bd_lava.ypos",                            "39"                    },
+  { "bd_lava.frames",                          "1"                     },
+  { "bd_lava.scale_up_factor",                 "2"                     },
+
+  { "bd_sweet",                                        "RocksBD.png"           },
+  { "bd_sweet.xpos",                           "0"                     },
+  { "bd_sweet.ypos",                           "1"                     },
+  { "bd_sweet.frames",                         "1"                     },
+  { "bd_sweet.scale_up_factor",                        "2"                     },
+
+  { "bd_voodoo_doll",                          "RocksBD.png"           },
+  { "bd_voodoo_doll.xpos",                     "7"                     },
+  { "bd_voodoo_doll.ypos",                     "0"                     },
+  { "bd_voodoo_doll.frames",                   "1"                     },
+  { "bd_voodoo_doll.scale_up_factor",          "2"                     },
+
+  { "bd_slime",                                        "RocksBD.png"           },
+  { "bd_slime.xpos",                           "0"                     },
+  { "bd_slime.ypos",                           "25"                    },
+  { "bd_slime.frames",                         "1"                     },
+  { "bd_slime.scale_up_factor",                        "2"                     },
+
+  { "bd_waiting_rock",                         UNDEFINED_FILENAME      },
+  { "bd_waiting_rock.clone_from",              "bd_rock"               },
+
+  { "bd_chasing_rock",                         UNDEFINED_FILENAME      },
+  { "bd_chasing_rock.clone_from",              "bd_rock"               },
+
+  { "bd_ghost",                                        "RocksBD.png"           },
+  { "bd_ghost.xpos",                           "0"                     },
+  { "bd_ghost.ypos",                           "20"                    },
+  { "bd_ghost.frames",                         "1"                     },
+  { "bd_ghost.scale_up_factor",                        "2"                     },
+
+  { "bd_cow",                                  "RocksBD.png"           },
+  { "bd_cow.xpos",                             "0"                     },
+  { "bd_cow.ypos",                             "11"                    },
+  { "bd_cow.frames",                           "1"                     },
+  { "bd_cow.scale_up_factor",                  "2"                     },
+  { "bd_cow.left",                             "RocksBD.png"           },
+  { "bd_cow.left.xpos",                                "0"                     },
+  { "bd_cow.left.ypos",                                "11"                    },
+  { "bd_cow.left.frames",                      "1"                     },
+  { "bd_cow.left.scale_up_factor",             "2"                     },
+  { "bd_cow.up",                               "RocksBD.png"           },
+  { "bd_cow.up.xpos",                          "0"                     },
+  { "bd_cow.up.ypos",                          "11"                    },
+  { "bd_cow.up.frames",                                "1"                     },
+  { "bd_cow.up.scale_up_factor",               "2"                     },
+  { "bd_cow.right",                            "RocksBD.png"           },
+  { "bd_cow.right.xpos",                       "0"                     },
+  { "bd_cow.right.ypos",                       "11"                    },
+  { "bd_cow.right.frames",                     "1"                     },
+  { "bd_cow.right.scale_up_factor",            "2"                     },
+  { "bd_cow.down",                             "RocksBD.png"           },
+  { "bd_cow.down.xpos",                                "0"                     },
+  { "bd_cow.down.ypos",                                "11"                    },
+  { "bd_cow.down.frames",                      "1"                     },
+  { "bd_cow.down.scale_up_factor",             "2"                     },
+
+  { "bd_stonefly",                             "RocksBD.png"           },
+  { "bd_stonefly.xpos",                                "0"                     },
+  { "bd_stonefly.ypos",                                "19"                    },
+  { "bd_stonefly.frames",                      "1"                     },
+  { "bd_stonefly.scale_up_factor",             "2"                     },
+  { "bd_stonefly.right",                       "RocksBD.png"           },
+  { "bd_stonefly.right.xpos",                  "0"                     },
+  { "bd_stonefly.right.ypos",                  "19"                    },
+  { "bd_stonefly.right.frames",                        "1"                     },
+  { "bd_stonefly.right.scale_up_factor",       "2"                     },
+  { "bd_stonefly.up",                          "RocksBD.png"           },
+  { "bd_stonefly.up.xpos",                     "0"                     },
+  { "bd_stonefly.up.ypos",                     "19"                    },
+  { "bd_stonefly.up.frames",                   "1"                     },
+  { "bd_stonefly.up.scale_up_factor",          "2"                     },
+  { "bd_stonefly.left",                                "RocksBD.png"           },
+  { "bd_stonefly.left.xpos",                   "0"                     },
+  { "bd_stonefly.left.ypos",                   "19"                    },
+  { "bd_stonefly.left.frames",                 "1"                     },
+  { "bd_stonefly.left.scale_up_factor",                "2"                     },
+  { "bd_stonefly.down",                                "RocksBD.png"           },
+  { "bd_stonefly.down.xpos",                   "0"                     },
+  { "bd_stonefly.down.ypos",                   "19"                    },
+  { "bd_stonefly.down.frames",                 "1"                     },
+  { "bd_stonefly.down.scale_up_factor",                "2"                     },
+
+  { "bd_biter",                                        "RocksBD.png"           },
+  { "bd_biter.xpos",                           "0"                     },
+  { "bd_biter.ypos",                           "21"                    },
+  { "bd_biter.frames",                         "1"                     },
+  { "bd_biter.scale_up_factor",                        "2"                     },
+  { "bd_biter.right",                          "RocksBD.png"           },
+  { "bd_biter.right.xpos",                     "0"                     },
+  { "bd_biter.right.ypos",                     "21"                    },
+  { "bd_biter.right.frames",                   "1"                     },
+  { "bd_biter.right.scale_up_factor",          "2"                     },
+  { "bd_biter.up",                             "RocksBD.png"           },
+  { "bd_biter.up.xpos",                                "0"                     },
+  { "bd_biter.up.ypos",                                "21"                    },
+  { "bd_biter.up.frames",                      "1"                     },
+  { "bd_biter.up.scale_up_factor",             "2"                     },
+  { "bd_biter.left",                           "RocksBD.png"           },
+  { "bd_biter.left.xpos",                      "0"                     },
+  { "bd_biter.left.ypos",                      "21"                    },
+  { "bd_biter.left.frames",                    "1"                     },
+  { "bd_biter.left.scale_up_factor",           "2"                     },
+  { "bd_biter.down",                           "RocksBD.png"           },
+  { "bd_biter.down.xpos",                      "0"                     },
+  { "bd_biter.down.ypos",                      "21"                    },
+  { "bd_biter.down.frames",                    "1"                     },
+  { "bd_biter.down.scale_up_factor",           "2"                     },
+
+  { "bd_dragonfly",                            "RocksBD.png"           },
+  { "bd_dragonfly.xpos",                       "0"                     },
+  { "bd_dragonfly.ypos",                       "42"                    },
+  { "bd_dragonfly.frames",                     "1"                     },
+  { "bd_dragonfly.scale_up_factor",            "2"                     },
+  { "bd_dragonfly.right",                      "RocksBD.png"           },
+  { "bd_dragonfly.right.xpos",                 "0"                     },
+  { "bd_dragonfly.right.ypos",                 "42"                    },
+  { "bd_dragonfly.right.frames",               "1"                     },
+  { "bd_dragonfly.right.scale_up_factor",      "2"                     },
+  { "bd_dragonfly.up",                         "RocksBD.png"           },
+  { "bd_dragonfly.up.xpos",                    "0"                     },
+  { "bd_dragonfly.up.ypos",                    "42"                    },
+  { "bd_dragonfly.up.frames",                  "1"                     },
+  { "bd_dragonfly.up.scale_up_factor",         "2"                     },
+  { "bd_dragonfly.left",                       "RocksBD.png"           },
+  { "bd_dragonfly.left.xpos",                  "0"                     },
+  { "bd_dragonfly.left.ypos",                  "42"                    },
+  { "bd_dragonfly.left.frames",                        "1"                     },
+  { "bd_dragonfly.left.scale_up_factor",       "2"                     },
+  { "bd_dragonfly.down",                       "RocksBD.png"           },
+  { "bd_dragonfly.down.xpos",                  "0"                     },
+  { "bd_dragonfly.down.ypos",                  "42"                    },
+  { "bd_dragonfly.down.frames",                        "1"                     },
+  { "bd_dragonfly.down.scale_up_factor",       "2"                     },
+
+  { "bd_bomb",                                 "RocksBD.png"           },
+  { "bd_bomb.xpos",                            "0"                     },
+  { "bd_bomb.ypos",                            "6"                     },
+  { "bd_bomb.frames",                          "1"                     },
+  { "bd_bomb.scale_up_factor",                 "2"                     },
+
+  { "bd_nitro_pack",                           "RocksBD.png"           },
+  { "bd_nitro_pack.xpos",                      "0"                     },
+  { "bd_nitro_pack.ypos",                      "36"                    },
+  { "bd_nitro_pack.frames",                    "1"                     },
+  { "bd_nitro_pack.scale_up_factor",           "2"                     },
+
+  { "bd_player_with_bomb",                     "RocksBD.png"           },
+  { "bd_player_with_bomb.xpos",                        "3"                     },
+  { "bd_player_with_bomb.ypos",                        "4"                     },
+  { "bd_player_with_bomb.frames",              "1"                     },
+  { "bd_player_with_bomb.scale_up_factor",     "2"                     },
+
+  { "bd_player_glued",                         UNDEFINED_FILENAME      },
+  { "bd_player_glued.clone_from",              "bd_player"             },
+
+  { "bd_player_stirring",                      "RocksBD.png"           },
+  { "bd_player_stirring.xpos",                 "3"                     },
+  { "bd_player_stirring.ypos",                 "4"                     },
+  { "bd_player_stirring.frames",               "1"                     },
+  { "bd_player_stirring.scale_up_factor",      "2"                     },
+
+  { "bd_fake_bonus",                           "RocksBD.png"           },
+  { "bd_fake_bonus.xpos",                      "0"                     },
+  { "bd_fake_bonus.ypos",                      "15"                    },
+  { "bd_fake_bonus.frames",                    "1"                     },
+  { "bd_fake_bonus.scale_up_factor",           "2"                     },
+
+  { "bd_covered",                              "RocksBD.png"           },
+  { "bd_covered.xpos",                         "4"                     },
+  { "bd_covered.ypos",                         "0"                     },
+  { "bd_covered.frames",                       "1"                     },
+  { "bd_covered.scale_up_factor",              "2"                     },
+
   // images for Supaplex style elements and actions
 
   { "[sp_default].exploding",                  "RocksSP.png"           },
index c95d38db21226bdafbd60dff6d0d957d4d57081d..3bed979da4aaff0c642f24bc6e27b1e6883048cf 100644 (file)
@@ -4049,6 +4049,181 @@ static int *editor_el_boulderdash_ptr = editor_el_boulderdash;
 static int num_editor_hl_boulderdash = ARRAY_SIZE(editor_hl_boulderdash);
 static int num_editor_el_boulderdash = ARRAY_SIZE(editor_el_boulderdash);
 
+static int editor_hl_boulderdash_native[] =
+{
+  EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE,
+  EL_CHAR('B'),
+  EL_CHAR('D'),
+  EL_EMPTY,
+};
+
+static int editor_el_boulderdash_native[] =
+{
+  EL_EMPTY,
+  EL_BD_SAND,
+  EL_BD_SAND_BALL,
+  EL_BD_SAND_LOOSE,
+
+  EL_BD_SAND_SLOPED_UP_RIGHT,
+  EL_BD_SAND_SLOPED_UP_LEFT,
+  EL_BD_SAND_SLOPED_DOWN_LEFT,
+  EL_BD_SAND_SLOPED_DOWN_RIGHT,
+
+  EL_BD_WALL_SLOPED_UP_RIGHT,
+  EL_BD_WALL_SLOPED_UP_LEFT,
+  EL_BD_WALL_SLOPED_DOWN_LEFT,
+  EL_BD_WALL_SLOPED_DOWN_RIGHT,
+
+  EL_BD_SAND_2,
+  EL_BD_WALL_NON_SLOPED,
+  EL_BD_WALL,
+  EL_BD_MAGIC_WALL,
+
+  EL_BD_EXIT_CLOSED,
+  EL_BD_EXIT_OPEN,
+  EL_BD_INVISIBLE_EXIT_CLOSED,
+  EL_BD_INVISIBLE_EXIT_OPEN,
+
+  EL_BD_STEELWALL_SLOPED_UP_RIGHT,
+  EL_BD_STEELWALL_SLOPED_UP_LEFT,
+  EL_BD_STEELWALL_SLOPED_DOWN_LEFT,
+  EL_BD_STEELWALL_SLOPED_DOWN_RIGHT,
+
+  EL_BD_STEELWALL,
+  EL_BD_STEELWALL_EXPLODABLE,
+  EL_BD_STEELWALL_DIGGABLE,
+  EL_BD_WALL_DIGGABLE,
+
+  EL_BD_ROCK,
+  EL_BD_FLYING_ROCK,
+  EL_BD_MEGA_ROCK,
+  EL_BD_DIAMOND,
+
+  EL_BD_FLYING_DIAMOND,
+  EL_BD_NUT,
+  EL_BD_BLADDER_SPENDER,
+  EL_BD_INBOX,
+
+  EL_BD_EXPANDABLE_WALL_HORIZONTAL,
+  EL_BD_EXPANDABLE_WALL_VERTICAL,
+  EL_BD_EXPANDABLE_WALL_ANY,
+  EL_BD_CREATURE_SWITCH,
+
+  EL_BD_EXPANDABLE_STEELWALL_HORIZONTAL,
+  EL_BD_EXPANDABLE_STEELWALL_VERTICAL,
+  EL_BD_EXPANDABLE_STEELWALL_ANY,
+  EL_BD_EXPANDABLE_WALL_SWITCH_HORIZONTAL,
+
+  EL_BD_BITER_SWITCH_1,
+  EL_BD_REPLICATOR_SWITCH,
+  EL_BD_CONVEYOR_SWITCH,
+  EL_BD_CONVEYOR_DIR_SWITCH_RIGHT,
+
+  EL_BD_ACID,
+  EL_BD_FALLING_WALL,
+  EL_BD_BOX,
+  EL_BD_TIME_PENALTY,
+
+  EL_BD_GRAVESTONE,
+  EL_BD_ROCK_GLUED,
+  EL_BD_DIAMOND_GLUED,
+  EL_BD_DIAMOND_KEY,
+
+  EL_BD_TRAPPED_DIAMOND,
+  EL_BD_CLOCK,
+  EL_BD_SAND_GLUED,
+  EL_BD_WATER,
+
+  EL_BD_KEY_1,
+  EL_BD_KEY_2,
+  EL_BD_KEY_3,
+  EL_EMPTY,
+
+  EL_BD_WALL_KEY_1,
+  EL_BD_WALL_KEY_2,
+  EL_BD_WALL_KEY_3,
+  EL_BD_WALL_DIAMOND,
+
+  EL_BD_GATE_1,
+  EL_BD_GATE_2,
+  EL_BD_GATE_3,
+  EL_BD_POT,
+
+  EL_BD_GRAVITY_SWITCH,
+  EL_BD_PNEUMATIC_HAMMER,
+  EL_BD_TELEPORTER,
+  EL_BD_SKELETON,
+
+  EL_BD_AMOEBA,
+  EL_BD_AMOEBA_2,
+  EL_BD_REPLICATOR,
+  EL_EMPTY,
+
+  EL_BD_CONVEYOR_LEFT,
+  EL_BD_CONVEYOR_RIGHT,
+  EL_BD_BOMB,
+  EL_BD_NITRO_PACK,
+
+  EL_BD_LAVA,
+  EL_BD_SWEET,
+  EL_BD_VOODOO_DOLL,
+  EL_BD_SLIME,
+
+  EL_BD_BLADDER,
+  EL_BD_WAITING_ROCK,
+  EL_BD_CHASING_ROCK,
+  EL_BD_GHOST,
+
+  EL_BD_COW_LEFT,
+  EL_BD_COW_UP,
+  EL_BD_COW_RIGHT,
+  EL_BD_COW_DOWN,
+
+  EL_BD_FIREFLY_LEFT,
+  EL_BD_FIREFLY_UP,
+  EL_BD_FIREFLY_RIGHT,
+  EL_BD_FIREFLY_DOWN,
+
+  EL_BD_FIREFLY_2_LEFT,
+  EL_BD_FIREFLY_2_UP,
+  EL_BD_FIREFLY_2_RIGHT,
+  EL_BD_FIREFLY_2_DOWN,
+
+  EL_BD_BUTTERFLY_LEFT,
+  EL_BD_BUTTERFLY_UP,
+  EL_BD_BUTTERFLY_RIGHT,
+  EL_BD_BUTTERFLY_DOWN,
+
+  EL_BD_BUTTERFLY_2_LEFT,
+  EL_BD_BUTTERFLY_2_UP,
+  EL_BD_BUTTERFLY_2_RIGHT,
+  EL_BD_BUTTERFLY_2_DOWN,
+
+  EL_BD_STONEFLY_LEFT,
+  EL_BD_STONEFLY_UP,
+  EL_BD_STONEFLY_RIGHT,
+  EL_BD_STONEFLY_DOWN,
+
+  EL_BD_BITER_UP,
+  EL_BD_BITER_RIGHT,
+  EL_BD_BITER_DOWN,
+  EL_BD_BITER_LEFT,
+
+  EL_BD_DRAGONFLY_LEFT,
+  EL_BD_DRAGONFLY_UP,
+  EL_BD_DRAGONFLY_RIGHT,
+  EL_BD_DRAGONFLY_DOWN,
+
+  EL_BD_PLAYER,
+  EL_BD_PLAYER_WITH_BOMB,
+  EL_BD_PLAYER_GLUED,
+  EL_BD_PLAYER_STIRRING,
+};
+static int *editor_hl_boulderdash_native_ptr = editor_hl_boulderdash_native;
+static int *editor_el_boulderdash_native_ptr = editor_el_boulderdash_native;
+static int num_editor_hl_boulderdash_native = ARRAY_SIZE(editor_hl_boulderdash_native);
+static int num_editor_el_boulderdash_native = ARRAY_SIZE(editor_el_boulderdash_native);
+
 static int editor_hl_emerald_mine[] =
 {
   EL_INTERNAL_CASCADE_EM_ACTIVE,
@@ -5459,6 +5634,7 @@ static boolean setup_editor_cascade_never = FALSE;
 
 static boolean setup_editor_el_players                 = TRUE;
 static boolean setup_editor_el_boulderdash             = TRUE;
+static boolean setup_editor_el_boulderdash_native      = TRUE;
 static boolean setup_editor_el_emerald_mine            = TRUE;
 static boolean setup_editor_el_emerald_mine_club       = TRUE;
 static boolean setup_editor_el_more                    = TRUE;
@@ -5505,6 +5681,12 @@ editor_elements_info[] =
     &editor_hl_boulderdash_ptr,                &num_editor_hl_boulderdash,
     &editor_el_boulderdash_ptr,                &num_editor_el_boulderdash
   },
+  {
+    &setup_editor_el_boulderdash_native,
+    &setup.editor_cascade.el_bd_native,
+    &editor_hl_boulderdash_native_ptr, &num_editor_hl_boulderdash_native,
+    &editor_el_boulderdash_native_ptr, &num_editor_el_boulderdash_native
+  },
   {
     &setup_editor_el_emerald_mine,
     &setup.editor_cascade.el_em,
@@ -5804,6 +5986,7 @@ static void ReinitializeElementList_EnableSections(void)
 
   setup_editor_el_players              = TRUE;
   setup_editor_el_boulderdash          = TRUE;
+  setup_editor_el_boulderdash_native   = TRUE;
   setup_editor_el_emerald_mine         = TRUE;
   setup_editor_el_emerald_mine_club    = TRUE;
   setup_editor_el_more                 = TRUE;
@@ -5826,6 +6009,7 @@ static void ReinitializeElementList_EnableSections(void)
   {
     setup_editor_el_players            = FALSE;
     setup_editor_el_boulderdash                = FALSE;
+    setup_editor_el_boulderdash_native = FALSE;
     setup_editor_el_emerald_mine       = FALSE;
     setup_editor_el_emerald_mine_club  = FALSE;
     setup_editor_el_more               = FALSE;
@@ -5856,11 +6040,13 @@ static void ReinitializeElementList_EnableSections(void)
 
   if (level.game_engine_type == GAME_ENGINE_TYPE_RND)
   {
+    setup_editor_el_boulderdash_native = FALSE;
     setup_editor_el_mirror_magic       = FALSE;
     setup_editor_el_deflektor          = FALSE;
   }
   else if (level.game_engine_type == GAME_ENGINE_TYPE_BD)
   {
+    setup_editor_el_boulderdash                = FALSE;
     setup_editor_el_emerald_mine       = FALSE;
     setup_editor_el_emerald_mine_club  = FALSE;
     setup_editor_el_more               = FALSE;
@@ -5878,6 +6064,7 @@ static void ReinitializeElementList_EnableSections(void)
   else if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
   {
     setup_editor_el_boulderdash                = FALSE;
+    setup_editor_el_boulderdash_native = FALSE;
     setup_editor_el_more               = FALSE;
     setup_editor_el_sokoban            = FALSE;
     setup_editor_el_supaplex           = FALSE;
@@ -5893,6 +6080,7 @@ static void ReinitializeElementList_EnableSections(void)
   {
     setup_editor_el_players            = FALSE;
     setup_editor_el_boulderdash                = FALSE;
+    setup_editor_el_boulderdash_native = FALSE;
     setup_editor_el_emerald_mine       = FALSE;
     setup_editor_el_emerald_mine_club  = FALSE;
     setup_editor_el_more               = FALSE;
@@ -5910,6 +6098,7 @@ static void ReinitializeElementList_EnableSections(void)
   {
     setup_editor_el_players            = FALSE;
     setup_editor_el_boulderdash                = FALSE;
+    setup_editor_el_boulderdash_native = FALSE;
     setup_editor_el_emerald_mine       = FALSE;
     setup_editor_el_emerald_mine_club  = FALSE;
     setup_editor_el_more               = FALSE;
@@ -8724,7 +8913,13 @@ static void InitDrawingElements(void)
   if (level.game_engine_type == game_engine_type_last)
     return;
 
-  if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
+  if (level.game_engine_type == GAME_ENGINE_TYPE_BD)
+  {
+    new_element1 = EL_BD_WALL;
+    new_element2 = EL_EMPTY;
+    new_element3 = EL_BD_SAND;
+  }
+  else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
   {
     new_element1 = EL_SP_CHIP_SINGLE;
     new_element2 = EL_EMPTY;
index 34d9f6d0b92f2e00810e63c5b799c9a5f566ebbc..ae0dbf7dc053f11ad0c966185bc2b0115227c2d7 100644 (file)
@@ -9868,6 +9868,10 @@ static struct TokenInfo editor_cascade_setup_tokens[] =
     TYPE_SWITCH,
     &setup.editor_cascade.el_bd,               "editor.cascade.el_bd"
   },
+  {
+    TYPE_SWITCH,
+    &setup.editor_cascade.el_bd_native,                "editor.cascade.el_bd_native"
+  },
   {
     TYPE_SWITCH,
     &setup.editor_cascade.el_em,               "editor.cascade.el_em"
@@ -10557,6 +10561,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si)
   si->touch.overlay_buttons            = FALSE;
 
   si->editor.el_boulderdash            = TRUE;
+  si->editor.el_boulderdash_native     = TRUE;
   si->editor.el_emerald_mine           = TRUE;
   si->editor.el_emerald_mine_club      = TRUE;
   si->editor.el_more                   = TRUE;
@@ -10730,6 +10735,7 @@ static void setSetupInfoToDefaults_ServerSetup(struct SetupInfo *si)
 static void setSetupInfoToDefaults_EditorCascade(struct SetupInfo *si)
 {
   si->editor_cascade.el_bd             = TRUE;
+  si->editor_cascade.el_bd_native      = TRUE;
   si->editor_cascade.el_em             = TRUE;
   si->editor_cascade.el_emc            = TRUE;
   si->editor_cascade.el_rnd            = TRUE;
index 73d50ddc0b4ccfcb2b9df2c6b908aa197fae4b61..3cee3696a8a3502f8cd5f944b8aac43a19d59e55 100644 (file)
@@ -1337,6 +1337,7 @@ struct SetupInputInfo
 struct SetupEditorInfo
 {
   boolean el_boulderdash;
+  boolean el_boulderdash_native;
   boolean el_emerald_mine;
   boolean el_emerald_mine_club;
   boolean el_more;
@@ -1381,6 +1382,7 @@ struct SetupLevelSetupInfo
 struct SetupEditorCascadeInfo
 {
   boolean el_bd;
+  boolean el_bd_native;
   boolean el_em;
   boolean el_emc;
   boolean el_rnd;
index d3241c11e197e4b6234fe34ffa520931bce20257..79390657382cccc35e86959196d1ae3d2f28b686 100644 (file)
@@ -6462,6 +6462,666 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "df_slope",
     "slope (DF style) (315\xb0)"
   },
+  {
+    "bd_player",
+    "bd_player",
+    "player"
+  },
+  {
+    "bd_sand",
+    "bd_sand",
+    "sand"
+  },
+  {
+    "bd_sand_2",
+    "bd_sand",
+    "sand (alternative)"
+  },
+  {
+    "bd_sand_ball",
+    "bd_sand_ball",
+    "sand ball"
+  },
+  {
+    "bd_sand_loose",
+    "bd_sand_loose",
+    "sand (loose)"
+  },
+  {
+    "bd_sand_sloped_up_right",
+    "bd_sand_sloped",
+    "sand (sloped up right)"
+  },
+  {
+    "bd_sand_sloped_up_left",
+    "bd_sand_sloped",
+    "sand (sloped up left)"
+  },
+  {
+    "bd_sand_sloped_down_left",
+    "bd_sand_sloped",
+    "sand (sloped down left)"
+  },
+  {
+    "bd_sand_sloped_down_right",
+    "bd_sand_sloped",
+    "sand (sloped down right)"
+  },
+  {
+    "bd_sand_glued",
+    "bd_sane_glued",
+    "glued sand"
+  },
+  {
+    "bd_wall_sloped_up_right",
+    "bd_wall_sloped",
+    "wall (sloped up right)"
+  },
+  {
+    "bd_wall_sloped_up_left",
+    "bd_wall_sloped",
+    "wall (sloped up left)"
+  },
+  {
+    "bd_wall_sloped_down_left",
+    "bd_wall_sloped",
+    "wall (sloped down left)"
+  },
+  {
+    "bd_wall_sloped_down_right",
+    "bd_wall_sloped",
+    "wall (sloped down right)"
+  },
+  {
+    "bd_wall_non_sloped",
+    "bd_wall",
+    "wall (non sloped)"
+  },
+  {
+    "bd_wall_diggable",
+    "bd_wall_diggable",
+    "diggable wall"
+  },
+  {
+    "bd_wall_diamond",
+    "bd_wall",
+    "wall with diamond"
+  },
+  {
+    "bd_wall_key_1",
+    "bd_wall_key",
+    "wall with key 1"
+  },
+  {
+    "bd_wall_key_2",
+    "bd_wall_key",
+    "wall with key 2"
+  },
+  {
+    "bd_wall_key_3",
+    "bd_wall_key",
+    "wall with key 3"
+  },
+  {
+    "bd_falling_wall",
+    "bd_falling_wall",
+    "falling wall"
+  },
+  {
+    "bd_steelwall",
+    "bd_steelwall",
+    "steel wall"
+  },
+  {
+    "bd_steelwall_sloped_up_right",
+    "bd_steelwall_sloped",
+    "steel wall (sloped up right)"
+  },
+  {
+    "bd_steelwall_sloped_up_left",
+    "bd_steelwall_sloped",
+    "steel wall (sloped up left)"
+  },
+  {
+    "bd_steelwall_sloped_down_left",
+    "bd_steelwall_sloped",
+    "steel wall (sloped down left)"
+  },
+  {
+    "bd_steelwall_sloped_down_right",
+    "bd_steelwall_sloped",
+    "steel wall (sloped down right)"
+  },
+  {
+    "bd_steelwall_explodable",
+    "bd_steelwall_explodable",
+    "explodable steel wall"
+  },
+  {
+    "bd_steelwall_diggable",
+    "bd_steelwall_diggable",
+    "diggable steel wall"
+  },
+  {
+    "bd_expandable_wall_horizontal",
+    "bd_expandable_wall",
+    "expandable wall (horizontal)"
+  },
+  {
+    "bd_expandable_wall_vertical",
+    "bd_expandable_wall",
+    "expandable wall (vertical)"
+  },
+  {
+    "bd_expandable_wall_any",
+    "bd_expandable_wall",
+    "expandable wall (any direction)"
+  },
+  {
+    "bd_expandable_steelwall_horizontal",
+    "bd_expandable_steelwall",
+    "expandable steelwall (horizontal)"
+  },
+  {
+    "bd_expandable_steelwall_vertical",
+    "bd_expandable_steelwall",
+    "expandable steelwall (vertical)"
+  },
+  {
+    "bd_expandable_steelwall_any",
+    "bd_expandable_steelwall",
+    "expandable steelwall (any direction)"
+  },
+  {
+    "bd_expandable_wall_switch_horizontal",
+    "bd_expandable_wall_switch",
+    "switch for expandable wall (horizontal)"
+  },
+  {
+    "bd_expandable_wall_switch_vertical",
+    "bd_expandable_wall_switch",
+    "switch for expandable wall (vertical)"
+  },
+  {
+    "bd_inbox",
+    "bd_inbox",
+    "inbox"
+  },
+  {
+    "bd_exit_closed",
+    "bd_exit",
+    "closed exit"
+  },
+  {
+    "bd_exit_open",
+    "bd_exit",
+    "open exit"
+  },
+  {
+    "bd_invisible_exit_closed",
+    "bd_invisible_exit",
+    "invisible exit (closed)"
+  },
+  {
+    "bd_invisible_exit_open",
+    "bd_invisible_exit",
+    "invisible exit (open)"
+  },
+  {
+    "bd_flying_rock",
+    "bd_flying_rock",
+    "flying rock"
+  },
+  {
+    "bd_mega_rock",
+    "bd_mega_rock",
+    "mega rock"
+  },
+  {
+    "bd_rock_glued",
+    "bd_rock_glued",
+    "glued rock"
+  },
+  {
+    "bd_flying_diamond",
+    "bd_flying_diamond",
+    "flying diamond"
+  },
+  {
+    "bd_diamond_glued",
+    "bd_diamond_glued",
+    "glued diamond"
+  },
+  {
+    "bd_diamond_key",
+    "bd_diamond_key",
+    "diamond key"
+  },
+  {
+    "bd_trapped_diamond",
+    "bd_trapped_diamond",
+    "trapped diamond"
+  },
+  {
+    "bd_nut",
+    "bd_nut",
+    "nut with diamond"
+  },
+  {
+    "bd_amoeba_2",
+    "bd_amoeba",
+    "amoeba (alternative)"
+  },
+  {
+    "bd_bladder",
+    "bd_bladder",
+    "bladder"
+  },
+  {
+    "bd_bladder_spender",
+    "bd_bladder_spender",
+    "bladder spender"
+  },
+  {
+    "bd_creature_switch",
+    "bd_creature_switch",
+    "switch for creature (off)"
+  },
+  {
+    "bd_creature_switch.active",
+    "bd_creature_switch",
+    "switch for creature (on)"
+  },
+  {
+    "bd_biter_switch_1",
+    "bd_biter_switch",
+    "switch for biter"
+  },
+  {
+    "bd_biter_switch_2",
+    "bd_biter_switch",
+    "switch for biter"
+  },
+  {
+    "bd_biter_switch_3",
+    "bd_biter_switch",
+    "switch for biter"
+  },
+  {
+    "bd_biter_switch_4",
+    "bd_biter_switch",
+    "switch for biter"
+  },
+  {
+    "bd_replicator",
+    "bd_replicator",
+    "replicator"
+  },
+  {
+    "bd_replicator.active",
+    "bd_replicator",
+    "replicator (active)"
+  },
+  {
+    "bd_replicator_switch",
+    "bd_replicator_switch",
+    "switch for replicator (off)"
+  },
+  {
+    "bd_replicator_switch.active",
+    "bd_replicator_switch",
+    "switch for replicator (on)"
+  },
+  {
+    "bd_conveyor_left",
+    "bd_conveyor",
+    "conveyor belt (left)"
+  },
+  {
+    "bd_conveyor_left.active",
+    "bd_conveyor",
+    "conveyor belt (left) (active)"
+  },
+  {
+    "bd_conveyor_right",
+    "bd_conveyor",
+    "conveyor belt (right)"
+  },
+  {
+    "bd_conveyor_right.active",
+    "bd_conveyor",
+    "conveyor belt (right) (active)"
+  },
+  {
+    "bd_conveyor_switch",
+    "bd_conveyor_switch",
+    "switch for conveyor belt (off)"
+  },
+  {
+    "bd_conveyor_switch.active",
+    "bd_conveyor_switch",
+    "switch for conveyor belt (on)"
+  },
+  {
+    "bd_conveyor_dir_switch_left",
+    "bd_conveyor_dir_switch",
+    "switch for conveyor belt direction (left)"
+  },
+  {
+    "bd_conveyor_dir_switch_right",
+    "bd_conveyor_dir_switch",
+    "switch for conveyor belt direction (right)"
+  },
+  {
+    "bd_gravity_switch",
+    "bd_gravity_switch",
+    "gravity switch"
+  },
+  {
+    "bd_gravity_switch.active",
+    "bd_gravity_switch",
+    "gravity switch (active)"
+  },
+  {
+    "bd_acid",
+    "bd_acid",
+    "acid"
+  },
+  {
+    "bd_box",
+    "bd_box",
+    "box"
+  },
+  {
+    "bd_time_penalty",
+    "bd_time_penalty",
+    "time penalty"
+  },
+  {
+    "bd_gravestone",
+    "bd_gravestone",
+    "gravestone"
+  },
+  {
+    "bd_clock",
+    "bd_clock",
+    "clock"
+  },
+  {
+    "bd_pot",
+    "bd_pot",
+    "pot"
+  },
+  {
+    "bd_pneumatic_hammer",
+    "bd_pneumatic_hammer",
+    "pneumatic hammer"
+  },
+  {
+    "bd_teleporter",
+    "bd_teleporter",
+    "teleporter"
+  },
+  {
+    "bd_skeleton",
+    "bd_skeleton",
+    "skeleton"
+  },
+  {
+    "bd_water",
+    "bd_water",
+    "water"
+  },
+  {
+    "bd_key_1",
+    "bd_key",
+    "key 1"
+    },
+  {
+    "bd_key_2",
+    "bd_key",
+    "key 2"
+    },
+  {
+    "bd_key_3",
+    "bd_key",
+    "key 3"
+  },
+  {
+    "bd_gate_1",
+    "bd_gate",
+    "door 1"
+  },
+  {
+    "bd_gate_2",
+    "bd_gate",
+    "door 2"
+  },
+  {
+    "bd_gate_3",
+    "bd_gate",
+    "door 3"
+  },
+  {
+    "bd_lava",
+    "bd_lava",
+    "lava"
+  },
+  {
+    "bd_sweet",
+    "bd_sweet",
+    "sweet"
+  },
+  {
+    "bd_voodoo_doll",
+    "bd_voodoo_doll",
+    "voodoo doll"
+  },
+  {
+    "bd_slime",
+    "bd_slime",
+    "slime"
+  },
+  {
+    "bd_waiting_rock",
+    "bd_waiting_rock",
+    "waiting rock"
+  },
+  {
+    "bd_chasing_rock",
+    "bd_chasing_rock",
+    "chasing rock"
+  },
+  {
+    "bd_ghost",
+    "bd_ghost",
+    "ghost"
+  },
+  {
+    "bd_cow",
+    "bd_cow",
+    "cow (random start direction)"
+  },
+  {
+    "bd_cow.left",
+    "bd_cow",
+    "cow (starts moving left)"
+  },
+  {
+    "bd_cow.up",
+    "bd_cow",
+    "cow (starts moving up)"
+  },
+  {
+    "bd_cow.right",
+    "bd_cow",
+    "cow (starts moving right)"
+  },
+  {
+    "bd_cow.down",
+    "bd_cow",
+    "cow (starts moving down)"
+  },
+  {
+    "bd_butterfly_2",
+    "bd_butterfly",
+    "butterfly (alternative, random start direction)"
+  },
+  {
+    "bd_butterfly_2.right",
+    "bd_butterfly",
+    "butterfly (alternative, starts moving right)"
+  },
+  {
+    "bd_butterfly_2.up",
+    "bd_butterfly",
+    "butterfly (alternative, starts moving up)"
+  },
+  {
+    "bd_butterfly_2.left",
+    "bd_butterfly",
+    "butterfly (alternative, starts moving left)"
+  },
+  {
+    "bd_butterfly_2.down",
+    "bd_butterfly",
+    "butterfly (alternative, starts moving down)"
+  },
+  {
+    "bd_firefly_2.right",
+    "bd_firefly",
+    "firefly (alternative, starts moving right)"
+  },
+  {
+    "bd_firefly_2",
+    "bd_firefly",
+    "firefly (alternative, random start direction)"
+  },
+  {
+    "bd_firefly_2.up",
+    "bd_firefly",
+    "firefly (alternative, starts moving up)"
+  },
+  {
+    "bd_firefly_2.left",
+    "bd_firefly",
+    "firefly (alternative, starts moving left)"
+  },
+  {
+    "bd_firefly_2.down",
+    "bd_firefly",
+    "firefly (alternative, starts moving down)"
+  },
+  {
+    "bd_stonefly",
+    "bd_stonefly",
+    "stonefly (random start direction)"
+  },
+  {
+    "bd_stonefly.right",
+    "bd_stonefly",
+    "stonefly (starts moving right)"
+  },
+  {
+    "bd_stonefly.up",
+    "bd_stonefly",
+    "stonefly (starts moving up)"
+  },
+  {
+    "bd_stonefly.left",
+    "bd_stonefly",
+    "stonefly (starts moving left)"
+  },
+  {
+    "bd_stonefly.down",
+    "bd_stonefly",
+    "stonefly (starts moving down)"
+  },
+  {
+    "bd_biter",
+    "bd_biter",
+    "biter (random start direction)"
+  },
+  {
+    "bd_biter.right",
+    "bd_biter",
+    "biter (starts moving right)"
+  },
+  {
+    "bd_biter.up",
+    "bd_biter",
+    "biter (starts moving up)"
+  },
+  {
+    "bd_biter.left",
+    "bd_biter",
+    "biter (starts moving left)"
+  },
+  {
+    "bd_biter.down",
+    "bd_biter",
+    "biter (starts moving down)"
+  },
+  {
+    "bd_dragonfly",
+    "bd_dragonfly",
+    "dragonfly (random start direction)"
+  },
+  {
+    "bd_dragonfly.right",
+    "bd_dragonfly",
+    "dragonfly (starts moving right)"
+  },
+  {
+    "bd_dragonfly.up",
+    "bd_dragonfly",
+    "dragonfly (starts moving up)"
+  },
+  {
+    "bd_dragonfly.left",
+    "bd_dragonfly",
+    "dragonfly (starts moving left)"
+  },
+  {
+    "bd_dragonfly.down",
+    "bd_dragonfly",
+    "dragonfly (starts moving down)"
+  },
+  {
+    "bd_bomb",
+    "bd_bomb",
+    "bomb"
+  },
+  {
+    "bd_nitro_pack",
+    "bd_nitro_pack",
+    "nitro pack"
+  },
+  {
+    "bd_player_with_bomb",
+    "bd_player",
+    "player with bomb",
+  },
+  {
+    "bd_player_glued",
+    "bd_player",
+    "glued player",
+  },
+  {
+    "bd_player_stirring",
+    "bd_player",
+    "stirring player"
+  },
+  {
+    "bd_fake_bonus",
+    "bd_fake_bonus",
+    "fake bonus"
+  },
+  {
+    "bd_covered",
+    "bd_covered",
+    "covered"
+  },
 
   // --------------------------------------------------------------------------
   // "real" (and therefore drawable) runtime elements
@@ -7233,6 +7893,16 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "internal",
     "hide Boulder Dash elements"
   },
+  {
+    "internal_cascade_bd_native",
+    "internal",
+    "show native Boulder Dash elements"
+  },
+  {
+    "internal_cascade_bd_native.active",
+    "internal",
+    "hide native Boulder Dash elements"
+  },
   {
     "internal_cascade_em",
     "internal",
index 7f3990f0c83701abfeb640b0dbba311d5900cf43..8e6da7fd05def110d812c41a451beec6edd45633 100644 (file)
 #define EL_MM_END_3                    EL_DF_SLOPE_END
 #define EL_DF_END_2                    EL_DF_SLOPE_END
 
-#define NUM_FILE_ELEMENTS              1253
+// BD style elements
+#define EL_BD_PLAYER                           1253
+#define EL_BD_SAND                             1254
+#define EL_BD_SAND_2                           1255
+#define EL_BD_SAND_BALL                                1256
+#define EL_BD_SAND_LOOSE                       1257
+#define EL_BD_SAND_SLOPED_UP_RIGHT             1258
+#define EL_BD_SAND_SLOPED_UP_LEFT              1259
+#define EL_BD_SAND_SLOPED_DOWN_LEFT            1260
+#define EL_BD_SAND_SLOPED_DOWN_RIGHT           1261
+#define EL_BD_SAND_GLUED                       1262
+#define EL_BD_WALL_SLOPED_UP_RIGHT             1263
+#define EL_BD_WALL_SLOPED_UP_LEFT              1264
+#define EL_BD_WALL_SLOPED_DOWN_LEFT            1265
+#define EL_BD_WALL_SLOPED_DOWN_RIGHT           1266
+#define EL_BD_WALL_NON_SLOPED                  1267
+#define EL_BD_WALL_DIGGABLE                    1268
+#define EL_BD_WALL_DIAMOND                     1269
+#define EL_BD_WALL_KEY_1                       1270
+#define EL_BD_WALL_KEY_2                       1271
+#define EL_BD_WALL_KEY_3                       1272
+#define EL_BD_FALLING_WALL                     1273
+#define EL_BD_STEELWALL                                1274
+#define EL_BD_STEELWALL_SLOPED_UP_RIGHT                1275
+#define EL_BD_STEELWALL_SLOPED_UP_LEFT         1276
+#define EL_BD_STEELWALL_SLOPED_DOWN_LEFT       1277
+#define EL_BD_STEELWALL_SLOPED_DOWN_RIGHT      1278
+#define EL_BD_STEELWALL_EXPLODABLE             1279
+#define EL_BD_STEELWALL_DIGGABLE               1280
+#define EL_BD_EXPANDABLE_WALL_HORIZONTAL       1281
+#define EL_BD_EXPANDABLE_WALL_VERTICAL         1282
+#define EL_BD_EXPANDABLE_WALL_ANY              1283
+#define EL_BD_EXPANDABLE_STEELWALL_HORIZONTAL  1284
+#define EL_BD_EXPANDABLE_STEELWALL_VERTICAL    1285
+#define EL_BD_EXPANDABLE_STEELWALL_ANY         1286
+#define EL_BD_EXPANDABLE_WALL_SWITCH_HORIZONTAL        1287
+#define EL_BD_EXPANDABLE_WALL_SWITCH_VERTICAL  1288
+#define EL_BD_INBOX                            1289
+#define EL_BD_EXIT_CLOSED                      1290
+#define EL_BD_EXIT_OPEN                                1291
+#define EL_BD_INVISIBLE_EXIT_CLOSED            1292
+#define EL_BD_INVISIBLE_EXIT_OPEN              1293
+#define EL_BD_FLYING_ROCK                      1294
+#define EL_BD_MEGA_ROCK                                1295
+#define EL_BD_ROCK_GLUED                       1296
+#define EL_BD_FLYING_DIAMOND                   1297
+#define EL_BD_DIAMOND_GLUED                    1298
+#define EL_BD_DIAMOND_KEY                      1299
+#define EL_BD_TRAPPED_DIAMOND                  1300
+#define EL_BD_NUT                              1301
+#define EL_BD_AMOEBA_2                         1302
+#define EL_BD_BLADDER                          1303
+#define EL_BD_BLADDER_SPENDER                  1304
+#define EL_BD_CREATURE_SWITCH                  1305
+#define EL_BD_CREATURE_SWITCH_ACTIVE           1306
+#define EL_BD_BITER_SWITCH_1                   1307
+#define EL_BD_BITER_SWITCH_2                   1308
+#define EL_BD_BITER_SWITCH_3                   1309
+#define EL_BD_BITER_SWITCH_4                   1310
+#define EL_BD_REPLICATOR                       1311
+#define EL_BD_REPLICATOR_ACTIVE                        1312
+#define EL_BD_REPLICATOR_SWITCH                        1313
+#define EL_BD_REPLICATOR_SWITCH_ACTIVE         1314
+#define EL_BD_CONVEYOR_LEFT                    1315
+#define EL_BD_CONVEYOR_LEFT_ACTIVE             1316
+#define EL_BD_CONVEYOR_RIGHT                   1317
+#define EL_BD_CONVEYOR_RIGHT_ACTIVE            1318
+#define EL_BD_CONVEYOR_SWITCH                  1319
+#define EL_BD_CONVEYOR_SWITCH_ACTIVE           1320
+#define EL_BD_CONVEYOR_DIR_SWITCH_LEFT         1321
+#define EL_BD_CONVEYOR_DIR_SWITCH_RIGHT                1322
+#define EL_BD_GRAVITY_SWITCH                   1323
+#define EL_BD_GRAVITY_SWITCH_ACTIVE            1324
+#define EL_BD_ACID                             1325
+#define EL_BD_BOX                              1326
+#define EL_BD_TIME_PENALTY                     1327
+#define EL_BD_GRAVESTONE                       1328
+#define EL_BD_CLOCK                            1329
+#define EL_BD_POT                              1330
+#define EL_BD_PNEUMATIC_HAMMER                 1331
+#define EL_BD_TELEPORTER                       1332
+#define EL_BD_SKELETON                         1333
+#define EL_BD_WATER                            1334
+#define EL_BD_KEY_1                            1335
+#define EL_BD_KEY_2                            1336
+#define EL_BD_KEY_3                            1337
+#define EL_BD_GATE_1                           1338
+#define EL_BD_GATE_2                           1339
+#define EL_BD_GATE_3                           1340
+#define EL_BD_LAVA                             1341
+#define EL_BD_SWEET                            1342
+#define EL_BD_VOODOO_DOLL                      1343
+#define EL_BD_SLIME                            1344
+#define EL_BD_WAITING_ROCK                     1345
+#define EL_BD_CHASING_ROCK                     1346
+#define EL_BD_GHOST                            1347
+#define EL_BD_COW                              1348
+#define EL_BD_COW_LEFT                         1349
+#define EL_BD_COW_UP                           1350
+#define EL_BD_COW_RIGHT                                1351
+#define EL_BD_COW_DOWN                         1352
+#define EL_BD_BUTTERFLY_2                      1353
+#define EL_BD_BUTTERFLY_2_RIGHT                        1354
+#define EL_BD_BUTTERFLY_2_UP                   1355
+#define EL_BD_BUTTERFLY_2_LEFT                 1356
+#define EL_BD_BUTTERFLY_2_DOWN                 1357
+#define EL_BD_FIREFLY_2                                1358
+#define EL_BD_FIREFLY_2_RIGHT                  1359
+#define EL_BD_FIREFLY_2_UP                     1360
+#define EL_BD_FIREFLY_2_LEFT                   1361
+#define EL_BD_FIREFLY_2_DOWN                   1362
+#define EL_BD_STONEFLY                         1363
+#define EL_BD_STONEFLY_RIGHT                   1364
+#define EL_BD_STONEFLY_UP                      1365
+#define EL_BD_STONEFLY_LEFT                    1366
+#define EL_BD_STONEFLY_DOWN                    1367
+#define EL_BD_BITER                            1368
+#define EL_BD_BITER_RIGHT                      1369
+#define EL_BD_BITER_UP                         1370
+#define EL_BD_BITER_LEFT                       1371
+#define EL_BD_BITER_DOWN                       1372
+#define EL_BD_DRAGONFLY                                1373
+#define EL_BD_DRAGONFLY_RIGHT                  1374
+#define EL_BD_DRAGONFLY_UP                     1375
+#define EL_BD_DRAGONFLY_LEFT                   1376
+#define EL_BD_DRAGONFLY_DOWN                   1377
+#define EL_BD_BOMB                             1378
+#define EL_BD_NITRO_PACK                       1379
+#define EL_BD_PLAYER_WITH_BOMB                 1380
+#define EL_BD_PLAYER_GLUED                     1381
+#define EL_BD_PLAYER_STIRRING                  1382
+#define EL_BD_FAKE_BONUS                       1383
+#define EL_BD_COVERED                          1384
+
+#define NUM_FILE_ELEMENTS                      1385
 
 
 // "real" (and therefore drawable) runtime elements
 
 #define EL_INTERNAL_CASCADE_BD                 (EL_FIRST_INTERNAL + 4)
 #define EL_INTERNAL_CASCADE_BD_ACTIVE          (EL_FIRST_INTERNAL + 5)
-#define EL_INTERNAL_CASCADE_EM                 (EL_FIRST_INTERNAL + 6)
-#define EL_INTERNAL_CASCADE_EM_ACTIVE          (EL_FIRST_INTERNAL + 7)
-#define EL_INTERNAL_CASCADE_EMC                        (EL_FIRST_INTERNAL + 8)
-#define EL_INTERNAL_CASCADE_EMC_ACTIVE         (EL_FIRST_INTERNAL + 9)
-#define EL_INTERNAL_CASCADE_RND                        (EL_FIRST_INTERNAL + 10)
-#define EL_INTERNAL_CASCADE_RND_ACTIVE         (EL_FIRST_INTERNAL + 11)
-#define EL_INTERNAL_CASCADE_SB                 (EL_FIRST_INTERNAL + 12)
-#define EL_INTERNAL_CASCADE_SB_ACTIVE          (EL_FIRST_INTERNAL + 13)
-#define EL_INTERNAL_CASCADE_SP                 (EL_FIRST_INTERNAL + 14)
-#define EL_INTERNAL_CASCADE_SP_ACTIVE          (EL_FIRST_INTERNAL + 15)
-#define EL_INTERNAL_CASCADE_DC                 (EL_FIRST_INTERNAL + 16)
-#define EL_INTERNAL_CASCADE_DC_ACTIVE          (EL_FIRST_INTERNAL + 17)
-#define EL_INTERNAL_CASCADE_DX                 (EL_FIRST_INTERNAL + 18)
-#define EL_INTERNAL_CASCADE_DX_ACTIVE          (EL_FIRST_INTERNAL + 19)
-#define EL_INTERNAL_CASCADE_MM                 (EL_FIRST_INTERNAL + 20)
-#define EL_INTERNAL_CASCADE_MM_ACTIVE          (EL_FIRST_INTERNAL + 21)
-#define EL_INTERNAL_CASCADE_DF                 (EL_FIRST_INTERNAL + 22)
-#define EL_INTERNAL_CASCADE_DF_ACTIVE          (EL_FIRST_INTERNAL + 23)
-#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 24)
-#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 25)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 26)
-#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 27)
-#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 28)
-#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 29)
-#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 30)
-#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 31)
-#define EL_INTERNAL_CASCADE_ES                 (EL_FIRST_INTERNAL + 32)
-#define EL_INTERNAL_CASCADE_ES_ACTIVE          (EL_FIRST_INTERNAL + 33)
-#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 34)
-#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 35)
-#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 36)
-#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 37)
-#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 38)
-#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_CASCADE_BD_NATIVE          (EL_FIRST_INTERNAL + 6)
+#define EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE   (EL_FIRST_INTERNAL + 7)
+#define EL_INTERNAL_CASCADE_EM                 (EL_FIRST_INTERNAL + 8)
+#define EL_INTERNAL_CASCADE_EM_ACTIVE          (EL_FIRST_INTERNAL + 9)
+#define EL_INTERNAL_CASCADE_EMC                        (EL_FIRST_INTERNAL + 10)
+#define EL_INTERNAL_CASCADE_EMC_ACTIVE         (EL_FIRST_INTERNAL + 11)
+#define EL_INTERNAL_CASCADE_RND                        (EL_FIRST_INTERNAL + 12)
+#define EL_INTERNAL_CASCADE_RND_ACTIVE         (EL_FIRST_INTERNAL + 13)
+#define EL_INTERNAL_CASCADE_SB                 (EL_FIRST_INTERNAL + 14)
+#define EL_INTERNAL_CASCADE_SB_ACTIVE          (EL_FIRST_INTERNAL + 15)
+#define EL_INTERNAL_CASCADE_SP                 (EL_FIRST_INTERNAL + 16)
+#define EL_INTERNAL_CASCADE_SP_ACTIVE          (EL_FIRST_INTERNAL + 17)
+#define EL_INTERNAL_CASCADE_DC                 (EL_FIRST_INTERNAL + 18)
+#define EL_INTERNAL_CASCADE_DC_ACTIVE          (EL_FIRST_INTERNAL + 19)
+#define EL_INTERNAL_CASCADE_DX                 (EL_FIRST_INTERNAL + 20)
+#define EL_INTERNAL_CASCADE_DX_ACTIVE          (EL_FIRST_INTERNAL + 21)
+#define EL_INTERNAL_CASCADE_MM                 (EL_FIRST_INTERNAL + 22)
+#define EL_INTERNAL_CASCADE_MM_ACTIVE          (EL_FIRST_INTERNAL + 23)
+#define EL_INTERNAL_CASCADE_DF                 (EL_FIRST_INTERNAL + 24)
+#define EL_INTERNAL_CASCADE_DF_ACTIVE          (EL_FIRST_INTERNAL + 25)
+#define EL_INTERNAL_CASCADE_CHARS              (EL_FIRST_INTERNAL + 26)
+#define EL_INTERNAL_CASCADE_CHARS_ACTIVE       (EL_FIRST_INTERNAL + 27)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS                (EL_FIRST_INTERNAL + 28)
+#define EL_INTERNAL_CASCADE_STEEL_CHARS_ACTIVE (EL_FIRST_INTERNAL + 29)
+#define EL_INTERNAL_CASCADE_CE                 (EL_FIRST_INTERNAL + 30)
+#define EL_INTERNAL_CASCADE_CE_ACTIVE          (EL_FIRST_INTERNAL + 31)
+#define EL_INTERNAL_CASCADE_GE                 (EL_FIRST_INTERNAL + 32)
+#define EL_INTERNAL_CASCADE_GE_ACTIVE          (EL_FIRST_INTERNAL + 33)
+#define EL_INTERNAL_CASCADE_ES                 (EL_FIRST_INTERNAL + 34)
+#define EL_INTERNAL_CASCADE_ES_ACTIVE          (EL_FIRST_INTERNAL + 35)
+#define EL_INTERNAL_CASCADE_REF                        (EL_FIRST_INTERNAL + 36)
+#define EL_INTERNAL_CASCADE_REF_ACTIVE         (EL_FIRST_INTERNAL + 37)
+#define EL_INTERNAL_CASCADE_USER               (EL_FIRST_INTERNAL + 38)
+#define EL_INTERNAL_CASCADE_USER_ACTIVE                (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_CASCADE_DYNAMIC            (EL_FIRST_INTERNAL + 40)
+#define EL_INTERNAL_CASCADE_DYNAMIC_ACTIVE     (EL_FIRST_INTERNAL + 41)
 
 #define EL_INTERNAL_CLIPBOARD_START    (EL_FIRST_INTERNAL + 0)
 #define EL_INTERNAL_CLIPBOARD_END      (EL_FIRST_INTERNAL + 2)
 #define EL_INTERNAL_START              (EL_FIRST_INTERNAL + 0)
-#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 39)
+#define EL_INTERNAL_END                        (EL_FIRST_INTERNAL + 41)
 
-#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 40)
+#define MAX_NUM_ELEMENTS               (EL_FIRST_INTERNAL + 42)
 
 
 // values for graphics/sounds action types
index fc344373d34d7734a24d93d5bc79d49d828bba97..8b631b7b3872e09c72614d2e50acb27e2bf07e0f 100644 (file)
@@ -7493,6 +7493,7 @@ static struct TokenInfo setup_info_editor[] =
 {
 #if 0
   { TYPE_SWITCH,       &setup.editor.el_boulderdash,   "Boulder Dash:" },
+  { TYPE_SWITCH, &setup.editor.el_boulderdash_native, "Boulder Dash Native:" },
   { TYPE_SWITCH,       &setup.editor.el_emerald_mine,  "Emerald Mine:" },
   { TYPE_SWITCH, &setup.editor.el_emerald_mine_club,   "Emerald Mine Club:" },
   { TYPE_SWITCH,       &setup.editor.el_more,          "Rocks'n'Diamonds:" },