- NULL,
- NULL,
- "-"
- }
-};
-
-
-/* ------------------------------------------------------------------------- */
-/* element action and direction definitions */
-/* ------------------------------------------------------------------------- */
-
-struct ElementActionInfo element_action_info[] =
-{
- { ".[DEFAULT]", ACTION_DEFAULT, TRUE },
- { ".waiting", ACTION_WAITING, TRUE },
- { ".falling", ACTION_FALLING, TRUE },
- { ".moving", ACTION_MOVING, TRUE },
- { ".digging", ACTION_DIGGING, FALSE },
- { ".snapping", ACTION_SNAPPING, FALSE },
- { ".collecting", ACTION_COLLECTING, FALSE },
- { ".pushing", ACTION_PUSHING, FALSE },
- { ".passing", ACTION_PASSING, FALSE },
- { ".impact", ACTION_IMPACT, FALSE },
- { ".cracking", ACTION_CRACKING, FALSE },
- { ".breaking", ACTION_BREAKING, FALSE },
- { ".activating", ACTION_ACTIVATING, FALSE },
- { ".opening", ACTION_OPENING, FALSE },
- { ".closing", ACTION_CLOSING, FALSE },
- { ".eating", ACTION_EATING, FALSE },
- { ".attacking", ACTION_ATTACKING, TRUE },
- { ".growing", ACTION_GROWING, TRUE },
- { ".shrinking", ACTION_SHRINKING, FALSE },
- { ".active", ACTION_ACTIVE, TRUE },
- { ".other", ACTION_OTHER, FALSE },
-
- { NULL, 0, 0 }
-};
-
-struct ElementDirectionInfo element_direction_info[] =
-{
- { ".left", MV_BIT_LEFT },
- { ".right", MV_BIT_RIGHT },
- { ".up", MV_BIT_UP },
- { ".down", MV_BIT_DOWN },
-
- { NULL, 0 }
-};
-
-struct SpecialSuffixInfo special_suffix_info[] =
-{
- { ".EDITOR", 0, },
-
- { NULL, 0, }
-};
-
-
-/* ========================================================================= */
-/* main() */
-/* ========================================================================= */
-
+ "custom_174",
+ "custom",
+ "custom element 174"
+ },
+ {
+ "custom_175",
+ "custom",
+ "custom element 175"
+ },
+ {
+ "custom_176",
+ "custom",
+ "custom element 176"
+ },
+ {
+ "custom_177",
+ "custom",
+ "custom element 177"
+ },
+ {
+ "custom_178",
+ "custom",
+ "custom element 178"
+ },
+ {
+ "custom_179",
+ "custom",
+ "custom element 179"
+ },
+ {
+ "custom_180",
+ "custom",
+ "custom element 180"
+ },
+ {
+ "custom_181",
+ "custom",
+ "custom element 181"
+ },
+ {
+ "custom_182",
+ "custom",
+ "custom element 182"
+ },
+ {
+ "custom_183",
+ "custom",
+ "custom element 183"
+ },
+ {
+ "custom_184",
+ "custom",
+ "custom element 184"
+ },
+ {
+ "custom_185",
+ "custom",
+ "custom element 185"
+ },
+ {
+ "custom_186",
+ "custom",
+ "custom element 186"
+ },
+ {
+ "custom_187",
+ "custom",
+ "custom element 187"
+ },
+ {
+ "custom_188",
+ "custom",
+ "custom element 188"
+ },
+ {
+ "custom_189",
+ "custom",
+ "custom element 189"
+ },
+ {
+ "custom_190",
+ "custom",
+ "custom element 190"
+ },
+ {
+ "custom_191",
+ "custom",
+ "custom element 191"
+ },
+ {
+ "custom_192",
+ "custom",
+ "custom element 192"
+ },
+ {
+ "custom_193",
+ "custom",
+ "custom element 193"
+ },
+ {
+ "custom_194",
+ "custom",
+ "custom element 194"
+ },
+ {
+ "custom_195",
+ "custom",
+ "custom element 195"
+ },
+ {
+ "custom_196",
+ "custom",
+ "custom element 196"
+ },
+ {
+ "custom_197",
+ "custom",
+ "custom element 197"
+ },
+ {
+ "custom_198",
+ "custom",
+ "custom element 198"
+ },
+ {
+ "custom_199",
+ "custom",
+ "custom element 199"
+ },
+ {
+ "custom_200",
+ "custom",
+ "custom element 200"
+ },
+ {
+ "custom_201",
+ "custom",
+ "custom element 201"
+ },
+ {
+ "custom_202",
+ "custom",
+ "custom element 202"
+ },
+ {
+ "custom_203",
+ "custom",
+ "custom element 203"
+ },
+ {
+ "custom_204",
+ "custom",
+ "custom element 204"
+ },
+ {
+ "custom_205",
+ "custom",
+ "custom element 205"
+ },
+ {
+ "custom_206",
+ "custom",
+ "custom element 206"
+ },
+ {
+ "custom_207",
+ "custom",
+ "custom element 207"
+ },
+ {
+ "custom_208",
+ "custom",
+ "custom element 208"
+ },
+ {
+ "custom_209",
+ "custom",
+ "custom element 209"
+ },
+ {
+ "custom_210",
+ "custom",
+ "custom element 210"
+ },
+ {
+ "custom_211",
+ "custom",
+ "custom element 211"
+ },
+ {
+ "custom_212",
+ "custom",
+ "custom element 212"
+ },
+ {
+ "custom_213",
+ "custom",
+ "custom element 213"
+ },
+ {
+ "custom_214",
+ "custom",
+ "custom element 214"
+ },
+ {
+ "custom_215",
+ "custom",
+ "custom element 215"
+ },
+ {
+ "custom_216",
+ "custom",
+ "custom element 216"
+ },
+ {
+ "custom_217",
+ "custom",
+ "custom element 217"
+ },
+ {
+ "custom_218",
+ "custom",
+ "custom element 218"
+ },
+ {
+ "custom_219",
+ "custom",
+ "custom element 219"
+ },
+ {
+ "custom_220",
+ "custom",
+ "custom element 220"
+ },
+ {
+ "custom_221",
+ "custom",
+ "custom element 221"
+ },
+ {
+ "custom_222",
+ "custom",
+ "custom element 222"
+ },
+ {
+ "custom_223",
+ "custom",
+ "custom element 223"
+ },
+ {
+ "custom_224",
+ "custom",
+ "custom element 224"
+ },
+ {
+ "custom_225",
+ "custom",
+ "custom element 225"
+ },
+ {
+ "custom_226",
+ "custom",
+ "custom element 226"
+ },
+ {
+ "custom_227",
+ "custom",
+ "custom element 227"
+ },
+ {
+ "custom_228",
+ "custom",
+ "custom element 228"
+ },
+ {
+ "custom_229",
+ "custom",
+ "custom element 229"
+ },
+ {
+ "custom_230",
+ "custom",
+ "custom element 230"
+ },
+ {
+ "custom_231",
+ "custom",
+ "custom element 231"
+ },
+ {
+ "custom_232",
+ "custom",
+ "custom element 232"
+ },
+ {
+ "custom_233",
+ "custom",
+ "custom element 233"
+ },
+ {
+ "custom_234",
+ "custom",
+ "custom element 234"
+ },
+ {
+ "custom_235",
+ "custom",
+ "custom element 235"
+ },
+ {
+ "custom_236",
+ "custom",
+ "custom element 236"
+ },
+ {
+ "custom_237",
+ "custom",
+ "custom element 237"
+ },
+ {
+ "custom_238",
+ "custom",
+ "custom element 238"
+ },
+ {
+ "custom_239",
+ "custom",
+ "custom element 239"
+ },
+ {
+ "custom_240",
+ "custom",
+ "custom element 240"
+ },
+ {
+ "custom_241",
+ "custom",
+ "custom element 241"
+ },
+ {
+ "custom_242",
+ "custom",
+ "custom element 242"
+ },
+ {
+ "custom_243",
+ "custom",
+ "custom element 243"
+ },
+ {
+ "custom_244",
+ "custom",
+ "custom element 244"
+ },
+ {
+ "custom_245",
+ "custom",
+ "custom element 245"
+ },
+ {
+ "custom_246",
+ "custom",
+ "custom element 246"
+ },
+ {
+ "custom_247",
+ "custom",
+ "custom element 247"
+ },
+ {
+ "custom_248",
+ "custom",
+ "custom element 248"
+ },
+ {
+ "custom_249",
+ "custom",
+ "custom element 249"
+ },
+ {
+ "custom_250",
+ "custom",
+ "custom element 250"
+ },
+ {
+ "custom_251",
+ "custom",
+ "custom element 251"
+ },
+ {
+ "custom_252",
+ "custom",
+ "custom element 252"
+ },
+ {
+ "custom_253",
+ "custom",
+ "custom element 253"
+ },
+ {
+ "custom_254",
+ "custom",
+ "custom element 254"
+ },
+ {
+ "custom_255",
+ "custom",
+ "custom element 255"
+ },
+ {
+ "custom_256",
+ "custom",
+ "custom element 256"
+ },
+
+ /* ----------------------------------------------------------------------- */
+ /* "real" (and therefore drawable) runtime elements */
+ /* ----------------------------------------------------------------------- */
+
+ {
+ "em_key_1",
+ "key",
+ "-"
+ },
+ {
+ "em_key_2",
+ "key",
+ "-"
+ },
+ {
+ "em_key_3",
+ "key",
+ "-"
+ },
+ {
+ "em_key_4",
+ "key",
+ "-"
+ },
+ {
+ "dynabomb_player_1_active",
+ "dynabomb",
+ "-"
+ },
+ {
+ "dynabomb_player_2_active",
+ "dynabomb",
+ "-"
+ },
+ {
+ "dynabomb_player_3_active",
+ "dynabomb",
+ "-"
+ },
+ {
+ "dynabomb_player_4_active",
+ "dynabomb",
+ "-"
+ },
+ {
+ "sp_disk_red_active",
+ "dynamite",
+ "-"
+ },
+ {
+ "switchgate_opening",
+ "switchgate",
+ "-"
+ },
+ {
+ "switchgate_closing",
+ "switchgate",
+ "-"
+ },
+ {
+ "timegate_opening",
+ "timegate",
+ "-"
+ },
+ {
+ "timegate_closing",
+ "timegate",
+ "-"
+ },
+ {
+ "pearl_breaking",
+ "pearl",
+ "-"
+ },
+ {
+ "trap_active",
+ "trap",
+ "-"
+ },
+ {
+ "invisible_steelwall_active",
+ "wall",
+ "-"
+ },
+ {
+ "invisible_wall_active",
+ "wall",
+ "-"
+ },
+ {
+ "invisible_sand_active",
+ "sand",
+ "-"
+ },
+ {
+ "conveyor_belt_1_left_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_1_middle_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_1_right_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_2_left_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_2_middle_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_2_right_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_3_left_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_3_middle_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_3_right_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_4_left_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_4_middle_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "conveyor_belt_4_right_active",
+ "conveyor_belt",
+ "-"
+ },
+ {
+ "exit_opening",
+ "exit",
+ "-"
+ },
+ {
+ "exit_closing",
+ "exit",
+ "-"
+ },
+ {
+ "sp_exit_open",
+ "sp_exit",
+ "-"
+ },
+ {
+ "sp_terminal_active",
+ "sp_terminal",
+ "-"
+ },
+ {
+ "sp_buggy_base_activating",
+ "sp_buggy_base",
+ "-"
+ },
+ {
+ "sp_buggy_base_active",
+ "sp_buggy_base",
+ "-"
+ },
+ {
+ "sp_murphy_clone",
+ "murphy_clone",
+ "-"
+ },
+ {
+ "amoeba_dropping",
+ "amoeba",
+ "-"
+ },
+ {
+ "quicksand_emptying",
+ "quicksand",
+ "-"
+ },
+ {
+ "magic_wall_active",
+ "magic_wall",
+ "-"
+ },
+ {
+ "bd_magic_wall_active",
+ "magic_wall",
+ "-"
+ },
+ {
+ "magic_wall_full",
+ "magic_wall",
+ "-"
+ },
+ {
+ "bd_magic_wall_full",
+ "magic_wall",
+ "-"
+ },
+ {
+ "magic_wall_emptying",
+ "magic_wall",
+ "-"
+ },
+ {
+ "bd_magic_wall_emptying",
+ "magic_wall",
+ "-"
+ },
+ {
+ "magic_wall_dead",
+ "magic_wall",
+ "-"
+ },
+ {
+ "bd_magic_wall_dead",
+ "magic_wall",
+ "-"
+ },
+
+ /* ----------------------------------------------------------------------- */
+ /* "unreal" (and therefore not drawable) runtime elements */
+ /* ----------------------------------------------------------------------- */
+
+ {
+ "blocked",
+ "-",
+ "-"
+ },
+ {
+ "explosion",
+ "-",
+ "-"
+ },
+ {
+ "nut_breaking",
+ "-",
+ "-"
+ },
+ {
+ "diamond_breaking",
+ "-",
+ "-"
+ },
+ {
+ "acid_splash_left",
+ "-",
+ "-"
+ },
+ {
+ "acid_splash_right",
+ "-",
+ "-"
+ },
+ {
+ "amoeba_growing",
+ "-",
+ "-"
+ },
+ {
+ "amoeba_shrinking",
+ "-",
+ "-"
+ },
+ {
+ "expandable_wall_growing",
+ "-",
+ "-"
+ },
+ {
+ "flames",
+ "-",
+ "-"
+ },
+ {
+ "player_is_leaving",
+ "-",
+ "-"
+ },
+ {
+ "quicksand_filling",
+ "quicksand",
+ "-"
+ },
+ {
+ "magic_wall_filling",
+ "-",
+ "-"
+ },
+ {
+ "bd_magic_wall_filling",
+ "-",
+ "-"
+ },
+
+ /* ----------------------------------------------------------------------- */
+ /* dummy elements (never used as game elements, only used as graphics) */
+ /* ----------------------------------------------------------------------- */
+
+ {
+ "steelwall_topleft",
+ "-",
+ "-"
+ },
+ {
+ "steelwall_topright",
+ "-",
+ "-"
+ },
+ {
+ "steelwall_bottomleft",
+ "-",
+ "-"
+ },
+ {
+ "steelwall_bottomright",
+ "-",
+ "-"
+ },
+ {
+ "steelwall_horizontal",
+ "-",
+ "-"
+ },
+ {
+ "steelwall_vertical",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_topleft",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_topright",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_bottomleft",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_bottomright",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_horizontal",
+ "-",
+ "-"
+ },
+ {
+ "invisible_steelwall_vertical",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb_active",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb_player_1",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb_player_2",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb_player_3",
+ "-",
+ "-"
+ },
+ {
+ "dynabomb_player_4",
+ "-",
+ "-"
+ },
+ {
+ "shield_normal_active",
+ "-",
+ "-"
+ },
+ {
+ "shield_deadly_active",
+ "-",
+ "-"
+ },
+ {
+ "[default]",
+ "default",
+ "-"
+ },
+ {
+ "[bd_default]",
+ "bd_default",
+ "-"
+ },
+ {
+ "[sp_default]",
+ "sp_default",
+ "-"
+ },
+ {
+ "[sb_default]",
+ "sb_default",
+ "-"
+ },
+
+ /* keyword to stop parser: "ELEMENT_INFO_END" <-- do not change! */
+
+ {
+ NULL,
+ NULL,
+ NULL
+ }
+};
+
+
+/* ------------------------------------------------------------------------- */
+/* element action and direction definitions */
+/* ------------------------------------------------------------------------- */
+
+struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] =
+{
+ { ".[DEFAULT]", ACTION_DEFAULT, TRUE },
+ { ".waiting", ACTION_WAITING, TRUE },
+ { ".falling", ACTION_FALLING, TRUE },
+ { ".moving", ACTION_MOVING, TRUE },
+ { ".digging", ACTION_DIGGING, FALSE },
+ { ".snapping", ACTION_SNAPPING, FALSE },
+ { ".collecting", ACTION_COLLECTING, FALSE },
+ { ".dropping", ACTION_DROPPING, FALSE },
+ { ".pushing", ACTION_PUSHING, FALSE },
+ { ".walking", ACTION_WALKING, FALSE },
+ { ".passing", ACTION_PASSING, FALSE },
+ { ".impact", ACTION_IMPACT, FALSE },
+ { ".breaking", ACTION_BREAKING, FALSE },
+ { ".activating", ACTION_ACTIVATING, FALSE },
+ { ".deactivating", ACTION_DEACTIVATING, FALSE },
+ { ".opening", ACTION_OPENING, FALSE },
+ { ".closing", ACTION_CLOSING, FALSE },
+ { ".attacking", ACTION_ATTACKING, TRUE },
+ { ".growing", ACTION_GROWING, TRUE },
+ { ".shrinking", ACTION_SHRINKING, FALSE },
+ { ".active", ACTION_ACTIVE, TRUE },
+ { ".filling", ACTION_FILLING, FALSE },
+ { ".emptying", ACTION_EMPTYING, FALSE },
+ { ".changing", ACTION_CHANGING, FALSE },
+ { ".exploding", ACTION_EXPLODING, FALSE },
+ { ".dying", ACTION_DYING, FALSE },
+ { ".other", ACTION_OTHER, FALSE },
+
+ /* empty suffix always matches -- check as last entry in InitSoundInfo() */
+ { "", ACTION_DEFAULT, TRUE },
+
+ { NULL, 0, 0 }
+};
+
+struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS + 1] =
+{
+ { ".left", MV_BIT_LEFT },
+ { ".right", MV_BIT_RIGHT },
+ { ".up", MV_BIT_UP },
+ { ".down", MV_BIT_DOWN },
+
+ { NULL, 0 }
+};
+
+struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1] =
+{
+ { ".MAIN", GAME_MODE_MAIN, },
+ { ".LEVELS", GAME_MODE_LEVELS },
+ { ".SCORES", GAME_MODE_SCORES, },
+ { ".EDITOR", GAME_MODE_EDITOR, },
+ { ".INFO", GAME_MODE_INFO, },
+ { ".SETUP", GAME_MODE_SETUP, },
+ { ".PLAYING", GAME_MODE_PLAYING, },
+ { ".DOOR", GAME_MODE_PSEUDO_DOOR, },
+ { ".PREVIEW", GAME_MODE_PSEUDO_PREVIEW, },
+ { ".CRUMBLED", GAME_MODE_PSEUDO_CRUMBLED, },
+
+ { NULL, 0, }
+};
+
+struct TokenIntPtrInfo image_config_vars[] =
+{
+ { "global.num_toons", &global.num_toons },
+
+ { "menu.draw_xoffset", &menu.draw_xoffset_default },
+ { "menu.draw_yoffset", &menu.draw_yoffset_default },
+ { "menu.draw_xoffset.MAIN", &menu.draw_xoffset[GFX_SPECIAL_ARG_MAIN] },
+ { "menu.draw_yoffset.MAIN", &menu.draw_yoffset[GFX_SPECIAL_ARG_MAIN] },
+ { "menu.draw_xoffset.LEVELS", &menu.draw_xoffset[GFX_SPECIAL_ARG_LEVELS] },
+ { "menu.draw_yoffset.LEVELS", &menu.draw_yoffset[GFX_SPECIAL_ARG_LEVELS] },
+ { "menu.draw_xoffset.SCORES", &menu.draw_xoffset[GFX_SPECIAL_ARG_SCORES] },
+ { "menu.draw_yoffset.SCORES", &menu.draw_yoffset[GFX_SPECIAL_ARG_SCORES] },
+ { "menu.draw_xoffset.EDITOR", &menu.draw_xoffset[GFX_SPECIAL_ARG_EDITOR] },
+ { "menu.draw_yoffset.EDITOR", &menu.draw_yoffset[GFX_SPECIAL_ARG_EDITOR] },
+ { "menu.draw_xoffset.INFO", &menu.draw_xoffset[GFX_SPECIAL_ARG_INFO] },
+ { "menu.draw_yoffset.INFO", &menu.draw_yoffset[GFX_SPECIAL_ARG_INFO] },
+ { "menu.draw_xoffset.SETUP", &menu.draw_xoffset[GFX_SPECIAL_ARG_SETUP] },
+ { "menu.draw_yoffset.SETUP", &menu.draw_yoffset[GFX_SPECIAL_ARG_SETUP] },
+
+ { "menu.scrollbar_xoffset", &menu.scrollbar_xoffset },
+
+ { "menu.list_size", &menu.list_size_default },
+ { "menu.list_size.LEVELS", &menu.list_size[GFX_SPECIAL_ARG_LEVELS] },
+ { "menu.list_size.SCORES", &menu.list_size[GFX_SPECIAL_ARG_SCORES] },
+ { "menu.list_size.INFO", &menu.list_size[GFX_SPECIAL_ARG_INFO] },
+
+ { "door.step_offset", &door.step_offset },
+ { "door.step_delay", &door.step_delay },
+
+ { NULL, NULL, }
+};
+
+
+/* ------------------------------------------------------------------------- */
+/* font definitions */
+/* ------------------------------------------------------------------------- */
+
+/* Important: When one entry is a prefix of another entry, the longer entry
+ must come first, because the dynamic configuration does prefix matching! */
+
+struct FontInfo font_info[NUM_FONTS + 1] =
+{
+ { "font.initial_1" },
+ { "font.initial_2" },
+ { "font.initial_3" },
+ { "font.initial_4" },
+ { "font.title_1" },
+ { "font.title_2" },
+ { "font.menu_1" },
+ { "font.menu_2" },
+ { "font.text_1.active" },
+ { "font.text_2.active" },
+ { "font.text_3.active" },
+ { "font.text_4.active" },
+ { "font.text_1" },
+ { "font.text_2" },
+ { "font.text_3" },
+ { "font.text_4" },
+ { "font.input_1.active" },
+ { "font.input_2.active" },
+ { "font.input_1" },
+ { "font.input_2" },
+ { "font.option_off" },
+ { "font.option_on" },
+ { "font.value_1" },
+ { "font.value_2" },
+ { "font.value_old" },
+ { "font.level_number" },
+ { "font.tape_recorder" },
+ { "font.game_info" },
+};
+
+
+/* ========================================================================= */
+/* main() */
+/* ========================================================================= */
+