X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=f6dc5542481490d36043e11ccff279ef926c0d3b;hb=ad15815ec04f42779d0717a6d291f93b8e847d39;hp=415b6bfbb104073720bda8885b458b3683adc0fb;hpb=1d7b4b0ee6ba41cb6f977d35aca97e4965560cd4;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 415b6bfb..f6dc5542 100644 --- a/src/main.c +++ b/src/main.c @@ -17,2800 +17,3800 @@ #include "init.h" #include "game.h" #include "events.h" +#include "config.h" -GC tile_clip_gc; -Bitmap *pix[NUM_BITMAPS]; -Pixmap tile_clipmask[NUM_TILES]; -DrawBuffer *fieldbuffer; -DrawBuffer *drawto_field; - -int game_status = MAINMENU; -boolean level_editor_test_game = FALSE; -boolean network_playing = FALSE; - -int key_joystick_mapping = 0; - -boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; -int redraw_x1 = 0, redraw_y1 = 0; - -short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA]; -short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -unsigned long Elementeigenschaften1[MAX_ELEMENTS]; -unsigned long Elementeigenschaften2[MAX_ELEMENTS]; - -int lev_fieldx,lev_fieldy, scroll_x,scroll_y; - -int FX = SX, FY = SY, ScrollStepSize; -int ScreenMovDir = MV_NO_MOVING, ScreenMovPos = 0; -int ScreenGfxPos = 0; -int BorderElement = EL_STEELWALL; -int GameFrameDelay = GAME_FRAME_DELAY; -int FfwdFrameDelay = FFWD_FRAME_DELAY; -int BX1 = 0, BY1 = 0, BX2 = SCR_FIELDX-1, BY2 = SCR_FIELDY-1; -int SBX_Left, SBX_Right; -int SBY_Upper, SBY_Lower; -int ZX,ZY, ExitX,ExitY; -int AllPlayersGone; - -int TimeFrames, TimePlayed, TimeLeft; - -boolean network_player_action_received = FALSE; - -struct LevelInfo level; +#if 0 +GC tile_clip_gc; +Bitmap *pix[NUM_BITMAPS]; +#endif +Bitmap *bitmap_db_field, *bitmap_db_door; +#if 0 +Pixmap tile_clipmask[NUM_TILES]; +#endif +DrawBuffer *fieldbuffer; +DrawBuffer *drawto_field; + +int game_status = -1; +boolean level_editor_test_game = FALSE; +boolean network_playing = FALSE; + +int key_joystick_mapping = 0; + +boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; +int redraw_x1 = 0, redraw_y1 = 0; + +short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short ChangeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +boolean Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +unsigned long Changed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +unsigned long ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short AmoebaCnt[MAX_NUM_AMOEBA]; +short AmoebaCnt2[MAX_NUM_AMOEBA]; +short ExplodePhase[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; + +unsigned long Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS]; + +int GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +int GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +int GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; + +int lev_fieldx, lev_fieldy; +int scroll_x, scroll_y; + +int FX = SX, FY = SY; +int ScrollStepSize; +int ScreenMovDir = MV_NO_MOVING, ScreenMovPos = 0; +int ScreenGfxPos = 0; +int BorderElement = EL_STEELWALL; +int GameFrameDelay = GAME_FRAME_DELAY; +int FfwdFrameDelay = FFWD_FRAME_DELAY; +int BX1 = 0, BY1 = 0; +int BX2 = SCR_FIELDX - 1, BY2 = SCR_FIELDY - 1; +int SBX_Left, SBX_Right; +int SBY_Upper, SBY_Lower; +int ZX, ZY; +int ExitX, ExitY; +int AllPlayersGone; + +int TimeFrames, TimePlayed, TimeLeft; + +boolean network_player_action_received = FALSE; + +struct LevelInfo level, level_template; struct PlayerInfo stored_player[MAX_PLAYERS], *local_player = NULL; struct HiScore highscore[MAX_SCORE_ENTRIES]; struct TapeInfo tape; struct SetupInfo setup; struct GameInfo game; struct GlobalInfo global; +struct MenuInfo menu; +struct DoorInfo door_1, door_2; +struct GraphicInfo *graphic_info = NULL; +struct SoundInfo *sound_info = NULL; + -/* filenames of sound effects */ -char *sound_name[NUM_SOUNDS] = +/* ------------------------------------------------------------------------- */ +/* element definitions */ +/* ------------------------------------------------------------------------- */ + +struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = { - "amoebe.wav", - "antigrav.wav", - "autsch.wav", - "blurb.wav", - "bong.wav", - "buing.wav", - "deng.wav", - "fuel.wav", - "gong.wav", - "halloffame.wav", - "holz.wav", - "hui.wav", - "kabumm.wav", - "kink.wav", - "klapper.wav", - "kling.wav", - "klopf.wav", - "klumpf.wav", - "knack.wav", - "knurk.wav", - "krach.wav", - "lachen.wav", - "laser.wav", - "miep.wav", - "njam.wav", - "oeffnen.wav", - "pling.wav", - "pong.wav", - "pusch.wav", - "quiek.wav", - "quirk.wav", - "rhythmloop.wav", - "roaaar.wav", - "roehr.wav", - "rumms.wav", - "schlopp.wav", - "schlurf.wav", - "schrff.wav", - "schwirr.wav", - "sirr.wav", - "slurp.wav", - "sproing.wav", - "warnton.wav", - "whoosh.wav", - "zisch.wav", - "base.wav", - "infotron.wav", - "zonkdown.wav", - "zonkpush.wav", - "bug.wav", - "boom.wav", - "booom.wav", - "exit.wav", - "empty.wav", - "gate.wav" + /* keyword to start parser: "ELEMENT_INFO_START" <-- do not change! */ + + /* ----------------------------------------------------------------------- */ + /* "real" level file elements */ + /* ----------------------------------------------------------------------- */ + + { + "empty_space", + "empty_space", + "empty space" + }, + { + "sand", + "sand", + "sand" + }, + { + "wall", + "wall", + "normal wall" + }, + { + "wall_slippery", + "wall", + "slippery wall" + }, + { + "rock", + "rock", + "rock" + }, + { + "key_obsolete", + "obsolete", + "key (OBSOLETE)" + }, + { + "emerald", + "emerald", + "emerald" + }, + { + "exit_closed", + "exit", + "closed exit" + }, + { + "player_obsolete", + "obsolete", + "player (OBSOLETE)" + }, + { + "bug", + "bug", + "bug (random start direction)" + }, + { + "spaceship", + "spaceship", + "spaceship (random start direction)" + }, + { + "yamyam", + "yamyam", + "yam yam" + }, + { + "robot", + "robot", + "robot" + }, + { + "steelwall", + "wall", + "steel wall" + }, + { + "diamond", + "diamond", + "diamond" + }, + { + "amoeba_dead", + "amoeba", + "dead amoeba" + }, + { + "quicksand_empty", + "quicksand", + "empty quicksand" + }, + { + "quicksand_full", + "quicksand", + "quicksand with rock" + }, + { + "amoeba_drop", + "amoeba", + "amoeba drop" + }, + { + "bomb", + "bomb", + "bomb" + }, + { + "magic_wall", + "magic_wall", + "magic wall" + }, + { + "speed_pill", + "speed_pill", + "speed pill" + }, + { + "acid", + "acid", + "acid" + }, + { + "amoeba_wet", + "amoeba", + "dropping amoeba" + }, + { + "amoeba_dry", + "amoeba", + "normal amoeba" + }, + { + "nut", + "nut", + "nut with emerald" + }, + { + "game_of_life", + "game_of_life", + "Conway's wall of life" + }, + { + "biomaze", + "biomaze", + "biomaze" + }, + { + "dynamite.active", + "dynamite", + "burning dynamite" + }, + { + "stoneblock", + "wall", + "wall" + }, + { + "robot_wheel", + "robot_wheel", + "magic wheel" + }, + { + "robot_wheel.active", + "robot_wheel", + "magic wheel (running)" + }, + { + "key_1", + "key", + "red key" + }, + { + "key_2", + "key", + "yellow key" + }, + { + "key_3", + "key", + "green key" + }, + { + "key_4", + "key", + "blue key" + }, + { + "gate_1", + "gate", + "red door" + }, + { + "gate_2", + "gate", + "yellow door" + }, + { + "gate_3", + "gate", + "green door" + }, + { + "gate_4", + "gate", + "blue door" + }, + { + "gate_1_gray", + "gate", + "gray door (opened by red key)" + }, + { + "gate_2_gray", + "gate", + "gray door (opened by yellow key)"}, + { + "gate_3_gray", + "gate", + "gray door (opened by green key)"}, + { + "gate_4_gray", + "gate", + "gray door (opened by blue key)"}, + { + "dynamite", + "dynamite", + "dynamite" + }, + { + "pacman", + "pacman", + "pac man (random start direction)" + }, + { + "invisible_wall", + "wall", + "invisible normal wall" + }, + { + "lamp", + "lamp", + "lamp (off)" + }, + { + "lamp.active", + "lamp", + "lamp (on)" + }, + { + "wall_emerald", + "wall", + "wall with emerald" + }, + { + "wall_diamond", + "wall", + "wall with diamond" + }, + { + "amoeba_full", + "amoeba", + "amoeba with content" + }, + { + "bd_amoeba", + "bd_amoeba", + "amoeba (BD style)" + }, + { + "time_orb_full", + "time_orb_full", + "time orb (full)" + }, + { + "time_orb_empty", + "time_orb_empty", + "time orb (empty)" + }, + { + "expandable_wall", + "wall", + "growing wall" + }, + { + "bd_diamond", + "bd_diamond", + "diamond (BD style)" + }, + { + "emerald_yellow", + "emerald", + "yellow emerald" + }, + { + "wall_bd_diamond", + "wall", + "wall with BD style diamond" + }, + { + "wall_emerald_yellow", + "wall", + "wall with yellow emerald" + }, + { + "dark_yamyam", + "dark_yamyam", + "dark yam yam" + }, + { + "bd_magic_wall", + "bd_magic_wall", + "magic wall (BD style)" + }, + { + "invisible_steelwall", + "wall", + "invisible steel wall" + }, + { + "unused_63", + "unused", + "(not used)" + }, + { + "dynabomb_increase_number", + "dynabomb", + "increases number of bombs" + }, + { + "dynabomb_increase_size", + "dynabomb", + "increases explosion size" + }, + { + "dynabomb_increase_power", + "dynabomb", + "increases power of explosion" + }, + { + "sokoban_object", + "sokoban", + "sokoban object" + }, + { + "sokoban_field_empty", + "sokoban", + "sokoban empty field" + }, + { + "sokoban_field_full", + "sokoban", + "sokoban field with object" + }, + { + "bd_butterfly.right", + "bd_butterfly", + "butterfly (starts moving right)"}, + { + "bd_butterfly.up", + "bd_butterfly", + "butterfly (starts moving up)" + }, + { + "bd_butterfly.left", + "bd_butterfly", + "butterfly (starts moving left)"}, + { + "bd_butterfly.down", + "bd_butterfly", + "butterfly (starts moving down)"}, + { + "bd_firefly.right", + "bd_firefly", + "firefly (starts moving right)" + }, + { + "bd_firefly.up", + "bd_firefly", + "firefly (starts moving up)" + }, + { + "bd_firefly.left", + "bd_firefly", + "firefly (starts moving left)" + }, + { + "bd_firefly.down", + "bd_firefly", + "firefly (starts moving down)" + }, + { + "bd_butterfly", + "bd_butterfly", + "butterfly (random start direction)" + }, + { + "bd_firefly", + "bd_firefly", + "firefly (random start direction)" + }, + { + "player_1", + "player", + "yellow player" + }, + { + "player_2", + "player", + "red player" + }, + { + "player_3", + "player", + "green player" + }, + { + "player_4", + "player", + "blue player" + }, + { + "bug.right", + "bug", + "bug (starts moving right)" + }, + { + "bug.up", + "bug", + "bug (starts moving up)" + }, + { + "bug.left", + "bug", + "bug (starts moving left)" + }, + { + "bug.down", + "bug", + "bug (starts moving down)" + }, + { + "spaceship.right", + "spaceship", + "spaceship (starts moving right)"}, + { + "spaceship.up", + "spaceship", + "spaceship (starts moving up)" + }, + { + "spaceship.left", + "spaceship", + "spaceship (starts moving left)"}, + { + "spaceship.down", + "spaceship", + "spaceship (starts moving down)"}, + { + "pacman.right", + "pacman", + "pac man (starts moving right)" + }, + { + "pacman.up", + "pacman", + "pac man (starts moving up)" + }, + { + "pacman.left", + "pacman", + "pac man (starts moving left)" + }, + { + "pacman.down", + "pacman", + "pac man (starts moving down)" + }, + { + "emerald_red", + "emerald", + "red emerald" + }, + { + "emerald_purple", + "emerald", + "purple emerald" + }, + { + "wall_emerald_red", + "wall", + "wall with red emerald" + }, + { + "wall_emerald_purple", + "wall", + "wall with purple emerald" + }, + { + "acid_pool_topleft", + "wall", + "acid pool (top left)" + }, + { + "acid_pool_topright", + "wall", + "acid pool (top right)" + }, + { + "acid_pool_bottomleft", + "wall", + "acid pool (bottom left)" + }, + { + "acid_pool_bottom", + "wall", + "acid pool (bottom)" + }, + { + "acid_pool_bottomright", + "wall", + "acid pool (bottom right)" + }, + { + "bd_wall", + "wall", + "normal wall (BD style)" + }, + { + "bd_rock", + "bd_rock", + "rock (BD style)" + }, + { + "exit_open", + "exit", + "open exit" + }, + { + "black_orb", + "black_orb", + "bomb" + }, + { + "amoeba_to_diamond", + "amoeba", + "amoeba" + }, + { + "mole", + "mole", + "mole (random start direction)" + }, + { + "penguin", + "penguin", + "penguin" + }, + { + "satellite", + "satellite", + "satellite" + }, + { + "arrow_left", + "arrow", + "arrow left" + }, + { + "arrow_right", + "arrow", + "arrow right" + }, + { + "arrow_up", + "arrow", + "arrow up" + }, + { + "arrow_down", + "arrow", + "arrow down" + }, + { + "pig", + "pig", + "pig" + }, + { + "dragon", + "dragon", + "fire breathing dragon" + }, + { + "em_key_1_file_obsolete", + "obsolete", + "key (OBSOLETE)" + }, + { + "char_space", + "char", + "letter ' '" + }, + { + "char_exclam", + "char", + "letter '!'" + }, + { + "char_quotedbl", + "char", + "letter '\"'" + }, + { + "char_numbersign", + "char", + "letter '#'" + }, + { + "char_dollar", + "char", + "letter '$'" + }, + { + "char_procent", + "char", + "letter '%'" + }, + { + "char_ampersand", + "char", + "letter '&'" + }, + { + "char_apostrophe", + "char", + "letter '''" + }, + { + "char_parenleft", + "char", + "letter '('" + }, + { + "char_parenright", + "char", + "letter ')'" + }, + { + "char_asterisk", + "char", + "letter '*'" + }, + { + "char_plus", + "char", + "letter '+'" + }, + { + "char_comma", + "char", + "letter ','" + }, + { + "char_minus", + "char", + "letter '-'" + }, + { + "char_period", + "char", + "letter '.'" + }, + { + "char_slash", + "char", + "letter '/'" + }, + { + "char_0", + "char", + "letter '0'" + }, + { + "char_1", + "char", + "letter '1'" + }, + { + "char_2", + "char", + "letter '2'" + }, + { + "char_3", + "char", + "letter '3'" + }, + { + "char_4", + "char", + "letter '4'" + }, + { + "char_5", + "char", + "letter '5'" + }, + { + "char_6", + "char", + "letter '6'" + }, + { + "char_7", + "char", + "letter '7'" + }, + { + "char_8", + "char", + "letter '8'" + }, + { + "char_9", + "char", + "letter '9'" + }, + { + "char_colon", + "char", + "letter ':'" + }, + { + "char_semicolon", + "char", + "letter ';'" + }, + { + "char_less", + "char", + "letter '<'" + }, + { + "char_equal", + "char", + "letter '='" + }, + { + "char_greater", + "char", + "letter '>'" + }, + { + "char_question", + "char", + "letter '?'" + }, + { + "char_at", + "char", + "letter '@'" + }, + { + "char_a", + "char", + "letter 'A'" + }, + { + "char_b", + "char", + "letter 'B'" + }, + { + "char_c", + "char", + "letter 'C'" + }, + { + "char_d", + "char", + "letter 'D'" + }, + { + "char_e", + "char", + "letter 'E'" + }, + { + "char_f", + "char", + "letter 'F'" + }, + { + "char_g", + "char", + "letter 'G'" + }, + { + "char_h", + "char", + "letter 'H'" + }, + { + "char_i", + "char", + "letter 'I'" + }, + { + "char_j", + "char", + "letter 'J'" + }, + { + "char_k", + "char", + "letter 'K'" + }, + { + "char_l", + "char", + "letter 'L'" + }, + { + "char_m", + "char", + "letter 'M'" + }, + { + "char_n", + "char", + "letter 'N'" + }, + { + "char_o", + "char", + "letter 'O'" + }, + { + "char_p", + "char", + "letter 'P'" + }, + { + "char_q", + "char", + "letter 'Q'" + }, + { + "char_r", + "char", + "letter 'R'" + }, + { + "char_s", + "char", + "letter 'S'" + }, + { + "char_t", + "char", + "letter 'T'" + }, + { + "char_u", + "char", + "letter 'U'" + }, + { + "char_v", + "char", + "letter 'V'" + }, + { + "char_w", + "char", + "letter 'W'" + }, + { + "char_x", + "char", + "letter 'X'" + }, + { + "char_y", + "char", + "letter 'Y'" + }, + { + "char_z", + "char", + "letter 'Z'" + }, + { + "char_bracketleft", + "char", + "letter '['" + }, + { + "char_backslash", + "char", + "letter '\\'" + }, + { + "char_bracketright", + "char", + "letter ']'" + }, + { + "char_asciicircum", + "char", + "letter '^'" + }, + { + "char_underscore", + "char", + "letter '_'" + }, + { + "char_copyright", + "char", + "letter '©'" + }, + { + "char_aumlaut", + "char", + "letter 'Ä'" + }, + { + "char_oumlaut", + "char", + "letter 'Ö'" + }, + { + "char_uumlaut", + "char", + "letter 'Ü'" + }, + { + "char_degree", + "char", + "letter '°'" + }, + { + "char_trademark", + "char", + "letter '®'" + }, + { + "char_cursor", + "char", + "letter ' '" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "char_unused", + "char", + "letter ''" + }, + { + "expandable_wall_horizontal", + "wall", + "growing wall (horizontal)" + }, + { + "expandable_wall_vertical", + "wall", + "growing wall (vertical)" + }, + { + "expandable_wall_any", + "wall", + "growing wall (any direction)" + }, + { + "em_gate_1", + "gate", + "red door (EM style)" + }, + { + "em_gate_2", + "gate", + "yellow door (EM style)" + }, + { + "em_gate_3", + "gate", + "green door (EM style)" + }, + { + "em_gate_4", + "gate", + "blue door (EM style)" + }, + { + "em_key_2_file_obsolete", + "obsolete", + "key (OBSOLETE)" + }, + { + "em_key_3_file_obsolete", + "obsolete", + "key (OBSOLETE)" + }, + { + "em_key_4_file_obsolete", + "obsolete", + "key (OBSOLETE)" + }, + { + "sp_empty_space", + "empty_space", + "empty space" + }, + { + "sp_zonk", + "sp_zonk", + "zonk" + }, + { + "sp_base", + "sp_base", + "base" + }, + { + "sp_murphy", + "player", + "murphy" + }, + { + "sp_infotron", + "sp_infotron", + "infotron" + }, + { + "sp_chip_single", + "wall", + "chip (single)" + }, + { + "sp_hardware_gray", + "wall", + "hardware" + }, + { + "sp_exit_closed", + "sp_exit", + "exit" + }, + { + "sp_disk_orange", + "sp_disk_orange", + "orange disk" + }, + { + "sp_port_right", + "sp_port", + "port (leading right)" + }, + { + "sp_port_down", + "sp_port", + "port (leading down)" + }, + { + "sp_port_left", + "sp_port", + "port (leading left)" + }, + { + "sp_port_up", + "sp_port", + "port (leading up)" + }, + { + "sp_gravity_port_right", + "sp_port", + "gravity port (leading right)" + }, + { + "sp_gravity_port_down", + "sp_port", + "gravity port (leading down)" + }, + { + "sp_gravity_port_left", + "sp_port", + "gravity port (leading left)" + }, + { + "sp_gravity_port_up", + "sp_port", + "gravity port (leading up)" + }, + { + "sp_sniksnak", + "sp_sniksnak", + "snik snak" + }, + { + "sp_disk_yellow", + "sp_disk_yellow", + "yellow disk" + }, + { + "sp_terminal", + "sp_terminal", + "terminal" + }, + { + "sp_disk_red", + "dynamite", + "red disk" + }, + { + "sp_port_vertical", + "sp_port", + "port (vertical)" + }, + { + "sp_port_horizontal", + "sp_port", + "port (horizontal)" + }, + { + "sp_port_any", + "sp_port", + "port (any direction)" + }, + { + "sp_electron", + "sp_electron", + "electron" + }, + { + "sp_buggy_base", + "sp_buggy_base", + "buggy base" + }, + { + "sp_chip_left", + "wall", + "chip (left half)" + }, + { + "sp_chip_right", + "wall", + "chip (right half)" + }, + { + "sp_hardware_base_1", + "wall", + "hardware" + }, + { + "sp_hardware_green", + "wall", + "hardware" + }, + { + "sp_hardware_blue", + "wall", + "hardware" + }, + { + "sp_hardware_red", + "wall", + "hardware" + }, + { + "sp_hardware_yellow", + "wall", + "hardware" + }, + { + "sp_hardware_base_2", + "wall", + "hardware" + }, + { + "sp_hardware_base_3", + "wall", + "hardware" + }, + { + "sp_hardware_base_4", + "wall", + "hardware" + }, + { + "sp_hardware_base_5", + "wall", + "hardware" + }, + { + "sp_hardware_base_6", + "wall", + "hardware" + }, + { + "sp_chip_top", + "wall", + "chip (upper half)" + }, + { + "sp_chip_bottom", + "wall", + "chip (lower half)" + }, + { + "em_gate_1_gray", + "gate", + "gray door (EM style, red key)" + }, + { + "em_gate_2_gray", + "gate", + "gray door (EM style, yellow key)" + }, + { + "em_gate_3_gray", + "gate", + "gray door (EM style, green key)" + }, + { + "em_gate_4_gray", + "gate", + "gray door (EM style, blue key)" + }, + { + "unused_254", + "unused", + "(not used)" + }, + { + "unused_255", + "unused", + "(not used)" + }, + { + "pearl", + "pearl", + "pearl" + }, + { + "crystal", + "crystal", + "crystal" + }, + { + "wall_pearl", + "wall", + "wall with pearl" + }, + { + "wall_crystal", + "wall", + "wall with crystal" + }, + { + "door_white", + "gate", + "white door" + }, + { + "door_white_gray", + "gate", + "gray door (opened by white key)" + }, + { + "key_white", + "key", + "white key" + }, + { + "shield_normal", + "shield_normal", + "shield (normal)" + }, + { + "extra_time", + "extra_time", + "extra time" + }, + { + "switchgate_open", + "switchgate", + "switch gate (open)" + }, + { + "switchgate_closed", + "switchgate", + "switch gate (closed)" + }, + { + "switchgate_switch_up", + "switchgate_switch", + "switch for switch gate" + }, + { + "switchgate_switch_down", + "switchgate_switch", + "switch for switch gate" + }, + { + "unused_269", + "unused", + "-" + }, + { + "unused_270", + "unused", + "-" + }, + { + "conveyor_belt_1_left", + "conveyor_belt", + "red conveyor belt (left)" + }, + { + "conveyor_belt_1_middle", + "conveyor_belt", + "red conveyor belt (middle)" + }, + { + "conveyor_belt_1_right", + "conveyor_belt", + "red conveyor belt (right)" + }, + { + "conveyor_belt_1_switch_left", + "conveyor_belt_switch", + "switch for red conveyor belt (left)" + }, + { + "conveyor_belt_1_switch_middle", + "conveyor_belt_switch", + "switch for red conveyor belt (middle)" + }, + { + "conveyor_belt_1_switch_right", + "conveyor_belt_switch", + "switch for red conveyor belt (right)" + }, + { + "conveyor_belt_2_left", + "conveyor_belt", + "yellow conveyor belt (left)" + }, + { + "conveyor_belt_2_middle", + "conveyor_belt", + "yellow conveyor belt (middle)" + }, + { + "conveyor_belt_2_right", + "conveyor_belt", + "yellow conveyor belt (right)" + }, + { + "conveyor_belt_2_switch_left", + "conveyor_belt_switch", + "switch for yellow conveyor belt (left)" + }, + { + "conveyor_belt_2_switch_middle", + "conveyor_belt_switch", + "switch for yellow conveyor belt (middle)" + }, + { + "conveyor_belt_2_switch_right", + "conveyor_belt_switch", + "switch for yellow conveyor belt (right)" + }, + { + "conveyor_belt_3_left", + "conveyor_belt", + "green conveyor belt (left)" + }, + { + "conveyor_belt_3_middle", + "conveyor_belt", + "green conveyor belt (middle)" + }, + { + "conveyor_belt_3_right", + "conveyor_belt", + "green conveyor belt (right)" + }, + { + "conveyor_belt_3_switch_left", + "conveyor_belt_switch", + "switch for green conveyor belt (left)" + }, + { + "conveyor_belt_3_switch_middle", + "conveyor_belt_switch", + "switch for green conveyor belt (middle)" + }, + { + "conveyor_belt_3_switch_right", + "conveyor_belt_switch", + "switch for green conveyor belt (right)" + }, + { + "conveyor_belt_4_left", + "conveyor_belt", + "blue conveyor belt (left)" + }, + { + "conveyor_belt_4_middle", + "conveyor_belt", + "blue conveyor belt (middle)" + }, + { + "conveyor_belt_4_right", + "conveyor_belt", + "blue conveyor belt (right)" + }, + { + "conveyor_belt_4_switch_left", + "conveyor_belt_switch", + "switch for blue conveyor belt (left)" + }, + { + "conveyor_belt_4_switch_middle", + "conveyor_belt_switch", + "switch for blue conveyor belt (middle)" + }, + { + "conveyor_belt_4_switch_right", + "conveyor_belt_switch", + "switch for blue conveyor belt (right)" + }, + { + "landmine", + "sand", + "land mine" + }, + { + "envelope_obsolete", + "obsolete", + "envelope (OBSOLETE)" + }, + { + "light_switch", + "light_switch", + "light switch (off)" + }, + { + "light_switch.active", + "light_switch", + "light switch (on)" + }, + { + "sign_exclamation", + "wall", + "sign (exclamation)" + }, + { + "sign_radioactivity", + "wall", + "sign (radio activity)" + }, + { + "sign_stop", + "wall", + "sign (stop)" + }, + { + "sign_wheelchair", + "wall", + "sign (wheel chair)" + }, + { + "sign_parking", + "wall", + "sign (parking)" + }, + { + "sign_oneway", + "wall", + "sign (one way)" + }, + { + "sign_heart", + "wall", + "sign (heart)" + }, + { + "sign_triangle", + "wall", + "sign (triangle)" + }, + { + "sign_round", + "wall", + "sign (round)" + }, + { + "sign_exit", + "wall", + "sign (exit)" + }, + { + "sign_yinyang", + "wall", + "sign (yin yang)" + }, + { + "sign_other", + "wall", + "sign (other)" + }, + { + "mole.left", + "mole", + "mole (starts moving left)" + }, + { + "mole.right", + "mole", + "mole (starts moving right)" + }, + { + "mole.up", + "mole", + "mole (starts moving up)" + }, + { + "mole.down", + "mole", + "mole (starts moving down)" + }, + { + "steelwall_slippery", + "wall", + "slippery steel wall" + }, + { + "invisible_sand", + "sand", + "invisible sand" + }, + { + "dx_unknown_15", + "unknown", + "dx unknown element 15" + }, + { + "dx_unknown_42", + "unknown", + "dx unknown element 42" + }, + { + "unused_319", + "unused", + "(not used)" + }, + { + "unused_320", + "unused", + "(not used)" + }, + { + "shield_deadly", + "shield_deadly", + "shield (deadly, kills enemies)" + }, + { + "timegate_open", + "timegate", + "time gate (open)" + }, + { + "timegate_closed", + "timegate", + "time gate (closed)" + }, + { + "timegate_switch.active", + "timegate_switch", + "switch for time gate" + }, + { + "timegate_switch", + "timegate_switch", + "switch for time gate" + }, + { + "balloon", + "balloon", + "balloon" + }, + { + "balloon_switch_left", + "balloon_switch", + "send balloon to the left" + }, + { + "balloon_switch_right", + "balloon_switch", + "send balloon to the right" + }, + { + "balloon_switch_up", + "balloon_switch", + "send balloon up" + }, + { + "balloon_switch_down", + "balloon_switch", + "send balloon down" + }, + { + "balloon_switch_any", + "balloon_switch", + "send balloon in any direction" + }, + { + "emc_steelwall_1", + "wall", + "steel wall" + }, + { + "emc_steelwall_2", + "wall", + "steel wall" + }, + { + "emc_steelwall_3", + "wall", + "steel wall" + }, + { + "emc_steelwall_4", + "wall", + "steel wall" + }, + { + "emc_wall_1", + "wall", + "normal wall" + }, + { + "emc_wall_2", + "wall", + "normal wall" + }, + { + "emc_wall_3", + "wall", + "normal wall" + }, + { + "emc_wall_4", + "wall", + "normal wall" + }, + { + "emc_wall_5", + "wall", + "normal wall" + }, + { + "emc_wall_6", + "wall", + "normal wall" + }, + { + "emc_wall_7", + "wall", + "normal wall" + }, + { + "emc_wall_8", + "wall", + "normal wall" + }, + { + "tube_any", + "tube", + "tube (any direction)" + }, + { + "tube_vertical", + "tube", + "tube (vertical)" + }, + { + "tube_horizontal", + "tube", + "tube (horizontal)" + }, + { + "tube_vertical_left", + "tube", + "tube (vertical & left)" + }, + { + "tube_vertical_right", + "tube", + "tube (vertical & right)" + }, + { + "tube_horizontal_up", + "tube", + "tube (horizontal & up)" + }, + { + "tube_horizontal_down", + "tube", + "tube (horizontal & down)" + }, + { + "tube_left_up", + "tube", + "tube (left & up)" + }, + { + "tube_left_down", + "tube", + "tube (left & down)" + }, + { + "tube_right_up", + "tube", + "tube (right & up)" + }, + { + "tube_right_down", + "tube", + "tube (right & down)" + }, + { + "spring", + "spring", + "spring" + }, + { + "trap", + "trap", + "trap" + }, + { + "dx_supabomb", + "bomb", + "stable bomb (DX style)" + }, + { + "unused_358", + "unused", + "-" + }, + { + "unused_359", + "unused", + "-" + }, + { + "custom_1", + "custom", + "custom element 1" + }, + { + "custom_2", + "custom", + "custom element 2" + }, + { + "custom_3", + "custom", + "custom element 3" + }, + { + "custom_4", + "custom", + "custom element 4" + }, + { + "custom_5", + "custom", + "custom element 5" + }, + { + "custom_6", + "custom", + "custom element 6" + }, + { + "custom_7", + "custom", + "custom element 7" + }, + { + "custom_8", + "custom", + "custom element 8" + }, + { + "custom_9", + "custom", + "custom element 9" + }, + { + "custom_10", + "custom", + "custom element 10" + }, + { + "custom_11", + "custom", + "custom element 11" + }, + { + "custom_12", + "custom", + "custom element 12" + }, + { + "custom_13", + "custom", + "custom element 13" + }, + { + "custom_14", + "custom", + "custom element 14" + }, + { + "custom_15", + "custom", + "custom element 15" + }, + { + "custom_16", + "custom", + "custom element 16" + }, + { + "custom_17", + "custom", + "custom element 17" + }, + { + "custom_18", + "custom", + "custom element 18" + }, + { + "custom_19", + "custom", + "custom element 19" + }, + { + "custom_20", + "custom", + "custom element 20" + }, + { + "custom_21", + "custom", + "custom element 21" + }, + { + "custom_22", + "custom", + "custom element 22" + }, + { + "custom_23", + "custom", + "custom element 23" + }, + { + "custom_24", + "custom", + "custom element 24" + }, + { + "custom_25", + "custom", + "custom element 25" + }, + { + "custom_26", + "custom", + "custom element 26" + }, + { + "custom_27", + "custom", + "custom element 27" + }, + { + "custom_28", + "custom", + "custom element 28" + }, + { + "custom_29", + "custom", + "custom element 29" + }, + { + "custom_30", + "custom", + "custom element 30" + }, + { + "custom_31", + "custom", + "custom element 31" + }, + { + "custom_32", + "custom", + "custom element 32" + }, + { + "custom_33", + "custom", + "custom element 33" + }, + { + "custom_34", + "custom", + "custom element 34" + }, + { + "custom_35", + "custom", + "custom element 35" + }, + { + "custom_36", + "custom", + "custom element 36" + }, + { + "custom_37", + "custom", + "custom element 37" + }, + { + "custom_38", + "custom", + "custom element 38" + }, + { + "custom_39", + "custom", + "custom element 39" + }, + { + "custom_40", + "custom", + "custom element 40" + }, + { + "custom_41", + "custom", + "custom element 41" + }, + { + "custom_42", + "custom", + "custom element 42" + }, + { + "custom_43", + "custom", + "custom element 43" + }, + { + "custom_44", + "custom", + "custom element 44" + }, + { + "custom_45", + "custom", + "custom element 45" + }, + { + "custom_46", + "custom", + "custom element 46" + }, + { + "custom_47", + "custom", + "custom element 47" + }, + { + "custom_48", + "custom", + "custom element 48" + }, + { + "custom_49", + "custom", + "custom element 49" + }, + { + "custom_50", + "custom", + "custom element 50" + }, + { + "custom_51", + "custom", + "custom element 51" + }, + { + "custom_52", + "custom", + "custom element 52" + }, + { + "custom_53", + "custom", + "custom element 53" + }, + { + "custom_54", + "custom", + "custom element 54" + }, + { + "custom_55", + "custom", + "custom element 55" + }, + { + "custom_56", + "custom", + "custom element 56" + }, + { + "custom_57", + "custom", + "custom element 57" + }, + { + "custom_58", + "custom", + "custom element 58" + }, + { + "custom_59", + "custom", + "custom element 59" + }, + { + "custom_60", + "custom", + "custom element 60" + }, + { + "custom_61", + "custom", + "custom element 61" + }, + { + "custom_62", + "custom", + "custom element 62" + }, + { + "custom_63", + "custom", + "custom element 63" + }, + { + "custom_64", + "custom", + "custom element 64" + }, + { + "custom_65", + "custom", + "custom element 65" + }, + { + "custom_66", + "custom", + "custom element 66" + }, + { + "custom_67", + "custom", + "custom element 67" + }, + { + "custom_68", + "custom", + "custom element 68" + }, + { + "custom_69", + "custom", + "custom element 69" + }, + { + "custom_70", + "custom", + "custom element 70" + }, + { + "custom_71", + "custom", + "custom element 71" + }, + { + "custom_72", + "custom", + "custom element 72" + }, + { + "custom_73", + "custom", + "custom element 73" + }, + { + "custom_74", + "custom", + "custom element 74" + }, + { + "custom_75", + "custom", + "custom element 75" + }, + { + "custom_76", + "custom", + "custom element 76" + }, + { + "custom_77", + "custom", + "custom element 77" + }, + { + "custom_78", + "custom", + "custom element 78" + }, + { + "custom_79", + "custom", + "custom element 79" + }, + { + "custom_80", + "custom", + "custom element 80" + }, + { + "custom_81", + "custom", + "custom element 81" + }, + { + "custom_82", + "custom", + "custom element 82" + }, + { + "custom_83", + "custom", + "custom element 83" + }, + { + "custom_84", + "custom", + "custom element 84" + }, + { + "custom_85", + "custom", + "custom element 85" + }, + { + "custom_86", + "custom", + "custom element 86" + }, + { + "custom_87", + "custom", + "custom element 87" + }, + { + "custom_88", + "custom", + "custom element 88" + }, + { + "custom_89", + "custom", + "custom element 89" + }, + { + "custom_90", + "custom", + "custom element 90" + }, + { + "custom_91", + "custom", + "custom element 91" + }, + { + "custom_92", + "custom", + "custom element 92" + }, + { + "custom_93", + "custom", + "custom element 93" + }, + { + "custom_94", + "custom", + "custom element 94" + }, + { + "custom_95", + "custom", + "custom element 95" + }, + { + "custom_96", + "custom", + "custom element 96" + }, + { + "custom_97", + "custom", + "custom element 97" + }, + { + "custom_98", + "custom", + "custom element 98" + }, + { + "custom_99", + "custom", + "custom element 99" + }, + { + "custom_100", + "custom", + "custom element 100" + }, + { + "custom_101", + "custom", + "custom element 101" + }, + { + "custom_102", + "custom", + "custom element 102" + }, + { + "custom_103", + "custom", + "custom element 103" + }, + { + "custom_104", + "custom", + "custom element 104" + }, + { + "custom_105", + "custom", + "custom element 105" + }, + { + "custom_106", + "custom", + "custom element 106" + }, + { + "custom_107", + "custom", + "custom element 107" + }, + { + "custom_108", + "custom", + "custom element 108" + }, + { + "custom_109", + "custom", + "custom element 109" + }, + { + "custom_110", + "custom", + "custom element 110" + }, + { + "custom_111", + "custom", + "custom element 111" + }, + { + "custom_112", + "custom", + "custom element 112" + }, + { + "custom_113", + "custom", + "custom element 113" + }, + { + "custom_114", + "custom", + "custom element 114" + }, + { + "custom_115", + "custom", + "custom element 115" + }, + { + "custom_116", + "custom", + "custom element 116" + }, + { + "custom_117", + "custom", + "custom element 117" + }, + { + "custom_118", + "custom", + "custom element 118" + }, + { + "custom_119", + "custom", + "custom element 119" + }, + { + "custom_120", + "custom", + "custom element 120" + }, + { + "custom_121", + "custom", + "custom element 121" + }, + { + "custom_122", + "custom", + "custom element 122" + }, + { + "custom_123", + "custom", + "custom element 123" + }, + { + "custom_124", + "custom", + "custom element 124" + }, + { + "custom_125", + "custom", + "custom element 125" + }, + { + "custom_126", + "custom", + "custom element 126" + }, + { + "custom_127", + "custom", + "custom element 127" + }, + { + "custom_128", + "custom", + "custom element 128" + }, + { + "custom_129", + "custom", + "custom element 129" + }, + { + "custom_130", + "custom", + "custom element 130" + }, + { + "custom_131", + "custom", + "custom element 131" + }, + { + "custom_132", + "custom", + "custom element 132" + }, + { + "custom_133", + "custom", + "custom element 133" + }, + { + "custom_134", + "custom", + "custom element 134" + }, + { + "custom_135", + "custom", + "custom element 135" + }, + { + "custom_136", + "custom", + "custom element 136" + }, + { + "custom_137", + "custom", + "custom element 137" + }, + { + "custom_138", + "custom", + "custom element 138" + }, + { + "custom_139", + "custom", + "custom element 139" + }, + { + "custom_140", + "custom", + "custom element 140" + }, + { + "custom_141", + "custom", + "custom element 141" + }, + { + "custom_142", + "custom", + "custom element 142" + }, + { + "custom_143", + "custom", + "custom element 143" + }, + { + "custom_144", + "custom", + "custom element 144" + }, + { + "custom_145", + "custom", + "custom element 145" + }, + { + "custom_146", + "custom", + "custom element 146" + }, + { + "custom_147", + "custom", + "custom element 147" + }, + { + "custom_148", + "custom", + "custom element 148" + }, + { + "custom_149", + "custom", + "custom element 149" + }, + { + "custom_150", + "custom", + "custom element 150" + }, + { + "custom_151", + "custom", + "custom element 151" + }, + { + "custom_152", + "custom", + "custom element 152" + }, + { + "custom_153", + "custom", + "custom element 153" + }, + { + "custom_154", + "custom", + "custom element 154" + }, + { + "custom_155", + "custom", + "custom element 155" + }, + { + "custom_156", + "custom", + "custom element 156" + }, + { + "custom_157", + "custom", + "custom element 157" + }, + { + "custom_158", + "custom", + "custom element 158" + }, + { + "custom_159", + "custom", + "custom element 159" + }, + { + "custom_160", + "custom", + "custom element 160" + }, + { + "custom_161", + "custom", + "custom element 161" + }, + { + "custom_162", + "custom", + "custom element 162" + }, + { + "custom_163", + "custom", + "custom element 163" + }, + { + "custom_164", + "custom", + "custom element 164" + }, + { + "custom_165", + "custom", + "custom element 165" + }, + { + "custom_166", + "custom", + "custom element 166" + }, + { + "custom_167", + "custom", + "custom element 167" + }, + { + "custom_168", + "custom", + "custom element 168" + }, + { + "custom_169", + "custom", + "custom element 169" + }, + { + "custom_170", + "custom", + "custom element 170" + }, + { + "custom_171", + "custom", + "custom element 171" + }, + { + "custom_172", + "custom", + "custom element 172" + }, + { + "custom_173", + "custom", + "custom element 173" + }, + { + "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" + }, + { + "em_key_1", + "key", + "red key (EM style)" + }, + { + "em_key_2", + "key", + "yellow key (EM style)" + }, + { + "em_key_3", + "key", + "green key (EM style)" + }, + { + "em_key_4", + "key", + "blue key (EM style)" + }, + { + "envelope_1", + "envelope", + "mail envelope 1" + }, + { + "envelope_2", + "envelope", + "mail envelope 2" + }, + { + "envelope_3", + "envelope", + "mail envelope 3" + }, + { + "envelope_4", + "envelope", + "mail envelope 4" + }, + + /* ----------------------------------------------------------------------- */ + /* "real" (and therefore drawable) runtime elements */ + /* ----------------------------------------------------------------------- */ + + { + "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.opening", + "sp_exit", + "-" + }, + { + "sp_exit.closing", + "sp_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 + } }; -/* this is used to reduce memory usage of the different animation types */ -int anim_action_mapping[] = -{ - 0, /* GFX_ACTION_UNKNOWN (0) */ - 0, /* GFX_ACTION_DEFAULT (1) */ - 0, /* GFX_ACTION_WAITING (2) */ - 1, /* GFX_ACTION_FALLING (3) */ - 2, /* GFX_ACTION_MOVING (4) */ - 3, /* GFX_ACTION_DIGGING (5) */ - 4, /* GFX_ACTION_COLLECTING (6) */ - 5, /* GFX_ACTION_PUSHING (7) */ +/* ------------------------------------------------------------------------- */ +/* element action and direction definitions */ +/* ------------------------------------------------------------------------- */ - 6, /* GFX_ACTION_PASSING (8) */ - 6, /* GFX_ACTION_IMPACT (9) */ - 6, /* GFX_ACTION_CRACKING (10) */ - 6, /* GFX_ACTION_ACTIVATING (11) */ - 6, /* GFX_ACTION_ACTIVE (12) */ - 6 /* GFX_ACTION_OTHER (13) */ +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 ConfigInfo image_config_suffix[] = +struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS + 1] = { - { ".xpos", "0" }, - { ".ypos", "0" }, - { ".frames", "1" }, -#if 0 - { ".start_frame", "-1" }, -#endif - { ".delay", "1" }, - { ".pingpong", "0" }, - { ".pingpong2", "0" }, - { ".reverse", "0" }, - { ".global_sync", "0" }, - { ".vertical", "0" }, + { ".left", MV_BIT_LEFT }, + { ".right", MV_BIT_RIGHT }, + { ".up", MV_BIT_UP }, + { ".down", MV_BIT_DOWN }, - { NULL, NULL } + { NULL, 0 } }; -struct ConfigInfo sound_config_suffix[] = +struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1] = { - { NULL, NULL } + { ".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 ConfigInfo image_config[] = +struct TokenIntPtrInfo image_config_vars[] = { - /* images for Emerald Mine style elements and actions */ - { "empty_space", "RocksElements.pcx" }, - { "empty_space.xpos", "7" }, - { "empty_space.ypos", "9" }, - { "empty_space.frames", "1" }, - - { "sand", "RocksElements.pcx" }, - { "sand.xpos", "0" }, - { "sand.ypos", "0" }, - { "sand.frames", "1" }, - { "sand_crumbled", "RocksElements.pcx" }, - { "sand_crumbled.xpos", "1" }, - { "sand_crumbled.ypos", "0" }, - { "sand_crumbled.frames", "1" }, - - { "quicksand_empty", "RocksElements.pcx" }, - { "quicksand_empty.xpos", "2" }, - { "quicksand_empty.ypos", "0" }, - { "quicksand_empty.frames", "1" }, - { "quicksand_full", "RocksElements.pcx" }, - { "quicksand_full.xpos", "3" }, - { "quicksand_full.ypos", "0" }, - { "quicksand_full.frames", "1" }, - { "quicksand_slipping", "RocksElements.pcx" }, - { "quicksand_slipping.xpos", "3" }, - { "quicksand_slipping.ypos", "0" }, - { "quicksand_slipping.frames", "1" }, - - { "steelwall", "RocksElements.pcx" }, - { "steelwall.xpos", "4" }, - { "steelwall.ypos", "0" }, - { "steelwall.frames", "1" }, - - { "wall", "RocksElements.pcx" }, - { "wall.xpos", "5" }, - { "wall.ypos", "0" }, - { "wall.frames", "1" }, - { "wall_crumbled", "RocksElements.pcx" }, - { "wall_crumbled.xpos", "6" }, - { "wall_crumbled.ypos", "0" }, - { "wall_crumbled.frames", "1" }, - - { "emerald", "RocksElements.pcx" }, - { "emerald.xpos", "8" }, - { "emerald.ypos", "0" }, - { "emerald.frames", "1" }, - { "emerald.falling", "RocksElements.pcx" }, - { "emerald.falling.xpos", "8" }, - { "emerald.falling.ypos", "0" }, - { "emerald.falling.frames", "2" }, - - { "diamond", "RocksElements.pcx" }, - { "diamond.xpos", "10" }, - { "diamond.ypos", "0" }, - { "diamond.frames", "1" }, - { "diamond.falling", "RocksElements.pcx" }, - { "diamond.falling.xpos", "10" }, - { "diamond.falling.ypos", "0" }, - { "diamond.falling.frames", "2" }, - - { "rock", "RocksElements.pcx" }, - { "rock.xpos", "12" }, - { "rock.ypos", "0" }, - { "rock.frames", "1" }, - { "rock.falling", "RocksElements.pcx" }, - { "rock.falling.xpos", "12" }, - { "rock.falling.ypos", "0" }, - { "rock.falling.frames", "1" }, - { "rock.pushing", "RocksElements.pcx" }, - { "rock.pushing.xpos", "12" }, - { "rock.pushing.ypos", "0" }, - { "rock.pushing.frames", "4" }, - - { "acidpool_topleft", "RocksElements.pcx" }, - { "acidpool_topleft.xpos", "0" }, - { "acidpool_topleft.ypos", "1" }, - { "acidpool_topleft.frames", "1" }, - { "acidpool_topright", "RocksElements.pcx" }, - { "acidpool_topright.xpos", "2" }, - { "acidpool_topright.ypos", "1" }, - { "acidpool_topright.frames", "1" }, - { "acidpool_bottomleft", "RocksElements.pcx" }, - { "acidpool_bottomleft.xpos", "0" }, - { "acidpool_bottomleft.ypos", "2" }, - { "acidpool_bottomleft.frames", "1" }, - { "acidpool_bottom", "RocksElements.pcx" }, - { "acidpool_bottom.xpos", "1" }, - { "acidpool_bottom.ypos", "2" }, - { "acidpool_bottom.frames", "1" }, - { "acidpool_bottomright", "RocksElements.pcx" }, - { "acidpool_bottomright.xpos", "2" }, - { "acidpool_bottomright.ypos", "2" }, - { "acidpool_bottomright.frames", "1" }, - - { "acid", "RocksElements.pcx" }, - { "acid.xpos", "12" }, - { "acid.ypos", "7" }, - { "acid.frames", "4" }, - - { "key1", "RocksElements.pcx" }, - { "key1.xpos", "4" }, - { "key1.ypos", "1" }, - { "key1.frames", "1" }, - { "key2", "RocksElements.pcx" }, - { "key2.xpos", "5" }, - { "key2.ypos", "1" }, - { "key2.frames", "1" }, - { "key3", "RocksElements.pcx" }, - { "key3.xpos", "6" }, - { "key3.ypos", "1" }, - { "key3.frames", "1" }, - { "key4", "RocksElements.pcx" }, - { "key4.xpos", "7" }, - { "key4.ypos", "1" }, - { "key4.frames", "1" }, - - { "gameoflife", "RocksElements.pcx" }, - { "gameoflife.xpos", "8" }, - { "gameoflife.ypos", "1" }, - { "gameoflife.frames", "1" }, - - { "biomaze", "RocksElements.pcx" }, - { "biomaze.xpos", "9" }, - { "biomaze.ypos", "1" }, - { "biomaze.frames", "1" }, - - { "bomb", "RocksElements.pcx" }, - { "bomb.xpos", "11" }, - { "bomb.ypos", "1" }, - { "bomb.frames", "1" }, - - { "nut", "RocksElements.pcx" }, - { "nut.xpos", "12" }, - { "nut.ypos", "1" }, - { "nut.frames", "1" }, - { "nut.cracking", "RocksElements.pcx" }, - { "nut.cracking.xpos", "13" }, - { "nut.cracking.ypos", "1" }, - { "nut.cracking.frames", "3" }, - - { "gate1", "RocksElements.pcx" }, - { "gate1.xpos", "4" }, - { "gate1.ypos", "2" }, - { "gate1.frames", "1" }, - { "gate2", "RocksElements.pcx" }, - { "gate2.xpos", "5" }, - { "gate2.ypos", "2" }, - { "gate2.frames", "1" }, - { "gate3", "RocksElements.pcx" }, - { "gate3.xpos", "6" }, - { "gate3.ypos", "2" }, - { "gate3.frames", "1" }, - { "gate4", "RocksElements.pcx" }, - { "gate4.xpos", "7" }, - { "gate4.ypos", "2" }, - { "gate4.frames", "1" }, - { "gate1_gray", "RocksElements.pcx" }, - { "gate1_gray.xpos", "8" }, - { "gate1_gray.ypos", "2" }, - { "gate1_gray.frames", "1" }, - { "gate2_gray", "RocksElements.pcx" }, - { "gate2_gray.xpos", "9" }, - { "gate2_gray.ypos", "2" }, - { "gate2_gray.frames", "1" }, - { "gate3_gray", "RocksElements.pcx" }, - { "gate3_gray.xpos", "10" }, - { "gate3_gray.ypos", "2" }, - { "gate3_gray.frames", "1" }, - { "gate4_gray", "RocksElements.pcx" }, - { "gate4_gray.xpos", "11" }, - { "gate4_gray.ypos", "2" }, - { "gate4_gray.frames", "1" }, - - { "dynamite", "RocksElements.pcx" }, - { "dynamite.xpos", "0" }, - { "dynamite.ypos", "3" }, - { "dynamite.frames", "1" }, - { "dynamite.actice", "RocksElements.pcx" }, - { "dynamite.actice.xpos", "1" }, - { "dynamite.actice.ypos", "3" }, - { "dynamite.actice.frames", "7" }, - - { "spaceship_right", "RocksElements.pcx" }, - { "spaceship_right.xpos", "8" }, - { "spaceship_right.ypos", "3" }, - { "spaceship_right.frames", "2" }, - { "spaceship_right.delay", "4" }, - { "spaceship_up", "RocksElements.pcx" }, - { "spaceship_up.xpos", "10" }, - { "spaceship_up.ypos", "3" }, - { "spaceship_up.frames", "2" }, - { "spaceship_up.delay", "4" }, - { "spaceship_left", "RocksElements.pcx" }, - { "spaceship_left.xpos", "12" }, - { "spaceship_left.ypos", "3" }, - { "spaceship_left.frames", "2" }, - { "spaceship_left.delay", "4" }, - { "spaceship_down", "RocksElements.pcx" }, - { "spaceship_down.xpos", "14" }, - { "spaceship_down.ypos", "3" }, - { "spaceship_down.frames", "2" }, - { "spaceship_down.delay", "4" }, - - { "bug_right", "RocksElements.pcx" }, - { "bug_right.xpos", "8" }, - { "bug_right.ypos", "4" }, - { "bug_right.frames", "2" }, - { "bug_right.delay", "4" }, - { "bug_up", "RocksElements.pcx" }, - { "bug_up.xpos", "10" }, - { "bug_up.ypos", "4" }, - { "bug_up.frames", "2" }, - { "bug_up.delay", "4" }, - { "bug_left", "RocksElements.pcx" }, - { "bug_left.xpos", "12" }, - { "bug_left.ypos", "4" }, - { "bug_left.frames", "2" }, - { "bug_left.delay", "4" }, - { "bug_down", "RocksElements.pcx" }, - { "bug_down.xpos", "14" }, - { "bug_down.ypos", "4" }, - { "bug_down.frames", "2" }, - { "bug_down.delay", "4" }, - - { "pacman_right", "RocksElements.pcx" }, - { "pacman_right.xpos", "8" }, - { "pacman_right.ypos", "5" }, - { "pacman_right.frames", "2" }, - { "pacman_right.reverse", "1" }, - { "pacman_right.delay", "4" }, - { "pacman_up", "RocksElements.pcx" }, - { "pacman_up.xpos", "10" }, - { "pacman_up.ypos", "5" }, - { "pacman_up.frames", "2" }, - { "pacman_up.reverse", "1" }, - { "pacman_up.delay", "4" }, - { "pacman_left", "RocksElements.pcx" }, - { "pacman_left.xpos", "12" }, - { "pacman_left.ypos", "5" }, - { "pacman_left.frames", "2" }, - { "pacman_left.reverse", "1" }, - { "pacman_left.delay", "4" }, - { "pacman_down", "RocksElements.pcx" }, - { "pacman_down.xpos", "14" }, - { "pacman_down.ypos", "5" }, - { "pacman_down.frames", "2" }, - { "pacman_down.reverse", "1" }, - { "pacman_down.delay", "4" }, - - { "explosion", "RocksElements.pcx" }, - { "explosion.xpos", "0" }, - { "explosion.ypos", "4" }, - { "explosion.frames", "8" }, - - { "yamyam", "RocksElements.pcx" }, - { "yamyam.xpos", "0" }, - { "yamyam.ypos", "5" }, - { "yamyam.frames", "4" }, - { "yamyam.pingpong", "1" }, - { "yamyam.moving", "RocksElements.pcx" }, - { "yamyam.moving.xpos", "0" }, - { "yamyam.moving.ypos", "5" }, - { "yamyam.moving.frames", "1" }, - - { "robot", "RocksElements.pcx" }, - { "robot.xpos", "4" }, - { "robot.ypos", "5" }, - { "robot.frames", "4" }, - { "robot.pingpong", "1" }, - { "robot_wheel", "RocksElements.pcx" }, - { "robot_wheel.xpos", "0" }, - { "robot_wheel.ypos", "6" }, - { "robot_wheel.frames", "1" }, - { "robot_wheel.active", "RocksElements.pcx" }, - { "robot_wheel.active.xpos", "0" }, - { "robot_wheel.active.ypos", "6" }, - { "robot_wheel.active.frames", "4" }, - - { "amoeba_drop", "RocksElements.pcx" }, - { "amoeba_drop.xpos", "5" }, - { "amoeba_drop.ypos", "6" }, - { "amoeba_drop.frames", "1" }, - { "amoeba.creating", "RocksElements.pcx" }, - { "amoeba.creating.xpos", "5" }, - { "amoeba.creating.ypos", "6" }, - { "amoeba.creating.frames", "3" }, - { "amoeba1", "RocksElements.pcx" }, - { "amoeba1.xpos", "8" }, - { "amoeba1.ypos", "6" }, - { "amoeba1.frames", "1" }, - { "amoeba2", "RocksElements.pcx" }, - { "amoeba2.xpos", "9" }, - { "amoeba2.ypos", "6" }, - { "amoeba2.frames", "1" }, - { "amoeba3", "RocksElements.pcx" }, - { "amoeba3.xpos", "10" }, - { "amoeba3.ypos", "6" }, - { "amoeba3.frames", "1" }, - { "amoeba4", "RocksElements.pcx" }, - { "amoeba4.xpos", "11" }, - { "amoeba4.ypos", "6" }, - { "amoeba4.frames", "1" }, - { "amoeba_dead1", "RocksElements.pcx" }, - { "amoeba_dead1.xpos", "12" }, - { "amoeba_dead1.ypos", "6" }, - { "amoeba_dead1.frames", "1" }, - { "amoeba_dead2", "RocksElements.pcx" }, - { "amoeba_dead2.xpos", "13" }, - { "amoeba_dead2.ypos", "6" }, - { "amoeba_dead2.frames", "1" }, - { "amoeba_dead3", "RocksElements.pcx" }, - { "amoeba_dead3.xpos", "14" }, - { "amoeba_dead3.ypos", "6" }, - { "amoeba_dead3.frames", "1" }, - { "amoeba_dead4", "RocksElements.pcx" }, - { "amoeba_dead4.xpos", "15" }, - { "amoeba_dead4.ypos", "6" }, - { "amoeba_dead4.frames", "1" }, - - { "lamp", "RocksElements.pcx" }, - { "lamp.xpos", "0" }, - { "lamp.ypos", "7" }, - { "lamp.frames", "1" }, - { "lamp.active", "RocksElements.pcx" }, - { "lamp.active.xpos", "1" }, - { "lamp.active.ypos", "7" }, - { "lamp.active.frames", "1" }, - - { "time_orb_full", "RocksElements.pcx" }, - { "time_orb_full.xpos", "2" }, - { "time_orb_full.ypos", "7" }, - { "time_orb_full.frames", "1" }, - { "time_orb_empty", "RocksElements.pcx" }, - { "time_orb_empty.xpos", "3" }, - { "time_orb_empty.ypos", "7" }, - { "time_orb_empty.frames", "1" }, - - { "bd_amoeba", "RocksElements.pcx" }, - { "bd_amoeba.xpos", "8" }, - { "bd_amoeba.ypos", "7" }, - { "bd_amoeba.frames", "1" }, - - { "sokoban_object", "RocksElements.pcx" }, - { "sokoban_object.xpos", "9" }, - { "sokoban_object.ypos", "7" }, - { "sokoban_object.frames", "1" }, - { "sokoban_field_empty", "RocksElements.pcx" }, - { "sokoban_field_empty.xpos", "10" }, - { "sokoban_field_empty.ypos", "7" }, - { "sokoban_field_empty.frames", "1" }, - { "sokoban_field_full", "RocksElements.pcx" }, - { "sokoban_field_full.xpos", "11" }, - { "sokoban_field_full.ypos", "7" }, - { "sokoban_field_full.frames", "1" }, - - { "magic_wall", "RocksElements.pcx" }, - { "magic_wall.xpos", "0" }, - { "magic_wall.ypos", "8" }, - { "magic_wall.frames", "1" }, - { "magic_wall.active", "RocksElements.pcx" }, - { "magic_wall.active.xpos", "0" }, - { "magic_wall.active.ypos", "8" }, - { "magic_wall.active.frames", "4" }, - - { "bd_magic_wall", "RocksElements.pcx" }, - { "bd_magic_wall.xpos", "12" }, - { "bd_magic_wall.ypos", "10" }, - { "bd_magic_wall.frames", "1" }, - { "bd_magic_wall.active", "RocksElements.pcx" }, - { "bd_magic_wall.active.xpos", "12" }, - { "bd_magic_wall.active.ypos", "10" }, - { "bd_magic_wall.active.frames", "4" }, - - { "wall_emerald", "RocksElements.pcx" }, - { "wall_emerald.xpos", "4" }, - { "wall_emerald.ypos", "8" }, - { "wall_emerald.frames", "1" }, - { "wall_diamond", "RocksElements.pcx" }, - { "wall_diamond.xpos", "5" }, - { "wall_diamond.ypos", "8" }, - { "wall_diamond.frames", "1" }, - { "wall_emerald_red", "RocksElements.pcx" }, - { "wall_emerald_red.xpos", "6" }, - { "wall_emerald_red.ypos", "8" }, - { "wall_emerald_red.frames", "1" }, - { "wall_emerald_purple", "RocksElements.pcx" }, - { "wall_emerald_purple.xpos", "7" }, - { "wall_emerald_purple.ypos", "8" }, - { "wall_emerald_purple.frames", "1" }, - { "wall_emerald_yellow", "RocksElements.pcx" }, - { "wall_emerald_yellow.xpos", "8" }, - { "wall_emerald_yellow.ypos", "8" }, - { "wall_emerald_yellow.frames", "1" }, - { "wall_bd_diamond", "RocksElements.pcx" }, - { "wall_bd_diamond.xpos", "9" }, - { "wall_bd_diamond.ypos", "8" }, - { "wall_bd_diamond.frames", "1" }, - - { "emerald_red", "RocksElements.pcx" }, - { "emerald_red.xpos", "8" }, - { "emerald_red.ypos", "9" }, - { "emerald_red.frames", "1" }, - { "emerald_red.falling", "RocksElements.pcx" }, - { "emerald_red.falling.xpos", "8" }, - { "emerald_red.falling.ypos", "9" }, - { "emerald_red.falling.frames", "2" }, - { "emerald_purple", "RocksElements.pcx" }, - { "emerald_purple.xpos", "10" }, - { "emerald_purple.ypos", "9" }, - { "emerald_purple.frames", "1" }, - { "emerald_purple.falling", "RocksElements.pcx" }, - { "emerald_purple.falling.xpos", "10" }, - { "emerald_purple.falling.ypos", "9" }, - { "emerald_purple.falling.frames", "2" }, - { "emerald_yellow", "RocksElements.pcx" }, - { "emerald_yellow.xpos", "10" }, - { "emerald_yellow.ypos", "8" }, - { "emerald_yellow.frames", "1" }, - { "emerald_yellow.falling", "RocksElements.pcx" }, - { "emerald_yellow.falling.xpos", "10" }, - { "emerald_yellow.falling.ypos", "8" }, - { "emerald_yellow.falling.frames", "2" }, - - { "wall_growing_xy", "RocksElements.pcx" }, - { "wall_growing_xy.xpos", "4" }, - { "wall_growing_xy.ypos", "9" }, - { "wall_growing_xy.frames", "1" }, - { "wall_growing_x", "RocksElements.pcx" }, - { "wall_growing_x.xpos", "5" }, - { "wall_growing_x.ypos", "9" }, - { "wall_growing_x.frames", "1" }, - { "wall_growing_y", "RocksElements.pcx" }, - { "wall_growing_y.xpos", "6" }, - { "wall_growing_y.ypos", "9" }, - { "wall_growing_y.frames", "1" }, - - { "dynabomb_xl", "RocksElements.pcx" }, - { "dynabomb_xl.xpos", "12" }, - { "dynabomb_xl.ypos", "9" }, - { "dynabomb_xl.frames", "1" }, - - { "black_orb", "RocksElements.pcx" }, - { "black_orb.xpos", "13" }, - { "black_orb.ypos", "9" }, - { "black_orb.frames", "1" }, - - { "speed_pill", "RocksElements.pcx" }, - { "speed_pill.xpos", "14" }, - { "speed_pill.ypos", "9" }, - { "speed_pill.frames", "1" }, - - { "bd_diamond", "RocksElements.pcx" }, - { "bd_diamond.xpos", "0" }, - { "bd_diamond.ypos", "10" }, - { "bd_diamond.frames", "4" }, - { "bd_diamond.falling", "RocksElements.pcx" }, - { "bd_diamond.falling.xpos", "3" }, - { "bd_diamond.falling.ypos", "10" }, - { "bd_diamond.falling.frames", "2" }, - - { "wall.growing_right", "RocksElements.pcx" }, - { "wall.growing_right.xpos", "5" }, - { "wall.growing_right.ypos", "10" }, - { "wall.growing_right.frames", "3" }, - { "wall.growing_left", "RocksElements.pcx" }, - { "wall.growing_left.xpos", "8" }, - { "wall.growing_left.ypos", "10" }, - { "wall.growing_left.frames", "3" }, - - { "exit_closed", "RocksElements.pcx" }, - { "exit_closed.xpos", "0" }, - { "exit_closed.ypos", "11" }, - { "exit_closed.frames", "1" }, - { "exit.opening", "RocksElements.pcx" }, - { "exit.opening.xpos", "1" }, - { "exit.opening.ypos", "11" }, - { "exit.opening.frames", "4" }, - { "exit_open", "RocksElements.pcx" }, - { "exit_open.xpos", "4" }, - { "exit_open.ypos", "11" }, - { "exit_open.frames", "4" }, - { "exit_open.pingpong", "1" }, - - { "dark_yamyam", "RocksElements.pcx" }, - { "dark_yamyam.xpos", "8" }, - { "dark_yamyam.ypos", "11" }, - { "dark_yamyam.frames", "4" }, - { "dark_yamyam.pingpong", "1" }, - - { "dynabomb.actice", "RocksElements.pcx" }, - { "dynabomb.actice.xpos", "12" }, - { "dynabomb.actice.ypos", "11" }, - { "dynabomb.actice.frames", "4" }, - { "dynabomb.actice.pingpong", "1" }, - { "dynabomb_nr", "RocksElements.pcx" }, - { "dynabomb_nr.xpos", "12" }, - { "dynabomb_nr.ypos", "11" }, - { "dynabomb_nr.frames", "1" }, - { "dynabomb_sz", "RocksElements.pcx" }, - { "dynabomb_sz.xpos", "15" }, - { "dynabomb_sz.ypos", "11" }, - { "dynabomb_sz.frames", "1" }, - - { "arrow_left", "RocksElements.pcx" }, - { "arrow_left.xpos", "0" }, - { "arrow_left.ypos", "12" }, - { "arrow_left.frames", "1" }, - { "arrow_right", "RocksElements.pcx" }, - { "arrow_right.xpos", "1" }, - { "arrow_right.ypos", "12" }, - { "arrow_right.frames", "1" }, - { "arrow_up", "RocksElements.pcx" }, - { "arrow_up.xpos", "2" }, - { "arrow_up.ypos", "12" }, - { "arrow_up.frames", "1" }, - { "arrow_down", "RocksElements.pcx" }, - { "arrow_down.xpos", "3" }, - { "arrow_down.ypos", "12" }, - { "arrow_down.frames", "1" }, - - { "bd_butterfly", "RocksElements.pcx" }, - { "bd_butterfly.xpos", "4" }, - { "bd_butterfly.ypos", "12" }, - { "bd_butterfly.frames", "2" }, - { "bd_butterfly.pingpong", "1" }, - { "bd_butterfly.delay", "4" }, - { "bd_butterfly.moving", "RocksElements.pcx" }, - { "bd_butterfly.moving.xpos", "4" }, - { "bd_butterfly.moving.ypos", "12" }, - { "bd_butterfly.moving.frames", "2" }, - { "bd_butterfly.moving.pingpong", "1" }, - { "bd_butterfly.moving.delay", "4" }, - { "bd_butterfly_right", "RocksElements.pcx" }, - { "bd_butterfly_right.xpos", "8" }, - { "bd_butterfly_right.ypos", "12" }, - { "bd_butterfly_right.frames", "1" }, - { "bd_butterfly_up", "RocksElements.pcx" }, - { "bd_butterfly_up.xpos", "9" }, - { "bd_butterfly_up.ypos", "12" }, - { "bd_butterfly_up.frames", "1" }, - { "bd_butterfly_left", "RocksElements.pcx" }, - { "bd_butterfly_left.xpos", "10" }, - { "bd_butterfly_left.ypos", "12" }, - { "bd_butterfly_left.frames", "1" }, - { "bd_butterfly_down", "RocksElements.pcx" }, - { "bd_butterfly_down.xpos", "11" }, - { "bd_butterfly_down.ypos", "12" }, - { "bd_butterfly_down.frames", "1" }, - - { "bd_firefly", "RocksElements.pcx" }, - { "bd_firefly.xpos", "6" }, - { "bd_firefly.ypos", "12" }, - { "bd_firefly.frames", "2" }, - { "bd_firefly.pingpong", "1" }, - { "bd_firefly.delay", "4" }, - { "bd_firefly.moving", "RocksElements.pcx" }, - { "bd_firefly.moving.xpos", "6" }, - { "bd_firefly.moving.ypos", "12" }, - { "bd_firefly.moving.frames", "2" }, - { "bd_firefly.moving.pingpong", "1" }, - { "bd_firefly.moving.delay", "4" }, - { "bd_firefly_right", "RocksElements.pcx" }, - { "bd_firefly_right.xpos", "12" }, - { "bd_firefly_right.ypos", "12" }, - { "bd_firefly_right.frames", "1" }, - { "bd_firefly_up", "RocksElements.pcx" }, - { "bd_firefly_up.xpos", "13" }, - { "bd_firefly_up.ypos", "12" }, - { "bd_firefly_up.frames", "1" }, - { "bd_firefly_left", "RocksElements.pcx" }, - { "bd_firefly_left.xpos", "14" }, - { "bd_firefly_left.ypos", "12" }, - { "bd_firefly_left.frames", "1" }, - { "bd_firefly_down", "RocksElements.pcx" }, - { "bd_firefly_down.xpos", "15" }, - { "bd_firefly_down.ypos", "12" }, - { "bd_firefly_down.frames", "1" }, - - { "steelwall_topleft", "RocksElements.pcx" }, - { "steelwall_topleft.xpos", "0" }, - { "steelwall_topleft.ypos", "13" }, - { "steelwall_topleft.frames", "1" }, - { "steelwall_topright", "RocksElements.pcx" }, - { "steelwall_topright.xpos", "1" }, - { "steelwall_topright.ypos", "13" }, - { "steelwall_topright.frames", "1" }, - { "steelwall_bottomleft", "RocksElements.pcx" }, - { "steelwall_bottomleft.xpos", "1" }, - { "steelwall_bottomleft.ypos", "13" }, - { "steelwall_bottomleft.frames", "1" }, - { "steelwall_bottomright", "RocksElements.pcx" }, - { "steelwall_bottomright.xpos", "1" }, - { "steelwall_bottomright.ypos", "13" }, - { "steelwall_bottomright.frames", "1" }, - { "steelwall_horizontal", "RocksElements.pcx" }, - { "steelwall_horizontal.xpos", "1" }, - { "steelwall_horizontal.ypos", "13" }, - { "steelwall_horizontal.frames", "1" }, - - { "invisible_steelwall_topleft", "RocksElements.pcx" }, - { "invisible_steelwall_topleft.xpos", "0" }, - { "invisible_steelwall_topleft.ypos", "13" }, - { "invisible_steelwall_topleft.frames", "1" }, - { "invisible_steelwall_topright", "RocksElements.pcx" }, - { "invisible_steelwall_topright.xpos", "1" }, - { "invisible_steelwall_topright.ypos", "13" }, - { "invisible_steelwall_topright.frames", "1" }, - { "invisible_steelwall_bottomleft", "RocksElements.pcx" }, - { "invisible_steelwall_bottomleft.xpos", "1" }, - { "invisible_steelwall_bottomleft.ypos", "13" }, - { "invisible_steelwall_bottomleft.frames", "1" }, - { "invisible_steelwall_bottomright", "RocksElements.pcx" }, - { "invisible_steelwall_bottomright.xpos", "1" }, - { "invisible_steelwall_bottomright.ypos", "13" }, - { "invisible_steelwall_bottomright.frames", "1" }, - { "invisible_steelwall_horizontal", "RocksElements.pcx" }, - { "invisible_steelwall_horizontal.xpos", "1" }, - { "invisible_steelwall_horizontal.ypos", "13" }, - { "invisible_steelwall_horizontal.frames", "1" }, - - { "player1_down", "RocksHeroes.pcx" }, - { "player1_down.xpos", "0" }, - { "player1_down.ypos", "0" }, - { "player1_down.frames", "1" }, - { "player1_down.moving", "RocksHeroes.pcx" }, - { "player1_down.moving.xpos", "0" }, - { "player1_down.moving.ypos", "0" }, - { "player1_down.moving.frames", "4" }, - { "player1_down.digging", "RocksHeroes.pcx" }, - { "player1_down.digging.xpos", "0" }, - { "player1_down.digging.ypos", "0" }, - { "player1_down.digging.frames", "4" }, - { "player1_up", "RocksHeroes.pcx" }, - { "player1_up.xpos", "4" }, - { "player1_up.ypos", "0" }, - { "player1_up.frames", "1" }, - { "player1_up.moving", "RocksHeroes.pcx" }, - { "player1_up.moving.xpos", "4" }, - { "player1_up.moving.ypos", "0" }, - { "player1_up.moving.frames", "4" }, - { "player1_up.digging", "RocksHeroes.pcx" }, - { "player1_up.digging.xpos", "4" }, - { "player1_up.digging.ypos", "0" }, - { "player1_up.digging.frames", "4" }, - { "player1_left", "RocksHeroes.pcx" }, - { "player1_left.xpos", "0" }, - { "player1_left.ypos", "1" }, - { "player1_left.frames", "1" }, - { "player1_left.moving", "RocksHeroes.pcx" }, - { "player1_left.moving.xpos", "0" }, - { "player1_left.moving.ypos", "1" }, - { "player1_left.moving.frames", "4" }, - { "player1_left.digging", "RocksHeroes.pcx" }, - { "player1_left.digging.xpos", "0" }, - { "player1_left.digging.ypos", "1" }, - { "player1_left.digging.frames", "4" }, - { "player1_left.pushing", "RocksHeroes.pcx" }, - { "player1_left.pushing.xpos", "4" }, - { "player1_left.pushing.ypos", "2" }, - { "player1_left.pushing.frames", "4" }, - { "player1_right", "RocksHeroes.pcx" }, - { "player1_right.xpos", "4" }, - { "player1_right.ypos", "1" }, - { "player1_right.frames", "1" }, - { "player1_right.moving", "RocksHeroes.pcx" }, - { "player1_right.moving.xpos", "4" }, - { "player1_right.moving.ypos", "1" }, - { "player1_right.moving.frames", "4" }, - { "player1_right.digging", "RocksHeroes.pcx" }, - { "player1_right.digging.xpos", "4" }, - { "player1_right.digging.ypos", "1" }, - { "player1_right.digging.frames", "4" }, - { "player1_right.pushing", "RocksHeroes.pcx" }, - { "player1_right.pushing.xpos", "0" }, - { "player1_right.pushing.ypos", "2" }, - { "player1_right.pushing.frames", "4" }, - - { "player2_down", "RocksHeroes.pcx" }, - { "player2_down.xpos", "0" }, - { "player2_down.ypos", "3" }, - { "player2_down.frames", "1" }, - { "player2_down.moving", "RocksHeroes.pcx" }, - { "player2_down.moving.xpos", "0" }, - { "player2_down.moving.ypos", "3" }, - { "player2_down.moving.frames", "4" }, - { "player2_down.digging", "RocksHeroes.pcx" }, - { "player2_down.digging.xpos", "0" }, - { "player2_down.digging.ypos", "3" }, - { "player2_down.digging.frames", "4" }, - { "player2_up", "RocksHeroes.pcx" }, - { "player2_up.xpos", "4" }, - { "player2_up.ypos", "3" }, - { "player2_up.frames", "1" }, - { "player2_up.moving", "RocksHeroes.pcx" }, - { "player2_up.moving.xpos", "4" }, - { "player2_up.moving.ypos", "3" }, - { "player2_up.moving.frames", "4" }, - { "player2_up.digging", "RocksHeroes.pcx" }, - { "player2_up.digging.xpos", "4" }, - { "player2_up.digging.ypos", "3" }, - { "player2_up.digging.frames", "4" }, - { "player2_left", "RocksHeroes.pcx" }, - { "player2_left.xpos", "0" }, - { "player2_left.ypos", "4" }, - { "player2_left.frames", "1" }, - { "player2_left.moving", "RocksHeroes.pcx" }, - { "player2_left.moving.xpos", "0" }, - { "player2_left.moving.ypos", "4" }, - { "player2_left.moving.frames", "4" }, - { "player2_left.digging", "RocksHeroes.pcx" }, - { "player2_left.digging.xpos", "0" }, - { "player2_left.digging.ypos", "4" }, - { "player2_left.digging.frames", "4" }, - { "player2_left.pushing", "RocksHeroes.pcx" }, - { "player2_left.pushing.xpos", "4" }, - { "player2_left.pushing.ypos", "5" }, - { "player2_left.pushing.frames", "4" }, - { "player2_right", "RocksHeroes.pcx" }, - { "player2_right.xpos", "4" }, - { "player2_right.ypos", "4" }, - { "player2_right.frames", "1" }, - { "player2_right.moving", "RocksHeroes.pcx" }, - { "player2_right.moving.xpos", "4" }, - { "player2_right.moving.ypos", "4" }, - { "player2_right.moving.frames", "4" }, - { "player2_right.digging", "RocksHeroes.pcx" }, - { "player2_right.digging.xpos", "4" }, - { "player2_right.digging.ypos", "4" }, - { "player2_right.digging.frames", "4" }, - { "player2_right.pushing", "RocksHeroes.pcx" }, - { "player2_right.pushing.xpos", "0" }, - { "player2_right.pushing.ypos", "5" }, - { "player2_right.pushing.frames", "4" }, - - { "player3_down", "RocksHeroes.pcx" }, - { "player3_down.xpos", "0" }, - { "player3_down.ypos", "6" }, - { "player3_down.frames", "1" }, - { "player3_down.moving", "RocksHeroes.pcx" }, - { "player3_down.moving.xpos", "0" }, - { "player3_down.moving.ypos", "6" }, - { "player3_down.moving.frames", "4" }, - { "player3_down.digging", "RocksHeroes.pcx" }, - { "player3_down.digging.xpos", "0" }, - { "player3_down.digging.ypos", "6" }, - { "player3_down.digging.frames", "4" }, - { "player3_up", "RocksHeroes.pcx" }, - { "player3_up.xpos", "4" }, - { "player3_up.ypos", "6" }, - { "player3_up.frames", "1" }, - { "player3_up.moving", "RocksHeroes.pcx" }, - { "player3_up.moving.xpos", "4" }, - { "player3_up.moving.ypos", "6" }, - { "player3_up.moving.frames", "4" }, - { "player3_up.digging", "RocksHeroes.pcx" }, - { "player3_up.digging.xpos", "4" }, - { "player3_up.digging.ypos", "6" }, - { "player3_up.digging.frames", "4" }, - { "player3_left", "RocksHeroes.pcx" }, - { "player3_left.xpos", "0" }, - { "player3_left.ypos", "7" }, - { "player3_left.frames", "1" }, - { "player3_left.moving", "RocksHeroes.pcx" }, - { "player3_left.moving.xpos", "0" }, - { "player3_left.moving.ypos", "7" }, - { "player3_left.moving.frames", "4" }, - { "player3_left.digging", "RocksHeroes.pcx" }, - { "player3_left.digging.xpos", "0" }, - { "player3_left.digging.ypos", "7" }, - { "player3_left.digging.frames", "4" }, - { "player3_left.pushing", "RocksHeroes.pcx" }, - { "player3_left.pushing.xpos", "4" }, - { "player3_left.pushing.ypos", "8" }, - { "player3_left.pushing.frames", "4" }, - { "player3_right", "RocksHeroes.pcx" }, - { "player3_right.xpos", "4" }, - { "player3_right.ypos", "7" }, - { "player3_right.frames", "1" }, - { "player3_right.moving", "RocksHeroes.pcx" }, - { "player3_right.moving.xpos", "4" }, - { "player3_right.moving.ypos", "7" }, - { "player3_right.moving.frames", "4" }, - { "player3_right.digging", "RocksHeroes.pcx" }, - { "player3_right.digging.xpos", "4" }, - { "player3_right.digging.ypos", "7" }, - { "player3_right.digging.frames", "4" }, - { "player3_right.pushing", "RocksHeroes.pcx" }, - { "player3_right.pushing.xpos", "0" }, - { "player3_right.pushing.ypos", "8" }, - { "player3_right.pushing.frames", "4" }, - - { "player4_down", "RocksHeroes.pcx" }, - { "player4_down.xpos", "0" }, - { "player4_down.ypos", "9" }, - { "player4_down.frames", "1" }, - { "player4_down.moving", "RocksHeroes.pcx" }, - { "player4_down.moving.xpos", "0" }, - { "player4_down.moving.ypos", "9" }, - { "player4_down.moving.frames", "4" }, - { "player4_down.digging", "RocksHeroes.pcx" }, - { "player4_down.digging.xpos", "0" }, - { "player4_down.digging.ypos", "9" }, - { "player4_down.digging.frames", "4" }, - { "player4_up", "RocksHeroes.pcx" }, - { "player4_up.xpos", "4" }, - { "player4_up.ypos", "9" }, - { "player4_up.frames", "1" }, - { "player4_up.moving", "RocksHeroes.pcx" }, - { "player4_up.moving.xpos", "4" }, - { "player4_up.moving.ypos", "9" }, - { "player4_up.moving.frames", "4" }, - { "player4_up.digging", "RocksHeroes.pcx" }, - { "player4_up.digging.xpos", "4" }, - { "player4_up.digging.ypos", "9" }, - { "player4_up.digging.frames", "4" }, - { "player4_left", "RocksHeroes.pcx" }, - { "player4_left.xpos", "0" }, - { "player4_left.ypos", "10" }, - { "player4_left.frames", "1" }, - { "player4_left.moving", "RocksHeroes.pcx" }, - { "player4_left.moving.xpos", "0" }, - { "player4_left.moving.ypos", "9" }, - { "player4_left.moving.frames", "4" }, - { "player4_left.digging", "RocksHeroes.pcx" }, - { "player4_left.digging.xpos", "0" }, - { "player4_left.digging.ypos", "9" }, - { "player4_left.digging.frames", "4" }, - { "player4_left.pushing", "RocksHeroes.pcx" }, - { "player4_left.pushing.xpos", "4" }, - { "player4_left.pushing.ypos", "11" }, - { "player4_left.pushing.frames", "4" }, - { "player4_right", "RocksHeroes.pcx" }, - { "player4_right.xpos", "4" }, - { "player4_right.ypos", "10" }, - { "player4_right.frames", "1" }, - { "player4_right.moving", "RocksHeroes.pcx" }, - { "player4_right.moving.xpos", "4" }, - { "player4_right.moving.ypos", "10" }, - { "player4_right.moving.frames", "4" }, - { "player4_right.digging", "RocksHeroes.pcx" }, - { "player4_right.digging.xpos", "4" }, - { "player4_right.digging.ypos", "10" }, - { "player4_right.digging.frames", "4" }, - { "player4_right.pushing", "RocksHeroes.pcx" }, - { "player4_right.pushing.xpos", "0" }, - { "player4_right.pushing.ypos", "11" }, - { "player4_right.pushing.frames", "4" }, - - { "wall.growing_down", "RocksHeroes.pcx" }, - { "wall.growing_down.xpos", "0" }, - { "wall.growing_down.ypos", "12" }, - { "wall.growing_down.frames", "3" }, - { "wall.growing_up", "RocksHeroes.pcx" }, - { "wall.growing_up.xpos", "3" }, - { "wall.growing_up.ypos", "12" }, - { "wall.growing_up.frames", "3" }, - - { "shield_normal.active", "RocksHeroes.pcx" }, - { "shield_normal.active.xpos", "1" }, - { "shield_normal.active.ypos", "13" }, - { "shield_normal.active.frames", "3" }, - { "shield_normal.active.pingpong", "1" }, - { "shield_deadly.active", "RocksHeroes.pcx" }, - { "shield_deadly.active.xpos", "5" }, - { "shield_deadly.active.ypos", "13" }, - { "shield_deadly.active.frames", "3" }, - { "shield_deadly.active.pingpong", "1" }, - - { "pig_down", "RocksHeroes.pcx" }, - { "pig_down.xpos", "8" }, - { "pig_down.ypos", "0" }, - { "pig_down.frames", "1" }, - { "pig_down.moving", "RocksHeroes.pcx" }, - { "pig_down.moving.xpos", "8" }, - { "pig_down.moving.ypos", "0" }, - { "pig_down.moving.frames", "4" }, - { "pig_down.eating", "RocksHeroes.pcx" }, - { "pig_down.eating.xpos", "8" }, - { "pig_down.eating.ypos", "0" }, - { "pig_down.eating.frames", "4" }, - { "pig_up", "RocksHeroes.pcx" }, - { "pig_up.xpos", "12" }, - { "pig_up.ypos", "0" }, - { "pig_up.frames", "1" }, - { "pig_up.moving", "RocksHeroes.pcx" }, - { "pig_up.moving.xpos", "12" }, - { "pig_up.moving.ypos", "0" }, - { "pig_up.moving.frames", "4" }, - { "pig_up.eating", "RocksHeroes.pcx" }, - { "pig_up.eating.xpos", "12" }, - { "pig_up.eating.ypos", "0" }, - { "pig_up.eating.frames", "4" }, - { "pig_left", "RocksHeroes.pcx" }, - { "pig_left.xpos", "8" }, - { "pig_left.ypos", "1" }, - { "pig_left.frames", "1" }, - { "pig_left.moving", "RocksHeroes.pcx" }, - { "pig_left.moving.xpos", "8" }, - { "pig_left.moving.ypos", "1" }, - { "pig_left.moving.frames", "4" }, - { "pig_left.eating", "RocksHeroes.pcx" }, - { "pig_left.eating.xpos", "8" }, - { "pig_left.eating.ypos", "1" }, - { "pig_left.eating.frames", "4" }, - { "pig_right", "RocksHeroes.pcx" }, - { "pig_right.xpos", "12" }, - { "pig_right.ypos", "1" }, - { "pig_right.frames", "1" }, - { "pig_right.moving", "RocksHeroes.pcx" }, - { "pig_right.moving.xpos", "12" }, - { "pig_right.moving.ypos", "1" }, - { "pig_right.moving.frames", "4" }, - { "pig_right.eating", "RocksHeroes.pcx" }, - { "pig_right.eating.xpos", "12" }, - { "pig_right.eating.ypos", "1" }, - { "pig_right.eating.frames", "4" }, - - { "dragon_down", "RocksHeroes.pcx" }, - { "dragon_down.xpos", "8" }, - { "dragon_down.ypos", "2" }, - { "dragon_down.frames", "1" }, - { "dragon_down.moving", "RocksHeroes.pcx" }, - { "dragon_down.moving.xpos", "8" }, - { "dragon_down.moving.ypos", "2" }, - { "dragon_down.moving.frames", "4" }, - { "dragon_down.attacking", "RocksHeroes.pcx" }, - { "dragon_down.attacking.xpos", "8" }, - { "dragon_down.attacking.ypos", "2" }, - { "dragon_down.attacking.frames", "4" }, - { "dragon_up", "RocksHeroes.pcx" }, - { "dragon_up.xpos", "12" }, - { "dragon_up.ypos", "2" }, - { "dragon_up.frames", "1" }, - { "dragon_up.moving", "RocksHeroes.pcx" }, - { "dragon_up.moving.xpos", "12" }, - { "dragon_up.moving.ypos", "2" }, - { "dragon_up.moving.frames", "4" }, - { "dragon_up.attacking", "RocksHeroes.pcx" }, - { "dragon_up.attacking.xpos", "12" }, - { "dragon_up.attacking.ypos", "2" }, - { "dragon_up.attacking.frames", "4" }, - { "dragon_left", "RocksHeroes.pcx" }, - { "dragon_left.xpos", "8" }, - { "dragon_left.ypos", "3" }, - { "dragon_left.frames", "1" }, - { "dragon_left.moving", "RocksHeroes.pcx" }, - { "dragon_left.moving.xpos", "8" }, - { "dragon_left.moving.ypos", "3" }, - { "dragon_left.moving.frames", "4" }, - { "dragon_left.attacking", "RocksHeroes.pcx" }, - { "dragon_left.attacking.xpos", "8" }, - { "dragon_left.attacking.ypos", "3" }, - { "dragon_left.attacking.frames", "4" }, - { "dragon_right", "RocksHeroes.pcx" }, - { "dragon_right.xpos", "12" }, - { "dragon_right.ypos", "3" }, - { "dragon_right.frames", "1" }, - { "dragon_right.moving", "RocksHeroes.pcx" }, - { "dragon_right.moving.xpos", "12" }, - { "dragon_right.moving.ypos", "3" }, - { "dragon_right.moving.frames", "4" }, - { "dragon_right.attacking", "RocksHeroes.pcx" }, - { "dragon_right.attacking.xpos", "12" }, - { "dragon_right.attacking.ypos", "3" }, - { "dragon_right.attacking.frames", "4" }, - - { "mole_down", "RocksHeroes.pcx" }, - { "mole_down.xpos", "8" }, - { "mole_down.ypos", "4" }, - { "mole_down.frames", "1" }, - { "mole_down.moving", "RocksHeroes.pcx" }, - { "mole_down.moving.xpos", "8" }, - { "mole_down.moving.ypos", "4" }, - { "mole_down.moving.frames", "4" }, - { "mole_down.digging", "RocksHeroes.pcx" }, - { "mole_down.digging.xpos", "8" }, - { "mole_down.digging.ypos", "4" }, - { "mole_down.digging.frames", "4" }, - { "mole_up", "RocksHeroes.pcx" }, - { "mole_up.xpos", "12" }, - { "mole_up.ypos", "4" }, - { "mole_up.frames", "1" }, - { "mole_up.moving", "RocksHeroes.pcx" }, - { "mole_up.moving.xpos", "12" }, - { "mole_up.moving.ypos", "4" }, - { "mole_up.moving.frames", "4" }, - { "mole_up.digging", "RocksHeroes.pcx" }, - { "mole_up.digging.xpos", "12" }, - { "mole_up.digging.ypos", "4" }, - { "mole_up.digging.frames", "4" }, - { "mole_left", "RocksHeroes.pcx" }, - { "mole_left.xpos", "8" }, - { "mole_left.ypos", "5" }, - { "mole_left.frames", "1" }, - { "mole_left.moving", "RocksHeroes.pcx" }, - { "mole_left.moving.xpos", "8" }, - { "mole_left.moving.ypos", "5" }, - { "mole_left.moving.frames", "4" }, - { "mole_left.digging", "RocksHeroes.pcx" }, - { "mole_left.digging.xpos", "8" }, - { "mole_left.digging.ypos", "5" }, - { "mole_left.digging.frames", "4" }, - { "mole_right", "RocksHeroes.pcx" }, - { "mole_right.xpos", "12" }, - { "mole_right.ypos", "5" }, - { "mole_right.frames", "1" }, - { "mole_right.moving", "RocksHeroes.pcx" }, - { "mole_right.moving.xpos", "12" }, - { "mole_right.moving.ypos", "5" }, - { "mole_right.moving.frames", "4" }, - { "mole_right.digging", "RocksHeroes.pcx" }, - { "mole_right.digging.xpos", "12" }, - { "mole_right.digging.ypos", "5" }, - { "mole_right.digging.frames", "4" }, - - { "penguin_down", "RocksHeroes.pcx" }, - { "penguin_down.xpos", "8" }, - { "penguin_down.ypos", "6" }, - { "penguin_down.frames", "1" }, - { "penguin_down.moving", "RocksHeroes.pcx" }, - { "penguin_down.moving.xpos", "8" }, - { "penguin_down.moving.ypos", "6" }, - { "penguin_down.moving.frames", "4" }, - { "penguin_up", "RocksHeroes.pcx" }, - { "penguin_up.xpos", "12" }, - { "penguin_up.ypos", "6" }, - { "penguin_up.frames", "1" }, - { "penguin_up.moving", "RocksHeroes.pcx" }, - { "penguin_up.moving.xpos", "12" }, - { "penguin_up.moving.ypos", "6" }, - { "penguin_up.moving.frames", "4" }, - { "penguin_left", "RocksHeroes.pcx" }, - { "penguin_left.xpos", "8" }, - { "penguin_left.ypos", "7" }, - { "penguin_left.frames", "1" }, - { "penguin_left.moving", "RocksHeroes.pcx" }, - { "penguin_left.moving.xpos", "8" }, - { "penguin_left.moving.ypos", "7" }, - { "penguin_left.moving.frames", "4" }, - { "penguin_right", "RocksHeroes.pcx" }, - { "penguin_right.xpos", "12" }, - { "penguin_right.ypos", "7" }, - { "penguin_right.frames", "1" }, - { "penguin_right.moving", "RocksHeroes.pcx" }, - { "penguin_right.moving.xpos", "12" }, - { "penguin_right.moving.ypos", "7" }, - { "penguin_right.moving.frames", "4" }, - - { "satellite", "RocksHeroes.pcx" }, - { "satellite.xpos", "8" }, - { "satellite.ypos", "9" }, - { "satellite.frames", "8" }, - { "satellite.moving.delay", "2" }, - { "satellite.moving", "RocksHeroes.pcx" }, - { "satellite.moving.xpos", "8" }, - { "satellite.moving.ypos", "9" }, - { "satellite.moving.frames", "8" }, - { "satellite.moving.delay", "2" }, - - { "acid.splashing_left", "RocksHeroes.pcx" }, - { "acid.splashing_left.xpos", "8" }, - { "acid.splashing_left.ypos", "10" }, - { "acid.splashing_left.frames", "4" }, - { "acid.splashing_right", "RocksHeroes.pcx" }, - { "acid.splashing_right.xpos", "12" }, - { "acid.splashing_right.ypos", "10" }, - { "acid.splashing_right.frames", "4" }, - - { "spark_blue", "RocksHeroes.pcx" }, - { "spark_blue.xpos", "8" }, - { "spark_blue.ypos", "11" }, - { "spark_blue.frames", "3" }, - { "spark_blue.pingpong", "1" }, - { "spark_white", "RocksHeroes.pcx" }, - { "spark_white.xpos", "8" }, - { "spark_white.ypos", "11" }, - { "spark_white.frames", "3" }, - { "spark_white.pingpong", "1" }, - - { "flames_left1", "RocksHeroes.pcx" }, - { "flames_left1.xpos", "8" }, - { "flames_left1.ypos", "12" }, - { "flames_left1.frames", "2" }, - { "flames_left2", "RocksHeroes.pcx" }, - { "flames_left2.xpos", "9" }, - { "flames_left2.ypos", "12" }, - { "flames_left2.frames", "2" }, - { "flames_left3", "RocksHeroes.pcx" }, - { "flames_left3.xpos", "10" }, - { "flames_left3.ypos", "12" }, - { "flames_left3.frames", "2" }, - - { "flames_right1", "RocksHeroes.pcx" }, - { "flames_right1.xpos", "8" }, - { "flames_right1.ypos", "13" }, - { "flames_right1.frames", "2" }, - { "flames_right2", "RocksHeroes.pcx" }, - { "flames_right2.xpos", "9" }, - { "flames_right2.ypos", "13" }, - { "flames_right2.frames", "2" }, - { "flames_right3", "RocksHeroes.pcx" }, - { "flames_right3.xpos", "10" }, - { "flames_right3.ypos", "13" }, - { "flames_right3.frames", "2" }, - - { "flames_up1", "RocksHeroes.pcx" }, - { "flames_up1.xpos", "8" }, - { "flames_up1.ypos", "14" }, - { "flames_up1.frames", "2" }, - { "flames_up2", "RocksHeroes.pcx" }, - { "flames_up2.xpos", "9" }, - { "flames_up2.ypos", "14" }, - { "flames_up2.frames", "2" }, - { "flames_up3", "RocksHeroes.pcx" }, - { "flames_up3.xpos", "10" }, - { "flames_up3.ypos", "14" }, - { "flames_up3.frames", "2" }, - - { "flames_down1", "RocksHeroes.pcx" }, - { "flames_down1.xpos", "8" }, - { "flames_down1.ypos", "15" }, - { "flames_down1.frames", "2" }, - { "flames_down2", "RocksHeroes.pcx" }, - { "flames_down2.xpos", "9" }, - { "flames_down2.ypos", "15" }, - { "flames_down2.frames", "2" }, - { "flames_down3", "RocksHeroes.pcx" }, - { "flames_down3.xpos", "10" }, - { "flames_down3.ypos", "15" }, - { "flames_down3.frames", "2" }, - - { "sp_empty_space", "RocksSP.pcx" }, - { "sp_empty_space.xpos", "0" }, - { "sp_empty_space.ypos", "0" }, - { "sp_empty_space.frames", "1" }, - - { "sp_zonk", "RocksSP.pcx" }, - { "sp_zonk.xpos", "1" }, - { "sp_zonk.ypos", "0" }, - { "sp_zonk.frames", "1" }, - { "sp_zonk.falling", "RocksSP.pcx" }, - { "sp_zonk.falling.xpos", "1" }, - { "sp_zonk.falling.ypos", "0" }, - { "sp_zonk.falling.frames", "1" }, - { "sp_zonk.pushing", "RocksSP.pcx" }, - { "sp_zonk.pushing.xpos", "0" }, - { "sp_zonk.pushing.ypos", "6" }, - { "sp_zonk.pushing.frames", "4" }, - - { "sp_base", "RocksSP.pcx" }, - { "sp_base.xpos", "2" }, - { "sp_base.ypos", "0" }, - { "sp_base.frames", "1" }, - - { "sp_murphy", "RocksSP.pcx" }, - { "sp_murphy.xpos", "3" }, - { "sp_murphy.ypos", "0" }, - { "sp_murphy.frames", "1" }, - - { "sp_murphy_left", "RocksSP.pcx" }, - { "sp_murphy_left.xpos", "8" }, - { "sp_murphy_left.ypos", "0" }, - { "sp_murphy_left.frames", "1" }, - { "sp_murphy_left.moving", "RocksSP.pcx" }, - { "sp_murphy_left.moving.xpos", "8" }, - { "sp_murphy_left.moving.ypos", "0" }, - { "sp_murphy_left.moving.frames", "3" }, - { "sp_murphy_left.moving.pingpong", "1" }, - { "sp_murphy_left.digging", "RocksSP.pcx" }, - { "sp_murphy_left.digging.xpos", "8" }, - { "sp_murphy_left.digging.ypos", "0" }, - { "sp_murphy_left.digging.frames", "3" }, - { "sp_murphy_left.digging.pingpong", "1" }, - { "sp_murphy_left.pushing", "RocksSP.pcx" }, - { "sp_murphy_left.pushing.xpos", "11" }, - { "sp_murphy_left.pushing.ypos", "1" }, - { "sp_murphy_left.pushing.frames", "1" }, - { "sp_murphy_left.snapping", "RocksSP.pcx" }, - { "sp_murphy_left.snapping.xpos", "9" }, - { "sp_murphy_left.snapping.ypos", "1" }, - { "sp_murphy_left.snapping.frames", "1" }, - - { "sp_murphy_right", "RocksSP.pcx" }, - { "sp_murphy_right.xpos", "11" }, - { "sp_murphy_right.ypos", "0" }, - { "sp_murphy_right.frames", "1" }, - { "sp_murphy_right.moving", "RocksSP.pcx" }, - { "sp_murphy_right.moving.xpos", "11" }, - { "sp_murphy_right.moving.ypos", "0" }, - { "sp_murphy_right.moving.frames", "3" }, - { "sp_murphy_right.moving.pingpong", "1" }, - { "sp_murphy_right.digging", "RocksSP.pcx" }, - { "sp_murphy_right.digging.xpos", "11" }, - { "sp_murphy_right.digging.ypos", "0" }, - { "sp_murphy_right.digging.frames", "3" }, - { "sp_murphy_right.digging.pingpong", "1" }, - { "sp_murphy_right.pushing", "RocksSP.pcx" }, - { "sp_murphy_right.pushing.xpos", "10" }, - { "sp_murphy_right.pushing.ypos", "1" }, - { "sp_murphy_right.pushing.frames", "1" }, - { "sp_murphy_right.snapping", "RocksSP.pcx" }, - { "sp_murphy_right.snapping.xpos", "8" }, - { "sp_murphy_right.snapping.ypos", "1" }, - { "sp_murphy_right.snapping.frames", "1" }, - - { "sp_murphy_up", "RocksSP.pcx" }, - { "sp_murphy_up.xpos", "14" }, - { "sp_murphy_up.ypos", "0" }, - { "sp_murphy_up.frames", "1" }, - { "sp_murphy_up.snapping", "RocksSP.pcx" }, - { "sp_murphy_up.snapping.xpos", "14" }, - { "sp_murphy_up.snapping.ypos", "0" }, - { "sp_murphy_up.snapping.frames", "1" }, - - { "sp_murphy_down", "RocksSP.pcx" }, - { "sp_murphy_down.xpos", "15" }, - { "sp_murphy_down.ypos", "0" }, - { "sp_murphy_down.frames", "1" }, - { "sp_murphy_down.snapping", "RocksSP.pcx" }, - { "sp_murphy_down.snapping.xpos", "15" }, - { "sp_murphy_down.snapping.ypos", "0" }, - { "sp_murphy_down.snapping.frames", "1" }, - - { "sp_murphy_clone", "RocksSP.pcx" }, - { "sp_murphy_clone.xpos", "3" }, - { "sp_murphy_clone.ypos", "0" }, - { "sp_murphy_clone.frames", "1" }, - - { "sp_infotron", "RocksSP.pcx" }, - { "sp_infotron.xpos", "4" }, - { "sp_infotron.ypos", "0" }, - { "sp_infotron.frames", "1" }, - { "sp_infotron.falling", "RocksSP.pcx" }, - { "sp_infotron.falling.xpos", "4" }, - { "sp_infotron.falling.ypos", "0" }, - { "sp_infotron.falling.frames", "1" }, - - { "sp_chip_single", "RocksSP.pcx" }, - { "sp_chip_single.xpos", "5" }, - { "sp_chip_single.ypos", "0" }, - { "sp_chip_single.frames", "1" }, - { "sp_chip_left", "RocksSP.pcx" }, - { "sp_chip_left.xpos", "2" }, - { "sp_chip_left.ypos", "3" }, - { "sp_chip_left.frames", "1" }, - { "sp_chip_right", "RocksSP.pcx" }, - { "sp_chip_right.xpos", "3" }, - { "sp_chip_right.ypos", "3" }, - { "sp_chip_right.frames", "1" }, - { "sp_chip_upper", "RocksSP.pcx" }, - { "sp_chip_upper.xpos", "6" }, - { "sp_chip_upper.ypos", "4" }, - { "sp_chip_upper.frames", "1" }, - { "sp_chip_lower", "RocksSP.pcx" }, - { "sp_chip_lower.xpos", "7" }, - { "sp_chip_lower.ypos", "4" }, - { "sp_chip_lower.frames", "1" }, - - { "sp_hard_gray", "RocksSP.pcx" }, - { "sp_hard_gray.xpos", "6" }, - { "sp_hard_gray.ypos", "0" }, - { "sp_hard_gray.frames", "1" }, - { "sp_hard_green", "RocksSP.pcx" }, - { "sp_hard_green.xpos", "5" }, - { "sp_hard_green.ypos", "3" }, - { "sp_hard_green.frames", "1" }, - { "sp_hard_blue", "RocksSP.pcx" }, - { "sp_hard_blue.xpos", "6" }, - { "sp_hard_blue.ypos", "3" }, - { "sp_hard_blue.frames", "1" }, - { "sp_hard_red", "RocksSP.pcx" }, - { "sp_hard_red.xpos", "7" }, - { "sp_hard_red.ypos", "3" }, - { "sp_hard_red.frames", "1" }, - { "sp_hard_yellow", "RocksSP.pcx" }, - { "sp_hard_yellow.xpos", "0" }, - { "sp_hard_yellow.ypos", "4" }, - { "sp_hard_yellow.frames", "1" }, - - { "sp_exit_closed", "RocksSP.pcx" }, - { "sp_exit_closed.xpos", "7" }, - { "sp_exit_closed.ypos", "0" }, - { "sp_exit_closed.frames", "1" }, - { "sp_exit_open", "RocksSP.pcx" }, - { "sp_exit_open.xpos", "7" }, - { "sp_exit_open.ypos", "0" }, - { "sp_exit_open.frames", "1" }, - - { "sp_disk_orange", "RocksSP.pcx" }, - { "sp_disk_orange.xpos", "0" }, - { "sp_disk_orange.ypos", "1" }, - { "sp_disk_orange.frames", "1" }, - { "sp_disk_orange.falling", "RocksSP.pcx" }, - { "sp_disk_orange.falling.xpos", "0" }, - { "sp_disk_orange.falling.ypos", "1" }, - { "sp_disk_orange.falling.frames", "1" }, - { "sp_disk_orange.pushing", "RocksSP.pcx" }, - { "sp_disk_orange.pushing.xpos", "0" }, - { "sp_disk_orange.pushing.ypos", "1" }, - { "sp_disk_orange.pushing.frames", "1" }, - - { "sp_disk_yellow", "RocksSP.pcx" }, - { "sp_disk_yellow.xpos", "2" }, - { "sp_disk_yellow.ypos", "2" }, - { "sp_disk_yellow.frames", "1" }, - { "sp_disk_yellow.pushing", "RocksSP.pcx" }, - { "sp_disk_yellow.pushing.xpos", "2" }, - { "sp_disk_yellow.pushing.ypos", "2" }, - { "sp_disk_yellow.pushing.frames", "1" }, - - { "sp_disk_red", "RocksSP.pcx" }, - { "sp_disk_red.xpos", "4" }, - { "sp_disk_red.ypos", "2" }, - { "sp_disk_red.frames", "1" }, - { "sp_disk_red.collecting", "RocksSP.pcx" }, - { "sp_disk_red.collecting.xpos", "8" }, - { "sp_disk_red.collecting.ypos", "5" }, - { "sp_disk_red.collecting.frames", "8" }, - - { "sp_port1_right", "RocksSP.pcx" }, - { "sp_port1_right.xpos", "1" }, - { "sp_port1_right.ypos", "1" }, - { "sp_port1_right.frames", "1" }, - { "sp_port1_down", "RocksSP.pcx" }, - { "sp_port1_down.xpos", "2" }, - { "sp_port1_down.ypos", "1" }, - { "sp_port1_down.frames", "1" }, - { "sp_port1_left", "RocksSP.pcx" }, - { "sp_port1_left.xpos", "3" }, - { "sp_port1_left.ypos", "1" }, - { "sp_port1_left.frames", "1" }, - { "sp_port1_up", "RocksSP.pcx" }, - { "sp_port1_up.xpos", "4" }, - { "sp_port1_up.ypos", "1" }, - { "sp_port1_up.frames", "1" }, - { "sp_port2_right", "RocksSP.pcx" }, - { "sp_port2_right.xpos", "5" }, - { "sp_port2_right.ypos", "1" }, - { "sp_port2_right.frames", "1" }, - { "sp_port2_down", "RocksSP.pcx" }, - { "sp_port2_down.xpos", "6" }, - { "sp_port2_down.ypos", "1" }, - { "sp_port2_down.frames", "1" }, - { "sp_port2_left", "RocksSP.pcx" }, - { "sp_port2_left.xpos", "7" }, - { "sp_port2_left.ypos", "1" }, - { "sp_port2_left.frames", "1" }, - { "sp_port2_up", "RocksSP.pcx" }, - { "sp_port2_up.xpos", "0" }, - { "sp_port2_up.ypos", "2" }, - { "sp_port2_up.frames", "1" }, - { "sp_port_x", "RocksSP.pcx" }, - { "sp_port_x.xpos", "6" }, - { "sp_port_x.ypos", "2" }, - { "sp_port_x.frames", "1" }, - { "sp_port_y", "RocksSP.pcx" }, - { "sp_port_y.xpos", "5" }, - { "sp_port_y.ypos", "2" }, - { "sp_port_y.frames", "1" }, - { "sp_port_xy", "RocksSP.pcx" }, - { "sp_port_xy.xpos", "7" }, - { "sp_port_xy.ypos", "2" }, - { "sp_port_xy.frames", "1" }, - - { "sp_sniksnak", "RocksSP.pcx" }, - { "sp_sniksnak.xpos", "1" }, - { "sp_sniksnak.ypos", "2" }, - { "sp_sniksnak.frames", "1" }, - { "sp_sniksnak_left", "RocksSP.pcx" }, - { "sp_sniksnak_left.xpos", "8" }, - { "sp_sniksnak_left.ypos", "8" }, - { "sp_sniksnak_left.frames", "4" }, - { "sp_sniksnak_left.pingpong2", "1" }, - { "sp_sniksnak_right", "RocksSP.pcx" }, - { "sp_sniksnak_right.xpos", "12" }, - { "sp_sniksnak_right.ypos", "8" }, - { "sp_sniksnak_right.frames", "4" }, - { "sp_sniksnak_right.pingpong2", "1" }, - { "sp_sniksnak_up", "RocksSP.pcx" }, - { "sp_sniksnak_up.xpos", "8" }, - { "sp_sniksnak_up.ypos", "9" }, - { "sp_sniksnak_up.frames", "4" }, - { "sp_sniksnak_up.pingpong2", "1" }, - { "sp_sniksnak_down", "RocksSP.pcx" }, - { "sp_sniksnak_down.xpos", "12" }, - { "sp_sniksnak_down.ypos", "9" }, - { "sp_sniksnak_down.frames", "4" }, - { "sp_sniksnak_down.pingpong2", "1" }, - - { "sp_electron", "RocksSP.pcx" }, - { "sp_electron.xpos", "8" }, - { "sp_electron.ypos", "10" }, - { "sp_electron.frames", "8" }, - { "sp_electron.delay", "2" }, - { "sp_electron.global_sync", "1" }, - - { "sp_terminal", "RocksSP.pcx" }, - { "sp_terminal.xpos", "8" }, - { "sp_terminal.ypos", "11" }, - { "sp_terminal.frames", "7" }, - { "sp_terminal_active", "RocksSP.pcx" }, - { "sp_terminal_active.xpos", "8" }, - { "sp_terminal_active.ypos", "12" }, - { "sp_terminal_active.frames", "7" }, - - { "sp_buggy_base", "RocksSP.pcx" }, - { "sp_buggy_base.xpos", "1" }, - { "sp_buggy_base.ypos", "3" }, - { "sp_buggy_base.frames", "1" }, - { "sp_buggy_base.activating", "RocksSP.pcx" }, - { "sp_buggy_base.activating.xpos", "8" }, - { "sp_buggy_base.activating.ypos", "6" }, - { "sp_buggy_base.activating.frames", "4" }, - - { "sp_hard_base1", "RocksSP.pcx" }, - { "sp_hard_base1.xpos", "4" }, - { "sp_hard_base1.ypos", "3" }, - { "sp_hard_base1.frames", "1" }, - { "sp_hard_base2", "RocksSP.pcx" }, - { "sp_hard_base2.xpos", "1" }, - { "sp_hard_base2.ypos", "4" }, - { "sp_hard_base2.frames", "1" }, - { "sp_hard_base3", "RocksSP.pcx" }, - { "sp_hard_base3.xpos", "2" }, - { "sp_hard_base3.ypos", "4" }, - { "sp_hard_base3.frames", "1" }, - { "sp_hard_base4", "RocksSP.pcx" }, - { "sp_hard_base4.xpos", "3" }, - { "sp_hard_base4.ypos", "4" }, - { "sp_hard_base4.frames", "1" }, - { "sp_hard_base5", "RocksSP.pcx" }, - { "sp_hard_base5.xpos", "4" }, - { "sp_hard_base5.ypos", "4" }, - { "sp_hard_base5.frames", "1" }, - { "sp_hard_base6", "RocksSP.pcx" }, - { "sp_hard_base6.xpos", "5" }, - { "sp_hard_base6.ypos", "4" }, - { "sp_hard_base6.frames", "1" }, - - { "invisible_steelwall", "RocksSP.pcx" }, - { "invisible_steelwall.xpos", "3" }, - { "invisible_steelwall.ypos", "5" }, - { "invisible_steelwall.frames", "1" }, - { "invisible_steelwall.active", "RocksSP.pcx" }, - { "invisible_steelwall.active.xpos", "1" }, - { "invisible_steelwall.active.ypos", "5" }, - { "invisible_steelwall.active.frames", "1" }, - - { "invisible_sand", "RocksSP.pcx" }, - { "invisible_sand.xpos", "6" }, - { "invisible_sand.ypos", "5" }, - { "invisible_sand.frames", "1" }, - { "invisible_sand.active", "RocksSP.pcx" }, - { "invisible_sand.active.xpos", "2" }, - { "invisible_sand.active.ypos", "5" }, - { "invisible_sand.active.frames", "1" }, - - { "invisible_wall", "RocksSP.pcx" }, - { "invisible_wall.xpos", "7" }, - { "invisible_wall.ypos", "5" }, - { "invisible_wall.frames", "1" }, - { "invisible_wall.active", "RocksSP.pcx" }, - { "invisible_wall.active.xpos", "5" }, - { "invisible_wall.active.ypos", "5" }, - { "invisible_wall.active.frames", "1" }, - - { "em_key1", "RocksSP.pcx" }, - { "em_key1.xpos", "4" }, - { "em_key1.ypos", "6" }, - { "em_key1.frames", "1" }, - { "em_key2", "RocksSP.pcx" }, - { "em_key2.xpos", "5" }, - { "em_key2.ypos", "6" }, - { "em_key2.frames", "1" }, - { "em_key3", "RocksSP.pcx" }, - { "em_key3.xpos", "6" }, - { "em_key3.ypos", "6" }, - { "em_key3.frames", "1" }, - { "em_key4", "RocksSP.pcx" }, - { "em_key4.xpos", "7" }, - { "em_key4.ypos", "6" }, - { "em_key4.frames", "1" }, - - { "em_gate1", "RocksSP.pcx" }, - { "em_gate1.xpos", "0" }, - { "em_gate1.ypos", "7" }, - { "em_gate1.frames", "1" }, - { "em_gate2", "RocksSP.pcx" }, - { "em_gate2.xpos", "1" }, - { "em_gate2.ypos", "7" }, - { "em_gate2.frames", "1" }, - { "em_gate3", "RocksSP.pcx" }, - { "em_gate3.xpos", "2" }, - { "em_gate3.ypos", "7" }, - { "em_gate3.frames", "1" }, - { "em_gate4", "RocksSP.pcx" }, - { "em_gate4.xpos", "3" }, - { "em_gate4.ypos", "7" }, - { "em_gate4.frames", "1" }, - { "em_gate1_gray", "RocksSP.pcx" }, - { "em_gate1_gray.xpos", "4" }, - { "em_gate1_gray.ypos", "7" }, - { "em_gate1_gray.frames", "1" }, - { "em_gate2_gray", "RocksSP.pcx" }, - { "em_gate2_gray.xpos", "5" }, - { "em_gate2_gray.ypos", "7" }, - { "em_gate2_gray.frames", "1" }, - { "em_gate3_gray", "RocksSP.pcx" }, - { "em_gate3_gray.xpos", "6" }, - { "em_gate3_gray.ypos", "7" }, - { "em_gate3_gray.frames", "1" }, - { "em_gate4_gray", "RocksSP.pcx" }, - { "em_gate4_gray.xpos", "7" }, - { "em_gate4_gray.ypos", "7" }, - { "em_gate4_gray.frames", "1" }, - - { "sp_explosion", "RocksSP.pcx" }, - { "sp_explosion.xpos", "8" }, - { "sp_explosion.ypos", "3" }, - { "sp_explosion.frames", "8" }, - { "sp_explosion_infotron", "RocksSP.pcx" }, - { "sp_explosion_infotron.xpos", "8" }, - { "sp_explosion_infotron.ypos", "4" }, - { "sp_explosion_infotron.frames", "8" }, - - { "conveyor_belt1_middle", "RocksDC.pcx" }, - { "conveyor_belt1_middle.xpos", "0" }, - { "conveyor_belt1_middle.ypos", "0" }, - { "conveyor_belt1_middle.frames", "1" }, - { "conveyor_belt1_middle.active", "RocksDC.pcx" }, - { "conveyor_belt1_middle.active.xpos", "0" }, - { "conveyor_belt1_middle.active.ypos", "0" }, - { "conveyor_belt1_middle.active.frames", "8" }, - { "conveyor_belt1_left", "RocksDC.pcx" }, - { "conveyor_belt1_left.xpos", "0" }, - { "conveyor_belt1_left.ypos", "1" }, - { "conveyor_belt1_left.frames", "1" }, - { "conveyor_belt1_left.active", "RocksDC.pcx" }, - { "conveyor_belt1_left.active.xpos", "0" }, - { "conveyor_belt1_left.active.ypos", "1" }, - { "conveyor_belt1_left.active.frames", "8" }, - { "conveyor_belt1_right", "RocksDC.pcx" }, - { "conveyor_belt1_right.xpos", "0" }, - { "conveyor_belt1_right.ypos", "2" }, - { "conveyor_belt1_right.frames", "1" }, - { "conveyor_belt1_right.active", "RocksDC.pcx" }, - { "conveyor_belt1_right.active.xpos", "0" }, - { "conveyor_belt1_right.active.ypos", "2" }, - { "conveyor_belt1_right.active.frames", "8" }, - { "conveyor_belt1_switch_left", "RocksDC.pcx" }, - { "conveyor_belt1_switch_left.xpos", "0" }, - { "conveyor_belt1_switch_left.ypos", "12" }, - { "conveyor_belt1_switch_left.frames", "1" }, - { "conveyor_belt1_switch_middle", "RocksDC.pcx" }, - { "conveyor_belt1_switch_middle.xpos", "0" }, - { "conveyor_belt1_switch_middle.ypos", "13" }, - { "conveyor_belt1_switch_middle.frames", "1" }, - { "conveyor_belt1_switch_right", "RocksDC.pcx" }, - { "conveyor_belt1_switch_right.xpos", "0" }, - { "conveyor_belt1_switch_right.ypos", "14" }, - { "conveyor_belt1_switch_right.frames", "1" }, - - { "conveyor_belt2_middle", "RocksDC.pcx" }, - { "conveyor_belt2_middle.xpos", "0" }, - { "conveyor_belt2_middle.ypos", "3" }, - { "conveyor_belt2_middle.frames", "1" }, - { "conveyor_belt2_middle.active", "RocksDC.pcx" }, - { "conveyor_belt2_middle.active.xpos", "0" }, - { "conveyor_belt2_middle.active.ypos", "3" }, - { "conveyor_belt2_middle.active.frames", "8" }, - { "conveyor_belt2_left", "RocksDC.pcx" }, - { "conveyor_belt2_left.xpos", "0" }, - { "conveyor_belt2_left.ypos", "4" }, - { "conveyor_belt2_left.frames", "1" }, - { "conveyor_belt2_left.active", "RocksDC.pcx" }, - { "conveyor_belt2_left.active.xpos", "0" }, - { "conveyor_belt2_left.active.ypos", "4" }, - { "conveyor_belt2_left.active.frames", "8" }, - { "conveyor_belt2_right", "RocksDC.pcx" }, - { "conveyor_belt2_right.xpos", "0" }, - { "conveyor_belt2_right.ypos", "5" }, - { "conveyor_belt2_right.frames", "1" }, - { "conveyor_belt2_right.active", "RocksDC.pcx" }, - { "conveyor_belt2_right.active.xpos", "0" }, - { "conveyor_belt2_right.active.ypos", "5" }, - { "conveyor_belt2_right.active.frames", "8" }, - { "conveyor_belt2_switch_left", "RocksDC.pcx" }, - { "conveyor_belt2_switch_left.xpos", "1" }, - { "conveyor_belt2_switch_left.ypos", "12" }, - { "conveyor_belt2_switch_left.frames", "1" }, - { "conveyor_belt2_switch_middle", "RocksDC.pcx" }, - { "conveyor_belt2_switch_middle.xpos", "1" }, - { "conveyor_belt2_switch_middle.ypos", "13" }, - { "conveyor_belt2_switch_middle.frames", "1" }, - { "conveyor_belt2_switch_right", "RocksDC.pcx" }, - { "conveyor_belt2_switch_right.xpos", "1" }, - { "conveyor_belt2_switch_right.ypos", "14" }, - { "conveyor_belt2_switch_right.frames", "1" }, - - { "conveyor_belt3_middle", "RocksDC.pcx" }, - { "conveyor_belt3_middle.xpos", "0" }, - { "conveyor_belt3_middle.ypos", "6" }, - { "conveyor_belt3_middle.frames", "1" }, - { "conveyor_belt3_middle.active", "RocksDC.pcx" }, - { "conveyor_belt3_middle.active.xpos", "0" }, - { "conveyor_belt3_middle.active.ypos", "6" }, - { "conveyor_belt3_middle.active.frames", "8" }, - { "conveyor_belt3_left", "RocksDC.pcx" }, - { "conveyor_belt3_left.xpos", "0" }, - { "conveyor_belt3_left.ypos", "7" }, - { "conveyor_belt3_left.frames", "1" }, - { "conveyor_belt3_left.active", "RocksDC.pcx" }, - { "conveyor_belt3_left.active.xpos", "0" }, - { "conveyor_belt3_left.active.ypos", "7" }, - { "conveyor_belt3_left.active.frames", "8" }, - { "conveyor_belt3_right", "RocksDC.pcx" }, - { "conveyor_belt3_right.xpos", "0" }, - { "conveyor_belt3_right.ypos", "8" }, - { "conveyor_belt3_right.frames", "1" }, - { "conveyor_belt3_right.active", "RocksDC.pcx" }, - { "conveyor_belt3_right.active.xpos", "0" }, - { "conveyor_belt3_right.active.ypos", "8" }, - { "conveyor_belt3_right.active.frames", "8" }, - { "conveyor_belt3_switch_left", "RocksDC.pcx" }, - { "conveyor_belt3_switch_left.xpos", "2" }, - { "conveyor_belt3_switch_left.ypos", "12" }, - { "conveyor_belt3_switch_left.frames", "1" }, - { "conveyor_belt3_switch_middle", "RocksDC.pcx" }, - { "conveyor_belt3_switch_middle.xpos", "2" }, - { "conveyor_belt3_switch_middle.ypos", "13" }, - { "conveyor_belt3_switch_middle.frames", "1" }, - { "conveyor_belt3_switch_right", "RocksDC.pcx" }, - { "conveyor_belt3_switch_right.xpos", "2" }, - { "conveyor_belt3_switch_right.ypos", "14" }, - { "conveyor_belt3_switch_right.frames", "1" }, - - { "conveyor_belt4_middle", "RocksDC.pcx" }, - { "conveyor_belt4_middle.xpos", "0" }, - { "conveyor_belt4_middle.ypos", "9" }, - { "conveyor_belt4_middle.frames", "1" }, - { "conveyor_belt4_middle.active", "RocksDC.pcx" }, - { "conveyor_belt4_middle.active.xpos", "0" }, - { "conveyor_belt4_middle.active.ypos", "9" }, - { "conveyor_belt4_middle.active.frames", "8" }, - { "conveyor_belt4_left", "RocksDC.pcx" }, - { "conveyor_belt4_left.xpos", "0" }, - { "conveyor_belt4_left.ypos", "10" }, - { "conveyor_belt4_left.frames", "1" }, - { "conveyor_belt4_left.active", "RocksDC.pcx" }, - { "conveyor_belt4_left.active.xpos", "0" }, - { "conveyor_belt4_left.active.ypos", "10" }, - { "conveyor_belt4_left.active.frames", "8" }, - { "conveyor_belt4_right", "RocksDC.pcx" }, - { "conveyor_belt4_right.xpos", "0" }, - { "conveyor_belt4_right.ypos", "11" }, - { "conveyor_belt4_right.frames", "1" }, - { "conveyor_belt4_right.active", "RocksDC.pcx" }, - { "conveyor_belt4_right.active.xpos", "0" }, - { "conveyor_belt4_right.active.ypos", "11" }, - { "conveyor_belt4_right.active.frames", "8" }, - { "conveyor_belt4_switch_left", "RocksDC.pcx" }, - { "conveyor_belt4_switch_left.xpos", "3" }, - { "conveyor_belt4_switch_left.ypos", "12" }, - { "conveyor_belt4_switch_left.frames", "1" }, - { "conveyor_belt4_switch_middle", "RocksDC.pcx" }, - { "conveyor_belt4_switch_middle.xpos", "3" }, - { "conveyor_belt4_switch_middle.ypos", "13" }, - { "conveyor_belt4_switch_middle.frames", "1" }, - { "conveyor_belt4_switch_right", "RocksDC.pcx" }, - { "conveyor_belt4_switch_right.xpos", "3" }, - { "conveyor_belt4_switch_right.ypos", "14" }, - { "conveyor_belt4_switch_right.frames", "1" }, - - { "switchgate_switch_up", "RocksDC.pcx" }, - { "switchgate_switch_up.xpos", "4" }, - { "switchgate_switch_up.ypos", "12" }, - { "switchgate_switch_up.frames", "1" }, - { "switchgate_switch_down", "RocksDC.pcx" }, - { "switchgate_switch_down.xpos", "5" }, - { "switchgate_switch_down.ypos", "12" }, - { "switchgate_switch_down.frames", "1" }, - - { "light_switch", "RocksDC.pcx" }, - { "light_switch.xpos", "6" }, - { "light_switch.ypos", "12" }, - { "light_switch.frames", "1" }, - { "light_switch.active", "RocksDC.pcx" }, - { "light_switch.active.xpos", "7" }, - { "light_switch.active.ypos", "12" }, - { "light_switch.active.frames", "1" }, - - { "timegate_wheel", "RocksDC.pcx" }, - { "timegate_wheel.xpos", "0" }, - { "timegate_wheel.ypos", "15" }, - { "timegate_wheel.frames", "1" }, - { "timegate_wheel.active", "RocksDC.pcx" }, - { "timegate_wheel.active.xpos", "0" }, - { "timegate_wheel.active.ypos", "15" }, - { "timegate_wheel.active.frames", "4" }, - - { "envelope", "RocksDC.pcx" }, - { "envelope.xpos", "4" }, - { "envelope.ypos", "14" }, - { "envelope.frames", "1" }, - - { "sign_exclamation", "RocksDC.pcx" }, - { "sign_exclamation.xpos", "5" }, - { "sign_exclamation.ypos", "14" }, - { "sign_exclamation.frames", "1" }, - - { "sign_stop", "RocksDC.pcx" }, - { "sign_stop.xpos", "6" }, - { "sign_stop.ypos", "14" }, - { "sign_stop.frames", "1" }, - - { "landmine", "RocksDC.pcx" }, - { "landmine.xpos", "7" }, - { "landmine.ypos", "14" }, - { "landmine.frames", "1" }, - - { "steelwall_slanted", "RocksDC.pcx" }, - { "steelwall_slanted.xpos", "5" }, - { "steelwall_slanted.ypos", "15" }, - { "steelwall_slanted.frames", "1" }, - - { "extra_time", "RocksDC.pcx" }, - { "extra_time.xpos", "8" }, - { "extra_time.ypos", "0" }, - { "extra_time.frames", "6" }, - - { "shield_deadly", "RocksDC.pcx" }, - { "shield_deadly.xpos", "8" }, - { "shield_deadly.ypos", "1" }, - { "shield_deadly.frames", "6" }, - - { "shield_normal", "RocksDC.pcx" }, - { "shield_normal.xpos", "8" }, - { "shield_normal.ypos", "2" }, - { "shield_normal.frames", "6" }, - - { "switchgate_closed", "RocksDC.pcx" }, - { "switchgate_closed.xpos", "8" }, - { "switchgate_closed.ypos", "5" }, - { "switchgate_closed.frames", "1" }, - { "switchgate.opening", "RocksDC.pcx" }, - { "switchgate.opening.xpos", "8" }, - { "switchgate.opening.ypos", "5" }, - { "switchgate.opening.frames", "5" }, - { "switchgate_open", "RocksDC.pcx" }, - { "switchgate_open.xpos", "12" }, - { "switchgate_open.ypos", "5" }, - { "switchgate_open.frames", "1" }, - { "switchgate.closing", "RocksDC.pcx" }, - { "switchgate.closing.xpos", "8" }, - { "switchgate.closing.ypos", "5" }, - { "switchgate.closing.frames", "5" }, - { "switchgate.closing.reverse", "1" }, - - { "timegate_closed", "RocksDC.pcx" }, - { "timegate_closed.xpos", "8" }, - { "timegate_closed.ypos", "6" }, - { "timegate_closed.frames", "1" }, - { "timegate.opening", "RocksDC.pcx" }, - { "timegate.opening.xpos", "8" }, - { "timegate.opening.ypos", "6" }, - { "timegate.opening.frames", "5" }, - { "timegate_open", "RocksDC.pcx" }, - { "timegate_open.xpos", "12" }, - { "timegate_open.ypos", "6" }, - { "timegate_open.frames", "1" }, - { "timegate.closing", "RocksDC.pcx" }, - { "timegate.closing.xpos", "8" }, - { "timegate.closing.ypos", "6" }, - { "timegate.closing.frames", "5" }, - { "timegate.closing.reverse", "1" }, - - { "balloon", "RocksDC.pcx" }, - { "balloon.xpos", "12" }, - { "balloon.ypos", "7" }, - { "balloon.frames", "1" }, - { "balloon.moving", "RocksDC.pcx" }, - { "balloon.moving.xpos", "12" }, - { "balloon.moving.ypos", "7" }, - { "balloon.moving.frames", "4" }, - { "balloon.moving.pingpong", "1" }, - - { "balloon_windrose_left", "RocksDC.pcx" }, - { "balloon_windrose_left.xpos", "8" }, - { "balloon_windrose_left.ypos", "7" }, - { "balloon_windrose_left.frames", "1" }, - { "balloon_windrose_right", "RocksDC.pcx" }, - { "balloon_windrose_right.xpos", "9" }, - { "balloon_windrose_right.ypos", "7" }, - { "balloon_windrose_right.frames", "1" }, - { "balloon_windrose_up", "RocksDC.pcx" }, - { "balloon_windrose_up.xpos", "10" }, - { "balloon_windrose_up.ypos", "7" }, - { "balloon_windrose_up.frames", "1" }, - { "balloon_windrose_down", "RocksDC.pcx" }, - { "balloon_windrose_down.xpos", "11" }, - { "balloon_windrose_down.ypos", "7" }, - { "balloon_windrose_down.frames", "1" }, - { "balloon_windrose_all", "RocksDC.pcx" }, - { "balloon_windrose_all.xpos", "7" }, - { "balloon_windrose_all.ypos", "0" }, - { "balloon_windrose_all.frames", "1" }, - - { "emc_steelwall1", "RocksDC.pcx" }, - { "emc_steelwall1.xpos", "14" }, - { "emc_steelwall1.ypos", "0" }, - { "emc_steelwall1.frames", "1" }, - { "emc_steelwall2", "RocksDC.pcx" }, - { "emc_steelwall2.xpos", "14" }, - { "emc_steelwall2.ypos", "0" }, - { "emc_steelwall2.frames", "1" }, - { "emc_steelwall3", "RocksDC.pcx" }, - { "emc_steelwall3.xpos", "14" }, - { "emc_steelwall3.ypos", "0" }, - { "emc_steelwall3.frames", "1" }, - { "emc_steelwall4", "RocksDC.pcx" }, - { "emc_steelwall4.xpos", "14" }, - { "emc_steelwall4.ypos", "0" }, - { "emc_steelwall4.frames", "1" }, - - { "emc_wall_pillar_upper", "RocksDC.pcx" }, - { "emc_wall_pillar_upper.xpos", "13" }, - { "emc_wall_pillar_upper.ypos", "6" }, - { "emc_wall_pillar_upper.frames", "1" }, - { "emc_wall_pillar_middle", "RocksDC.pcx" }, - { "emc_wall_pillar_middle.xpos", "14" }, - { "emc_wall_pillar_middle.ypos", "6" }, - { "emc_wall_pillar_middle.frames", "1" }, - { "emc_wall_pillar_lower", "RocksDC.pcx" }, - { "emc_wall_pillar_lower.xpos", "15" }, - { "emc_wall_pillar_lower.ypos", "6" }, - { "emc_wall_pillar_lower.frames", "1" }, - - { "emc_wall4", "RocksDC.pcx" }, - { "emc_wall4.xpos", "14" }, - { "emc_wall4.ypos", "1" }, - { "emc_wall4.frames", "1" }, - { "emc_wall5", "RocksDC.pcx" }, - { "emc_wall5.xpos", "15" }, - { "emc_wall5.ypos", "1" }, - { "emc_wall5.frames", "1" }, - { "emc_wall6", "RocksDC.pcx" }, - { "emc_wall6.xpos", "14" }, - { "emc_wall6.ypos", "2" }, - { "emc_wall6.frames", "1" }, - { "emc_wall7", "RocksDC.pcx" }, - { "emc_wall7.xpos", "15" }, - { "emc_wall7.ypos", "2" }, - { "emc_wall7.frames", "1" }, - { "emc_wall8", "RocksDC.pcx" }, - { "emc_wall8.xpos", "14" }, - { "emc_wall8.ypos", "1" }, - { "emc_wall8.frames", "1" }, - - { "arrow_blue_left", "RocksMore.pcx" }, - { "arrow_blue_left.xpos", "0" }, - { "arrow_blue_left.ypos", "0" }, - { "arrow_blue_left.frames", "1" }, - { "arrow_blue_right", "RocksMore.pcx" }, - { "arrow_blue_right.xpos", "1" }, - { "arrow_blue_right.ypos", "0" }, - { "arrow_blue_right.frames", "1" }, - { "arrow_blue_up", "RocksMore.pcx" }, - { "arrow_blue_up.xpos", "2" }, - { "arrow_blue_up.ypos", "0" }, - { "arrow_blue_up.frames", "1" }, - { "arrow_blue_down", "RocksMore.pcx" }, - { "arrow_blue_down.xpos", "3" }, - { "arrow_blue_down.ypos", "0" }, - { "arrow_blue_down.frames", "1" }, - - { "arrow_red_left", "RocksMore.pcx" }, - { "arrow_red_left.xpos", "0" }, - { "arrow_red_left.ypos", "1" }, - { "arrow_red_left.frames", "1" }, - { "arrow_red_right", "RocksMore.pcx" }, - { "arrow_red_right.xpos", "1" }, - { "arrow_red_right.ypos", "1" }, - { "arrow_red_right.frames", "1" }, - { "arrow_red_up", "RocksMore.pcx" }, - { "arrow_red_up.xpos", "2" }, - { "arrow_red_up.ypos", "1" }, - { "arrow_red_up.frames", "1" }, - { "arrow_red_down", "RocksMore.pcx" }, - { "arrow_red_down.xpos", "3" }, - { "arrow_red_down.ypos", "1" }, - { "arrow_red_down.frames", "1" }, - - { "scrollbar_blue", "RocksMore.pcx" }, - { "scrollbar_blue.xpos", "0" }, - { "scrollbar_blue.ypos", "2" }, - { "scrollbar_blue.frames", "1" }, - { "scrollbar_red", "RocksMore.pcx" }, - { "scrollbar_red.xpos", "1" }, - { "scrollbar_red.ypos", "2" }, - { "scrollbar_red.frames", "1" }, - { "scrollbar_green", "RocksMore.pcx" }, - { "scrollbar_green.xpos", "2" }, - { "scrollbar_green.ypos", "2" }, - { "scrollbar_green.frames", "1" }, - { "scrollbar_yellow", "RocksMore.pcx" }, - { "scrollbar_yellow.xpos", "3" }, - { "scrollbar_yellow.ypos", "2" }, - { "scrollbar_yellow.frames", "1" }, - - { "pearl", "RocksMore.pcx" }, - { "pearl.xpos", "0" }, - { "pearl.ypos", "3" }, - { "pearl.frames", "1" }, - { "pearl.breaking", "RocksMore.pcx" }, - { "pearl.breaking.xpos", "0" }, - { "pearl.breaking.ypos", "4" }, - { "pearl.breaking.frames", "4" }, - - { "crystal", "RocksMore.pcx" }, - { "crystal.xpos", "1" }, - { "crystal.ypos", "3" }, - { "crystal.frames", "1" }, - - { "wall_pearl", "RocksMore.pcx" }, - { "wall_pearl.xpos", "2" }, - { "wall_pearl.ypos", "3" }, - { "wall_pearl.frames", "1" }, - - { "wall_crystal", "RocksMore.pcx" }, - { "wall_crystal.xpos", "3" }, - { "wall_crystal.ypos", "3" }, - { "wall_crystal.frames", "1" }, - - { "spring", "RocksMore.pcx" }, - { "spring.xpos", "0" }, - { "spring.ypos", "5" }, - { "spring.frames", "1" }, - - { "tube_right_down", "RocksMore.pcx" }, - { "tube_right_down.xpos", "1" }, - { "tube_right_down.ypos", "5" }, - { "tube_right_down.frames", "1" }, - - { "tube_horizontal_down", "RocksMore.pcx" }, - { "tube_horizontal_down.xpos", "2" }, - { "tube_horizontal_down.ypos", "5" }, - { "tube_horizontal_down.frames", "1" }, - - { "tube_left_down", "RocksMore.pcx" }, - { "tube_left_down.xpos", "3" }, - { "tube_left_down.ypos", "5" }, - { "tube_left_down.frames", "1" }, - - { "tube_horizontal", "RocksMore.pcx" }, - { "tube_horizontal.xpos", "0" }, - { "tube_horizontal.ypos", "6" }, - { "tube_horizontal.frames", "1" }, - - { "tube_vertical_right", "RocksMore.pcx" }, - { "tube_vertical_right.xpos", "1" }, - { "tube_vertical_right.ypos", "6" }, - { "tube_vertical_right.frames", "1" }, - - { "tube_all", "RocksMore.pcx" }, - { "tube_all.xpos", "2" }, - { "tube_all.ypos", "6" }, - { "tube_all.frames", "1" }, - - { "tube_vertical_left", "RocksMore.pcx" }, - { "tube_vertical_left.xpos", "3" }, - { "tube_vertical_left.ypos", "6" }, - { "tube_vertical_left.frames", "1" }, - - { "tube_vertical", "RocksMore.pcx" }, - { "tube_vertical.xpos", "0" }, - { "tube_vertical.ypos", "7" }, - { "tube_vertical.frames", "1" }, - - { "tube_right_up", "RocksMore.pcx" }, - { "tube_right_up.xpos", "1" }, - { "tube_right_up.ypos", "7" }, - { "tube_right_up.frames", "1" }, - - { "tube_horizontal_up", "RocksMore.pcx" }, - { "tube_horizontal_up.xpos", "2" }, - { "tube_horizontal_up.ypos", "7" }, - { "tube_horizontal_up.frames", "1" }, - - { "tube_left_up", "RocksMore.pcx" }, - { "tube_left_up.xpos", "3" }, - { "tube_left_up.ypos", "7" }, - { "tube_left_up.frames", "1" }, - - { "trap_inactive", "RocksMore.pcx" }, - { "trap_inactive.xpos", "4" }, - { "trap_inactive.ypos", "0" }, - { "trap_inactive.frames", "1" }, - { "trap_active", "RocksMore.pcx" }, - { "trap_active.xpos", "7" }, - { "trap_active.ypos", "0" }, - { "trap_active.frames", "1" }, - { "trap.activating", "RocksMore.pcx" }, - { "trap.activating.xpos", "4" }, - { "trap.activating.ypos", "0" }, - { "trap.activating.frames", "4" }, - - { "bd_wall", "RocksMore.pcx" }, - { "bd_wall.xpos", "4" }, - { "bd_wall.ypos", "1" }, - { "bd_wall.frames", "1" }, - - { "bd_rock", "RocksMore.pcx" }, - { "bd_rock.xpos", "4" }, - { "bd_rock.ypos", "2" }, - { "bd_rock.frames", "1" }, - { "bd_rock.falling", "RocksMore.pcx" }, - { "bd_rock.falling.xpos", "4" }, - { "bd_rock.falling.ypos", "2" }, - { "bd_rock.falling.frames", "1" }, - { "bd_rock.pushing", "RocksMore.pcx" }, - { "bd_rock.pushing.xpos", "4" }, - { "bd_rock.pushing.ypos", "2" }, - { "bd_rock.pushing.frames", "4" }, - - { "dx_bomb", "RocksMore.pcx" }, - { "dx_bomb.xpos", "7" }, - { "dx_bomb.ypos", "1" }, - { "dx_bomb.frames", "1" }, - - { NULL, NULL } + { "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_1.step_offset", &door_1.step_offset }, + { "door_1.step_delay", &door_1.step_delay }, + { "door_1.anim_mode", &door_1.anim_mode }, + { "door_2.step_offset", &door_2.step_offset }, + { "door_2.step_delay", &door_2.step_delay }, + { "door_2.anim_mode", &door_2.anim_mode }, + + { NULL, NULL, } }; -struct ConfigInfo sound_config[] = -{ - /* sounds for Boulder Dash style elements and actions */ - { "bd_empty_space.digging", "empty.wav" }, - { "bd_sand.digging", "schlurf.wav" }, - { "bd_diamond.collecting", "pong.wav" }, - { "bd_diamond.impact", "pling.wav" }, - { "bd_rock.pushing", "pusch.wav" }, - { "bd_rock.impact", "klopf.wav" }, - { "bd_magic_wall.activating", "quirk.wav" }, - { "bd_magic_wall.active", "miep.wav" }, - { "bd_magic_wall.changing", "quirk.wav" }, - { "bd_amoeba.waiting", SND_FILE_UNDEFINED }, - { "bd_amoeba.creating", "amoebe.wav" }, - { "bd_amoeba.turning_to_gem", "pling.wav" }, - { "bd_amoeba.turning_to_rock", "klopf.wav" }, - { "bd_butterfly.moving", "klapper.wav" }, - { "bd_butterfly.waiting", "klapper.wav" }, - { "bd_firefly.moving", "roehr.wav" }, - { "bd_firefly.waiting", "roehr.wav" }, - { "bd_exit.passing", "buing.wav" }, - - /* sounds for Supaplex style elements and actions */ - { "sp_empty_space.digging", "empty.wav" }, - { "sp_base.digging", "base.wav" }, - { "sp_buggy_base.digging", "base.wav" }, - { "sp_buggy_base.activating", "bug.wav" }, - { "sp_infotron.collecting", "infotron.wav" }, - { "sp_infotron.impact", "pling.wav" }, - { "sp_zonk.pushing", "zonkpush.wav" }, - { "sp_zonk.impact", "zonkdown.wav" }, - { "sp_disk_red.collecting", "infotron.wav" }, - { "sp_disk_orange.pushing", "zonkpush.wav" }, - { "sp_disk_yellow.pushing", "pusch.wav" }, - { "sp_port.passing", "gate.wav" }, - { "sp_exit.passing", "exit.wav" }, - { "sp_element.exploding", "booom.wav" }, - { "sp_sniksnak.moving", SND_FILE_UNDEFINED }, - { "sp_sniksnak.waiting", SND_FILE_UNDEFINED }, - { "sp_electron.moving", SND_FILE_UNDEFINED }, - { "sp_electron.waiting", SND_FILE_UNDEFINED }, - { "sp_terminal.activating", SND_FILE_UNDEFINED }, - { "sp_terminal.active", SND_FILE_UNDEFINED }, - - /* sounds for Sokoban style elements and actions */ - { "sokoban_object.pushing", "pusch.wav" }, - { "sokoban_field.filling", "deng.wav" }, - { "sokoban_field.emptying", SND_FILE_UNDEFINED }, - { "sokoban_game.solving", "buing.wav" }, - - /* sounds for Emerald Mine style elements and actions */ - { "empty_space.digging", "empty.wav" }, - { "sand.digging", "schlurf.wav" }, - { "emerald.collecting", "pong.wav" }, - { "emerald.impact", "pling.wav" }, - { "diamond.collecting", "pong.wav" }, - { "diamond.impact", "pling.wav" }, - { "diamond.breaking", "quirk.wav" }, - { "rock.pushing", "pusch.wav" }, - { "rock.impact", "klopf.wav" }, - { "bomb.pushing", "pusch.wav" }, - { "nut.pushing", "knurk.wav" }, - { "nut.cracking", "knack.wav" }, - { "nut.impact", "klumpf.wav" }, - { "dynamite.collecting", "pong.wav" }, - { "dynamite.dropping", "deng.wav" }, - { "dynamite.actice", "zisch.wav" }, - { "key.collecting", "pong.wav" }, - { "gate.passing", "gate.wav" }, - { "bug.moving", "klapper.wav" }, - { "bug.waiting", "klapper.wav" }, - { "spaceship.moving", "roehr.wav" }, - { "spaceship.waiting", "roehr.wav" }, - { "yamyam.moving", SND_FILE_UNDEFINED }, - { "yamyam.waiting", "njam.wav" }, - { "yamyam.eating", SND_FILE_UNDEFINED }, - { "robot.stepping", "schlurf.wav" }, - { "robot.waiting", SND_FILE_UNDEFINED }, - { "robot_wheel.activating", "deng.wav" }, - { "robot_wheel.active", "miep.wav" }, - { "magic_wall.activating", "quirk.wav" }, - { "magic_wall.active", "miep.wav" }, - { "magic_wall.changing", "quirk.wav" }, - { "amoeba.waiting", SND_FILE_UNDEFINED }, - { "amoeba.creating", "amoebe.wav" }, - { "amoeba_drop.creating", SND_FILE_UNDEFINED }, - { "acid.splashing", "blurb.wav" }, - { "quicksand.filling", SND_FILE_UNDEFINED }, - { "quicksand.slipping", SND_FILE_UNDEFINED }, - { "quicksand.emptying", SND_FILE_UNDEFINED }, - { "exit.opening", "oeffnen.wav" }, - { "exit.passing", "buing.wav" }, - - /* sounds for Emerald Mine Club style elements and actions */ - { "balloon.moving", SND_FILE_UNDEFINED }, - { "balloon.waiting", SND_FILE_UNDEFINED }, - { "balloon.pushing", "schlurf.wav" }, - { "balloon_switch.activating", SND_FILE_UNDEFINED }, - { "spring.moving", SND_FILE_UNDEFINED }, - { "spring.pushing", "pusch.wav" }, - { "spring.impact", "klopf.wav" }, - { "wall.growing", SND_FILE_UNDEFINED }, - /* sounds for Diamond Caves style elements and actions */ - { "pearl.collecting", "pong.wav" }, - { "pearl.breaking", "knack.wav" }, - { "pearl.impact", "pling.wav" }, - { "crystal.collecting", "pong.wav" }, - { "crystal.impact", "pling.wav" }, - { "envelope.collecting", "pong.wav" }, - { "sand_invisible.digging", "schlurf.wav" }, - { "shield_normal.collecting", "pong.wav" }, - { "shield_normal.active", SND_FILE_UNDEFINED }, - { "shield_deadly.collecting", "pong.wav" }, - { "shield_deadly.active", SND_FILE_UNDEFINED }, - { "extra_time.collecting", "gong.wav" }, - { "mole.moving", SND_FILE_UNDEFINED }, - { "mole.waiting", SND_FILE_UNDEFINED }, - { "mole.eating", "blurb.wav" }, - { "switchgate_switch.activating", SND_FILE_UNDEFINED }, - { "switchgate.opening", "oeffnen.wav" }, - { "switchgate.closing", "oeffnen.wav" }, - { "switchgate.passing", "gate.wav" }, - { "timegate_wheel.activating", "deng.wav" }, - { "timegate_wheel.active", "miep.wav" }, - { "timegate.opening", "oeffnen.wav" }, - { "timegate.closing", "oeffnen.wav" }, - { "timegate.passing", "gate.wav" }, - { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED }, - { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED }, - { "conveyor_belt.active", SND_FILE_UNDEFINED }, - { "light_switch.activating", SND_FILE_UNDEFINED }, - { "light_switch.deactivating", SND_FILE_UNDEFINED }, +/* ------------------------------------------------------------------------- */ +/* font definitions */ +/* ------------------------------------------------------------------------- */ - /* sounds for DX Boulderdash style elements and actions */ - { "dx_bomb.pushing", "pusch.wav" }, - { "trap_inactive.digging", "schlurf.wav" }, - { "trap.activating", SND_FILE_UNDEFINED }, - { "tube.passing", SND_FILE_UNDEFINED }, +/* Important: When one entry is a prefix of another entry, the longer entry + must come first, because the dynamic configuration does prefix matching! */ - /* sounds for Rocks'n'Diamonds style elements and actions */ - { "amoeba.turning_to_gem", "pling.wav" }, - { "amoeba.turning_to_rock", "klopf.wav" }, - { "speed_pill.collecting", "pong.wav" }, - { "dynabomb_nr.collecting", "pong.wav" }, - { "dynabomb_sz.collecting", "pong.wav" }, - { "dynabomb_xl.collecting", "pong.wav" }, - { "dynabomb.dropping", "deng.wav" }, - { "dynabomb.actice", "zisch.wav" }, - { "satellite.moving", SND_FILE_UNDEFINED }, - { "satellite.waiting", SND_FILE_UNDEFINED }, - { "satellite.pushing", "pusch.wav" }, - { "lamp.activating", "deng.wav" }, - { "lamp.deactivating", "deng.wav" }, - { "time_orb_full.collecting", "gong.wav" }, - { "time_orb_full.impact", "deng.wav" }, - { "time_orb_empty.pushing", "pusch.wav" }, - { "time_orb_empty.impact", "deng.wav" }, - { "gameoflife.waiting", SND_FILE_UNDEFINED }, - { "gameoflife.creating", "amoebe.wav" }, - { "biomaze.waiting", SND_FILE_UNDEFINED }, - { "biomaze.creating", "amoebe.wav" }, - { "pacman.moving", SND_FILE_UNDEFINED }, - { "pacman.waiting", SND_FILE_UNDEFINED }, - { "pacman.eating", SND_FILE_UNDEFINED }, - { "dark_yamyam.moving", SND_FILE_UNDEFINED }, - { "dark_yamyam.waiting", "njam.wav" }, - { "dark_yamyam.eating", SND_FILE_UNDEFINED }, - { "penguin.moving", SND_FILE_UNDEFINED }, - { "penguin.waiting", SND_FILE_UNDEFINED }, - { "penguin.passing_exit", "buing.wav" }, - { "pig.moving", SND_FILE_UNDEFINED }, - { "pig.waiting", SND_FILE_UNDEFINED }, - { "pig.eating", SND_FILE_UNDEFINED }, - { "dragon.moving", SND_FILE_UNDEFINED }, - { "dragon.waiting", SND_FILE_UNDEFINED }, - { "dragon.attacking", SND_FILE_UNDEFINED }, - - /* sounds for generic elements and actions */ - { "player.dying", "autsch.wav" }, - { "element.exploding", "roaaar.wav" }, - - /* sounds for other game actions */ - { "game.starting", SND_FILE_UNDEFINED }, - { "game.running_out_of_time", "gong.wav" }, - { "game.leveltime_bonus", "sirr.wav" }, - { "game.losing", "lachen.wav" }, - { "game.winning", SND_FILE_UNDEFINED }, - - /* sounds for other non-game actions */ - { "menu.door_opening", "oeffnen.wav" }, - { "menu.door_closing", "oeffnen.wav" }, - { "menu.hall_of_fame", "halloffame.wav" }, - { "menu.info_screen", "rhythmloop.wav" }, - -#if 0 - { "[not used]", "antigrav.wav" }, - { "[not used]", "bong.wav" }, - { "[not used]", "fuel.wav" }, - { "[not used]", "holz.wav" }, - { "[not used]", "hui.wav" }, - { "[not used]", "kabumm.wav" }, - { "[not used]", "kink.wav" }, - { "[not used]", "kling.wav" }, - { "[not used]", "krach.wav" }, - { "[not used]", "laser.wav" }, - { "[not used]", "quiek.wav" }, - { "[not used]", "rumms.wav" }, - { "[not used]", "schlopp.wav" }, - { "[not used]", "schrff.wav" }, - { "[not used]", "schwirr.wav" }, - { "[not used]", "slurp.wav" }, - { "[not used]", "sproing.wav" }, - { "[not used]", "warnton.wav" }, - { "[not used]", "whoosh.wav" }, - { "[not used]", "boom.wav" }, -#endif - - { NULL, NULL } -}; - -struct FileInfo *image_files; -struct FileInfo *sound_files; - -struct ElementInfo element_info[MAX_ELEMENTS] = +struct FontInfo font_info[NUM_FONTS + 1] = { - { "empty_space", "empty space" }, /* 0 */ - { "sand", "sand" }, - { "wall", "normal wall" }, - { "wall", "round wall" }, - { "rock", "rock" }, - { "key", "key" }, - { "emerald", "emerald" }, - { "exit", "closed exit" }, - { "player", "player" }, - { "bug", "bug" }, - { "spaceship", "spaceship" }, /* 10 */ - { "yamyam", "yam yam" }, - { "robot", "robot" }, - { "wall", "steel wall" }, - { "diamond", "diamond" }, - { "amoeba", "dead amoeba" }, - { "quicksand", "empty quicksand" }, - { "quicksand", "quicksand with rock" }, - { "amoeba", "amoeba drop" }, - { "bomb", "bomb" }, - { "magic_wall", "magic wall" }, /* 20 */ - { "speed_pill", "speed pill" }, - { "acid", "acid pool" }, - { "amoeba", "dropping amoeba" }, - { "amoeba", "normal amoeba" }, - { "nut", "nut with emerald" }, - { "gameoflife", "Conway's wall of life" }, - { "biomaze", "biomaze" }, - { "dynamite", "burning dynamite" }, - { NULL, "unknown" }, - { "robot_wheel", "magic wheel" }, /* 30 */ - { "robot_wheel", "magic wheel (running)" }, - { "key", "red key" }, - { "key", "yellow key" }, - { "key", "green key" }, - { "key", "blue key" }, - { "gate", "red door" }, - { "gate", "yellow door" }, - { "gate", "green door" }, - { "gate", "blue door" }, - { "gate", "gray door (opened by red key)" }, /* 40 */ - { "gate", "gray door (opened by yellow key)"}, - { "gate", "gray door (opened by green key)"}, - { "gate", "gray door (opened by blue key)"}, - { "dynamite", "dynamite" }, - { "pacman", "pac man" }, - { "wall", "invisible normal wall" }, - { "lamp", "lamp (off)" }, - { "lamp", "lamp (on)" }, - { "wall", "wall with emerald" }, - { "wall", "wall with diamond" }, /* 50 */ - { "amoeba", "amoeba with content" }, - { "bd_amoeba", "amoeba (BD style)" }, - { "time_orb_full", "time orb (full)" }, - { "time_orb_empty", "time orb (empty)" }, - { "wall", "growing wall" }, - { "bd_diamond", "diamond (BD style)" }, - { "emerald", "yellow emerald" }, - { "wall", "wall with BD style diamond" }, - { "wall", "wall with yellow emerald" }, - { "dark_yamyam", "dark yam yam" }, /* 60 */ - { "bd_magic_wall", "magic wall (BD style)" }, - { "wall", "invisible steel wall" }, - { NULL, "-" }, - { "dynabomb_nr", "increases number of bombs" }, - { "dynabomb_sz", "increases explosion size" }, - { "dynabomb_xl", "increases power of explosion" }, - { "sokoban_object", "sokoban object" }, - { "sokoban_field", "sokoban empty field" }, - { "sokoban_field", "sokoban field with object" }, - { "bd_butterfly", "butterfly (starts moving right)"}, /* 70 */ - { "bd_butterfly", "butterfly (starts moving up)" }, - { "bd_butterfly", "butterfly (starts moving left)"}, - { "bd_butterfly", "butterfly (starts moving down)"}, - { "bd_firefly", "firefly (starts moving right)" }, - { "bd_firefly", "firefly (starts moving up)" }, - { "bd_firefly", "firefly (starts moving left)" }, - { "bd_firefly", "firefly (starts moving down)" }, - { "bd_butterfly", "butterfly" }, - { "bd_firefly", "firefly" }, - { "player", "yellow player" }, /* 80 */ - { "player", "red player" }, - { "player", "green player" }, - { "player", "blue player" }, - { "bug", "bug (starts moving right)" }, - { "bug", "bug (starts moving up)" }, - { "bug", "bug (starts moving left)" }, - { "bug", "bug (starts moving down)" }, - { "spaceship", "spaceship (starts moving right)"}, - { "spaceship", "spaceship (starts moving up)" }, - { "spaceship", "spaceship (starts moving left)"}, /* 90 */ - { "spaceship", "spaceship (starts moving down)"}, - { "pacman", "pac man (starts moving right)" }, - { "pacman", "pac man (starts moving up)" }, - { "pacman", "pac man (starts moving left)" }, - { "pacman", "pac man (starts moving down)" }, - { "emerald", "red emerald" }, - { "emerald", "purple emerald" }, - { "wall", "wall with red emerald" }, - { "wall", "wall with purple emerald" }, - { NULL, "unknown" }, /* 100 */ - { NULL, "unknown" }, - { NULL, "unknown" }, - { NULL, "unknown" }, - { NULL, "unknown" }, - { NULL, "normal wall (BD style)" }, - { "bd_rock", "rock (BD style)" }, - { "exit", "open exit" }, - { NULL, "black orb bomb" }, - { "amoeba", "amoeba" }, - { "mole", "mole" }, /* 110 */ - { "penguin", "penguin" }, - { "satellite", "satellite" }, - { NULL, "arrow left" }, - { NULL, "arrow right" }, - { NULL, "arrow up" }, - { NULL, "arrow down" }, - { "pig", "pig" }, - { "dragon", "fire breathing dragon" }, - { "key", "red key (EM style)" }, - { NULL, "letter ' '" }, /* 120 */ - { NULL, "letter '!'" }, - { NULL, "letter '\"'" }, - { NULL, "letter '#'" }, - { NULL, "letter '$'" }, - { NULL, "letter '%'" }, - { NULL, "letter '&'" }, - { NULL, "letter '''" }, - { NULL, "letter '('" }, - { NULL, "letter ')'" }, - { NULL, "letter '*'" }, /* 130 */ - { NULL, "letter '+'" }, - { NULL, "letter ','" }, - { NULL, "letter '-'" }, - { NULL, "letter '.'" }, - { NULL, "letter '/'" }, - { NULL, "letter '0'" }, - { NULL, "letter '1'" }, - { NULL, "letter '2'" }, - { NULL, "letter '3'" }, - { NULL, "letter '4'" }, /* 140 */ - { NULL, "letter '5'" }, - { NULL, "letter '6'" }, - { NULL, "letter '7'" }, - { NULL, "letter '8'" }, - { NULL, "letter '9'" }, - { NULL, "letter ':'" }, - { NULL, "letter ';'" }, - { NULL, "letter '<'" }, - { NULL, "letter '='" }, - { NULL, "letter '>'" }, /* 150 */ - { NULL, "letter '?'" }, - { NULL, "letter '@'" }, - { NULL, "letter 'A'" }, - { NULL, "letter 'B'" }, - { NULL, "letter 'C'" }, - { NULL, "letter 'D'" }, - { NULL, "letter 'E'" }, - { NULL, "letter 'F'" }, - { NULL, "letter 'G'" }, - { NULL, "letter 'H'" }, /* 160 */ - { NULL, "letter 'I'" }, - { NULL, "letter 'J'" }, - { NULL, "letter 'K'" }, - { NULL, "letter 'L'" }, - { NULL, "letter 'M'" }, - { NULL, "letter 'N'" }, - { NULL, "letter 'O'" }, - { NULL, "letter 'P'" }, - { NULL, "letter 'Q'" }, - { NULL, "letter 'R'" }, /* 170 */ - { NULL, "letter 'S'" }, - { NULL, "letter 'T'" }, - { NULL, "letter 'U'" }, - { NULL, "letter 'V'" }, - { NULL, "letter 'W'" }, - { NULL, "letter 'X'" }, - { NULL, "letter 'Y'" }, - { NULL, "letter 'Z'" }, - { NULL, "letter 'Ä'" }, - { NULL, "letter 'Ö'" }, /* 180 */ - { NULL, "letter 'Ü'" }, - { NULL, "letter '^'" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, /* 190 */ - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { NULL, "letter ''" }, - { "wall", "growing wall (horizontal)" }, /* 200 */ - { "wall", "growing wall (vertical)" }, - { "wall", "growing wall (all directions)" }, - { "gate", "red door (EM style)" }, - { "gate", "yellow door (EM style)" }, - { "gate", "green door (EM style)" }, - { "gate", "blue door (EM style)" }, - { "key", "yellow key (EM style)" }, - { "key", "green key (EM style)" }, - { "key", "blue key (EM style)" }, - { "empty_space", "empty space" }, /* 210 */ - { "sp_zonk", "zonk" }, - { "sp_base", "base" }, - { "player", "murphy" }, - { "sp_infotron", "infotron" }, - { "wall", "chip (single)" }, - { "wall", "hardware" }, - { "sp_exit", "exit" }, - { "sp_disk_orange", "orange disk" }, - { "sp_port", "port (leading right)" }, - { "sp_port", "port (leading down)" }, /* 220 */ - { "sp_port", "port (leading left)" }, - { "sp_port", "port (leading up)" }, - { "sp_port", "port (leading right)" }, - { "sp_port", "port (leading down)" }, - { "sp_port", "port (leading left)" }, - { "sp_port", "port (leading up)" }, - { "sp_sniksnak", "snik snak" }, - { "sp_disk_yellow", "yellow disk" }, - { "sp_terminal", "terminal" }, - { "sp_disk_red", "red disk" }, /* 230 */ - { "sp_port", "port (vertical)" }, - { "sp_port", "port (horizontal)" }, - { "sp_port", "port (all directions)" }, - { "sp_electron", "electron" }, - { "sp_buggy_base", "buggy base" }, - { "wall", "chip (left half)" }, - { "wall", "chip (right half)" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, /* 240 */ - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "hardware" }, - { "wall", "chip (upper half)" }, - { "wall", "chip (lower half)" }, - { "gate", "gray door (EM style, red key)" }, /* 250 */ - { "gate", "gray door (EM style, yellow key)"}, - { "gate", "gray door (EM style, green key)"}, - { "gate", "gray door (EM style, blue key)"}, - { NULL, "unknown" }, - { NULL, "unknown" }, - - /* 256 */ - - { "pearl", "pearl" }, /* (256) */ - { "crystal", "crystal" }, - { "wall", "wall with pearl" }, - { "wall", "wall with crystal" }, - { "gate", "white door" }, /* 260 */ - { "gate", "gray door (opened by white key)"}, - { "key", "white key" }, - { "shield_normal", "shield (normal)" }, - { "extra_time", "extra time" }, - { "switchgate", "switch gate (open)" }, - { "switchgate", "switch gate (closed)" }, - { "switchgate_switch", "switch for switch gate" }, - { "switchgate_switch", "switch for switch gate" }, - { NULL, "-" }, - { NULL, "-" }, /* 270 */ - { "conveyor_belt", "red conveyor belt (left)" }, - { "conveyor_belt", "red conveyor belt (middle)" }, - { "conveyor_belt", "red conveyor belt (right)" }, - { "conveyor_belt_switch", "switch for red conveyor belt (left)"}, - { "conveyor_belt_switch", "switch for red conveyor belt (middle)"}, - { "conveyor_belt_switch", "switch for red conveyor belt (right)"}, - { "conveyor_belt", "yellow conveyor belt (left)" }, - { "conveyor_belt", "yellow conveyor belt (middle)" }, - { "conveyor_belt", "yellow conveyor belt (right)" }, - { "conveyor_belt_switch", "switch for yellow conveyor belt (left)"}, - { "conveyor_belt_switch", "switch for yellow conveyor belt (middle)"}, - { "conveyor_belt_switch", "switch for yellow conveyor belt (right)"}, - { "conveyor_belt", "green conveyor belt (left)" }, - { "conveyor_belt", "green conveyor belt (middle)" }, - { "conveyor_belt", "green conveyor belt (right)" }, - { "conveyor_belt_switch", "switch for green conveyor belt (left)"}, - { "conveyor_belt_switch", "switch for green conveyor belt (middle)"}, - { "conveyor_belt_switch", "switch for green conveyor belt (right)"}, - { "conveyor_belt", "blue conveyor belt (left)" }, - { "conveyor_belt", "blue conveyor belt (middle)" }, - { "conveyor_belt", "blue conveyor belt (right)" }, - { "conveyor_belt_switch", "switch for blue conveyor belt (left)"}, - { "conveyor_belt_switch", "switch for blue conveyor belt (middle)"}, - { "conveyor_belt_switch", "switch for blue conveyor belt (right)"}, - { "sand", "land mine" }, - { "envelope", "mail envelope" }, - { "light_switch", "light switch (off)" }, - { "light_switch", "light switch (on)" }, - { "wall", "sign (exclamation)" }, - { "wall", "sign (radio activity)" }, /* 300 */ - { "wall", "sign (stop)" }, - { "wall", "sign (wheel chair)" }, - { "wall", "sign (parking)" }, - { "wall", "sign (one way)" }, - { "wall", "sign (heart)" }, - { "wall", "sign (triangle)" }, - { "wall", "sign (round)" }, - { "wall", "sign (exit)" }, - { "wall", "sign (yin yang)" }, - { "wall", "sign (other)" }, /* 310 */ - { "mole", "mole (starts moving left)" }, - { "mole", "mole (starts moving right)" }, - { "mole", "mole (starts moving up)" }, - { "mole", "mole (starts moving down)" }, - { "wall", "steel wall (slanted)" }, - { "sand", "invisible sand" }, - { NULL, "dx unknown 15" }, - { NULL, "dx unknown 42" }, - { NULL, "-" }, - { NULL, "-" }, /* 320 */ - { "shield_deadly", "shield (deadly, kills enemies)"}, - { "timegate", "time gate (open)" }, - { "timegate", "time gate (closed)" }, - { "timegate_wheel", "switch for time gate" }, - { "timegate_wheel", "switch for time gate" }, - { "balloon", "balloon" }, - { "wall", "send balloon to the left" }, - { "wall", "send balloon to the right" }, - { "balloon_switch", "send balloon up" }, - { "balloon_switch", "send balloon down" }, /* 330 */ - { "balloon_switch", "send balloon in any direction" }, - { "wall", "steel wall" }, - { "wall", "steel wall" }, - { "wall", "steel wall" }, - { "wall", "steel wall" }, - { "wall", "normal wall" }, - { "wall", "normal wall" }, - { "wall", "normal wall" }, - { "wall", "normal wall" }, - { "wall", "normal wall" }, /* 340 */ - { "wall", "normal wall" }, - { "wall", "normal wall" }, - { "wall", "normal wall" }, - { "tube", "tube (all directions)" }, - { "tube", "tube (vertical)" }, - { "tube", "tube (horizontal)" }, - { "tube", "tube (vertical & left)" }, - { "tube", "tube (vertical & right)" }, - { "tube", "tube (horizontal & up)" }, - { "tube", "tube (horizontal & down)" }, /* 350 */ - { "tube", "tube (left & up)" }, - { "tube", "tube (left & down)" }, - { "tube", "tube (right & up)" }, - { "tube", "tube (right & down)" }, - { "spring", "spring" }, - { "trap", "trap" }, - { "dx_bomb", "stable bomb (DX style)" }, - { NULL, "-" } - - /* - "-------------------------------", - */ + { "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.envelope_1" }, + { "font.envelope_2" }, + { "font.envelope_3" }, + { "font.envelope_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" }, }; -struct GraphicInfo graphic_info[MAX_GRAPHICS]; -struct NewGraphicInfo new_graphic_info[NUM_IMAGE_FILES]; - /* ========================================================================= */ /* main() */ @@ -2818,9 +3818,14 @@ struct NewGraphicInfo new_graphic_info[NUM_IMAGE_FILES]; int main(int argc, char *argv[]) { - InitCommandName(argv[0]); + InitProgramInfo(argv[0], USERDATA_DIRECTORY, + PROGRAM_TITLE_STRING, getWindowTitleString(), + ICON_TITLE_STRING, X11_ICON_FILENAME, X11_ICONMASK_FILENAME, + MSDOS_POINTER_FILENAME, + COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL); + InitExitFunction(CloseAllAndExit); - InitPlatformDependantStuff(); + InitPlatformDependentStuff(); GetOptions(argv); OpenAll();