/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
+* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-98 Artsoft Entertainment *
-* Holger Schemel *
-* Oststrasse 11a *
-* 33604 Bielefeld *
-* phone: ++49 +521 290471 *
-* email: aeglos@valinor.owl.de *
+* (c) 1995-2002 Artsoft Entertainment *
+* Holger Schemel *
+* Detmolder Strasse 189 *
+* 33604 Bielefeld *
+* Germany *
+* e-mail: info@artsoft.org *
*----------------------------------------------------------*
-* main.c *
+* main.c *
***********************************************************/
+#include "libgame/libgame.h"
+
#include "main.h"
#include "init.h"
#include "game.h"
#include "events.h"
-#include "sound.h"
-#include "joystick.h"
-#include "misc.h"
-
-#ifdef MSDOS
-#include <fcntl.h>
-#endif
-Display *display;
-Visual *visual;
-int screen;
-Window window;
-GC gc, clip_gc[NUM_PIXMAPS], tile_clip_gc;
-Pixmap pix[NUM_PIXMAPS];
-Pixmap clipmask[NUM_PIXMAPS], tile_clipmask[NUM_TILES];
-
-#ifdef XPM_INCLUDE_FILE
-XpmAttributes xpm_att[NUM_PICTURES];
-#endif
-
-Drawable drawto, drawto_field, backbuffer, fieldbuffer;
-Colormap cmap;
-
-int sound_pipe[2];
-int sound_device;
-char *sound_device_name = SOUND_DEVICE;
-int joystick_device = 0;
-char *joystick_device_name[2] = { DEV_JOYSTICK_0, DEV_JOYSTICK_1 };
-char *level_directory = LEVEL_PATH;
-int width, height;
-
-char *program_name = NULL;
-char *display_name = NULL;
-char *server_host = NULL;
-int server_port = 0;
-int networking = FALSE;
-int standalone = TRUE;
-int verbose = FALSE;
+GC tile_clip_gc;
+Bitmap *pix[NUM_BITMAPS];
+Pixmap tile_clipmask[NUM_TILES];
+DrawBuffer *fieldbuffer;
+DrawBuffer *drawto_field;
int game_status = MAINMENU;
-int game_emulation = EMU_NONE;
-int button_status = MB_NOT_PRESSED, motion_status = FALSE;
+boolean level_editor_test_game = FALSE;
+boolean network_playing = FALSE;
+
int key_joystick_mapping = 0;
-int global_joystick_status = JOYSTICK_STATUS;
-int joystick_status = JOYSTICK_STATUS;
-int sound_status = SOUND_STATUS, sound_on = TRUE;
-int sound_loops_allowed = FALSE, sound_loops_on = FALSE;
-int sound_music_on = FALSE;
-int sound_simple_on = FALSE;
-int toons_on = TRUE;
-int direct_draw_on = FALSE;
-int scroll_delay_on = FALSE;
-int soft_scrolling_on = TRUE;
-int fading_on = FALSE;
-int autorecord_on = FALSE;
-int joystick_nr = 0;
-int quick_doors = FALSE;
-
-BOOL redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
+
+boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
int redraw_x1 = 0, redraw_y1 = 0;
-int redraw_mask;
-int redraw_tiles;
-
-int Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int JustHit[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-int AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA];
-long Elementeigenschaften[MAX_ELEMENTS];
-
-int level_nr, leveldir_nr, num_leveldirs;
+
+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];
+short GfxAction[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 = TILEX/8;
+int FX = SX, FY = SY, ScrollStepSize;
int ScreenMovDir = MV_NO_MOVING, ScreenMovPos = 0;
int ScreenGfxPos = 0;
-int GameFrameDelay = GAME_FRAME_DELAY, MoveSpeed = 8;
+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 FrameCounter, TimeFrames, TimeLeft;
-int MampferNr, SiebAktiv;
-int TestPlayer = 0;
+int TimeFrames, TimePlayed, TimeLeft;
+
+boolean network_player_action_received = FALSE;
-struct LevelDirInfo leveldir[MAX_LEVDIR_ENTRIES];
struct LevelInfo level;
-struct PlayerInfo stored_player[MAX_PLAYERS+1];
-struct PlayerInfo *local_player;
+struct PlayerInfo stored_player[MAX_PLAYERS], *local_player = NULL;
struct HiScore highscore[MAX_SCORE_ENTRIES];
-struct SoundInfo Sound[NUM_SOUNDS];
-struct RecordingInfo tape;
+struct TapeInfo tape;
+struct SetupInfo setup;
+struct GameInfo game;
+struct GlobalInfo global;
-struct JoystickInfo joystick[2] =
+/* filenames of sound effects */
+char *sound_name[NUM_SOUNDS] =
{
- { JOYSTICK_XLEFT, JOYSTICK_XRIGHT, JOYSTICK_XMIDDLE,
- JOYSTICK_YUPPER, JOYSTICK_YLOWER, JOYSTICK_YMIDDLE },
- { JOYSTICK_XLEFT, JOYSTICK_XRIGHT, JOYSTICK_XMIDDLE,
- JOYSTICK_YUPPER, JOYSTICK_YLOWER, JOYSTICK_YMIDDLE }
+ "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"
};
-/* data needed for playing sounds */
-char *sound_name[NUM_SOUNDS] =
+/* this is used to reduce memory usage of the different animation types */
+int graphics_action_mapping[] =
{
- "alchemy",
- "amoebe",
- "antigrav",
- "autsch",
- "blurb",
- "bong",
- "buing",
- "chase",
- "czardasz",
- "deng",
- "fuel",
- "gong",
- "halloffame",
- "holz",
- "hui",
- "kabumm",
- "kink",
- "klapper",
- "kling",
- "klopf",
- "klumpf",
- "knack",
- "knurk",
- "krach",
- "lachen",
- "laser",
- "miep",
- "network",
- "njam",
- "oeffnen",
- "pling",
- "pong",
- "pusch",
- "quiek",
- "quirk",
- "rhythmloop",
- "roaaar",
- "roehr",
- "rumms",
- "schlopp",
- "schlurf",
- "schrff",
- "schwirr",
- "sirr",
- "slurp",
- "sproing",
- "twilight",
- "tyger",
- "voyager",
- "warnton",
- "whoosh",
- "zisch"
+ 0, /* GFX_ACTION_DEFAULT (0) */
+ 0, /* GFX_ACTION_WAITING (1) */
+
+ 1, /* GFX_ACTION_FALLING (2) */
+ 2, /* GFX_ACTION_MOVING (3) */
+ 3, /* GFX_ACTION_DIGGING (4) */
+ 4, /* GFX_ACTION_SNAPPING (5) */
+ 5, /* GFX_ACTION_COLLECTING (6) */
+ 6, /* GFX_ACTION_PUSHING (7) */
+
+ 7, /* GFX_ACTION_PASSING (8) */
+ 7, /* GFX_ACTION_IMPACT (9) */
+ 7, /* GFX_ACTION_CRACKING (10) */
+ 7, /* GFX_ACTION_ACTIVATING (11) */
+ 7, /* GFX_ACTION_EATING (12) */
+ 7, /* GFX_ACTION_ATTACKING (13) */
+ 7, /* GFX_ACTION_GROWING (14) */
+ 7 /* GFX_ACTION_OTHER (15) */
};
-/* background music */
-int background_loop[] =
+struct ConfigInfo image_config_suffix[] =
{
- SND_ALCHEMY,
- SND_CHASE,
- SND_NETWORK,
- SND_CZARDASZ,
- SND_TYGER,
- SND_VOYAGER,
- SND_TWILIGHT
+ { ".xpos", "0" },
+ { ".ypos", "0" },
+ { ".offset", "32" },
+ { ".vertical", "0" },
+ { ".frames", "1" },
+#if 0
+ { ".start_frame", "-1" },
+#endif
+ { ".delay", "1" },
+ { ".mode_loop", "0" },
+ { ".mode_linear", "0" },
+ { ".mode_pingpong", "0" },
+ { ".mode_pingpong2", "0" },
+ { ".mode_reverse", "0" },
+ { ".global_sync", "0" },
+
+ { NULL, NULL }
};
-int num_bg_loops = sizeof(background_loop)/sizeof(int);
-int main(int argc, char *argv[])
+struct ConfigInfo sound_config_suffix[] =
{
- program_name = (strrchr(argv[0],'/') ? strrchr(argv[0],'/') + 1 : argv[0]);
+ { NULL, NULL }
+};
+
+struct ConfigInfo image_config[] =
+{
+ /* images for Boulder Dash style elements and actions */
+
+ { "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.moving_left", "RocksMore.pcx" },
+ { "bd_rock.moving_left.xpos", "4" },
+ { "bd_rock.moving_left.ypos", "2" },
+ { "bd_rock.moving_left.frames", "4" },
+ { "bd_rock.moving_left.delay", "2" },
+ { "bd_rock.moving_right", "RocksMore.pcx" },
+ { "bd_rock.moving_right.xpos", "4" },
+ { "bd_rock.moving_right.ypos", "2" },
+ { "bd_rock.moving_right.frames", "4" },
+ { "bd_rock.moving_right.delay", "2" },
+ { "bd_rock.moving_right.mode_reverse", "1" },
+
+ { "bd_diamond", "RocksElements.pcx" },
+ { "bd_diamond.xpos", "0" },
+ { "bd_diamond.ypos", "10" },
+ { "bd_diamond.frames", "4" },
+ { "bd_diamond.delay", "4" },
+ { "bd_diamond.mode_reverse", "1" },
+ { "bd_diamond.falling", "RocksElements.pcx" },
+ { "bd_diamond.falling.xpos", "3" },
+ { "bd_diamond.falling.ypos", "10" },
+ { "bd_diamond.falling.frames", "2" },
+
+ { "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" },
+ { "bd_magic_wall.active.mode_reverse", "1" },
+ { "bd_magic_wall.active.delay", "4" },
+ { "bd_magic_wall.filling", "RocksElements.pcx" },
+ { "bd_magic_wall.filling.xpos", "12" },
+ { "bd_magic_wall.filling.ypos", "10" },
+ { "bd_magic_wall.filling.frames", "4" },
+ { "bd_magic_wall.filling.mode_reverse", "1" },
+ { "bd_magic_wall.filling.delay", "4" },
+ { "bd_magic_wall.full", "RocksElements.pcx" },
+ { "bd_magic_wall.full.xpos", "12" },
+ { "bd_magic_wall.full.ypos", "10" },
+ { "bd_magic_wall.full.frames", "4" },
+ { "bd_magic_wall.full.mode_reverse", "1" },
+ { "bd_magic_wall.full.delay", "4" },
+ { "bd_magic_wall.emptying", "RocksElements.pcx" },
+ { "bd_magic_wall.emptying.xpos", "12" },
+ { "bd_magic_wall.emptying.ypos", "10" },
+ { "bd_magic_wall.emptying.frames", "4" },
+ { "bd_magic_wall.emptying.mode_reverse", "1" },
+ { "bd_magic_wall.emptying.delay", "4" },
+ { "bd_magic_wall.dead", "RocksElements.pcx" },
+ { "bd_magic_wall.dead.xpos", "12" },
+ { "bd_magic_wall.dead.ypos", "10" },
+ { "bd_magic_wall.dead.frames", "1" },
+
+ { "bd_amoeba", "RocksElements.pcx" },
+ { "bd_amoeba.xpos", "8" },
+ { "bd_amoeba.ypos", "7" },
+ { "bd_amoeba.frames", "1" },
+ { "bd_amoeba.part1", "RocksElements.pcx" },
+ { "bd_amoeba.part1.xpos", "8" },
+ { "bd_amoeba.part1.ypos", "6" },
+ { "bd_amoeba.part1.frames", "1" },
+ { "bd_amoeba.part2", "RocksElements.pcx" },
+ { "bd_amoeba.part2.xpos", "9" },
+ { "bd_amoeba.part2.ypos", "6" },
+ { "bd_amoeba.part2.frames", "1" },
+ { "bd_amoeba.part3", "RocksElements.pcx" },
+ { "bd_amoeba.part3.xpos", "10" },
+ { "bd_amoeba.part3.ypos", "6" },
+ { "bd_amoeba.part3.frames", "1" },
+ { "bd_amoeba.part4", "RocksElements.pcx" },
+ { "bd_amoeba.part4.xpos", "11" },
+ { "bd_amoeba.part4.ypos", "6" },
+ { "bd_amoeba.part4.frames", "1" },
+
+ { "bd_butterfly", "RocksElements.pcx" },
+ { "bd_butterfly.xpos", "4" },
+ { "bd_butterfly.ypos", "12" },
+ { "bd_butterfly.frames", "2" },
+ { "bd_butterfly.mode_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.mode_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.mode_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.mode_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" },
+
+ /* images for Supaplex style elements and actions */
+
+ { "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.moving_left", "RocksSP.pcx" },
+ { "sp_zonk.moving_left.xpos", "0" },
+ { "sp_zonk.moving_left.ypos", "6" },
+ { "sp_zonk.moving_left.frames", "4" },
+ { "sp_zonk.moving_left.delay", "2" },
+ { "sp_zonk.moving_right", "RocksSP.pcx" },
+ { "sp_zonk.moving_right.xpos", "0" },
+ { "sp_zonk.moving_right.ypos", "6" },
+ { "sp_zonk.moving_right.frames", "4" },
+ { "sp_zonk.moving_right.delay", "2" },
+ { "sp_zonk.moving_right.mode_reverse", "1" },
+
+ { "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.mode_pingpong", "1" },
+ { "sp_murphy_left.moving.delay", "2" },
+ { "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.mode_pingpong", "1" },
+ { "sp_murphy_left.digging.delay", "2" },
+ { "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.mode_pingpong", "1" },
+ { "sp_murphy_right.moving.delay", "2" },
+ { "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.mode_pingpong", "1" },
+ { "sp_murphy_right.digging.delay", "2" },
+ { "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.mode_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.mode_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.mode_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.mode_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.delay", "12" },
+ { "sp_terminal.active", "RocksSP.pcx" },
+ { "sp_terminal.active.xpos", "8" },
+ { "sp_terminal.active.ypos", "12" },
+ { "sp_terminal.active.frames", "7" },
+ { "sp_terminal.active.delay", "4" },
+
+ { "sp_buggy_base", "RocksSP.pcx" },
+ { "sp_buggy_base.xpos", "1" },
+ { "sp_buggy_base.ypos", "3" },
+ { "sp_buggy_base.frames", "1" },
+ { "sp_buggy_base.active", "RocksSP.pcx" },
+ { "sp_buggy_base.active.xpos", "8" },
+ { "sp_buggy_base.active.ypos", "6" },
+ { "sp_buggy_base.active.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" },
+
+ { "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" },
+
+ /* images for Sokoban style elements and actions */
+
+ { "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" },
+
+ /* 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" },
+
+ { "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" },
+
+ { "steelwall", "RocksElements.pcx" },
+ { "steelwall.xpos", "4" },
+ { "steelwall.ypos", "0" },
+ { "steelwall.frames", "1" },
+
+ { "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.moving_left", "RocksElements.pcx" },
+ { "rock.moving_left.xpos", "12" },
+ { "rock.moving_left.ypos", "0" },
+ { "rock.moving_left.frames", "4" },
+ { "rock.moving_left.delay", "2" },
+ { "rock.moving_right", "RocksElements.pcx" },
+ { "rock.moving_right.xpos", "12" },
+ { "rock.moving_right.ypos", "0" },
+ { "rock.moving_right.frames", "4" },
+ { "rock.moving_right.delay", "2" },
+ { "rock.moving_right.mode_reverse", "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" },
+
+ { "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" },
+ { "nut.cracking.delay", "2" },
+ { "nut.cracking.mode_linear", "1" },
+
+ { "dynamite", "RocksElements.pcx" },
+ { "dynamite.xpos", "0" },
+ { "dynamite.ypos", "3" },
+ { "dynamite.frames", "1" },
+ { "dynamite.active", "RocksElements.pcx" },
+ { "dynamite.active.xpos", "1" },
+ { "dynamite.active.ypos", "3" },
+ { "dynamite.active.frames", "7" },
+ { "dynamite.active.delay", "12" },
+ { "dynamite.active.mode_linear", "1" },
+
+ { "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" },
+
+ { "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" },
+
+ { "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" },
+
+ { "yamyam", "RocksElements.pcx" },
+ { "yamyam.xpos", "0" },
+ { "yamyam.ypos", "5" },
+ { "yamyam.frames", "4" },
+ { "yamyam.mode_pingpong2", "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.mode_pingpong2", "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" },
+
+ { "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" },
+ { "magic_wall.active.mode_reverse", "1" },
+ { "magic_wall.active.delay", "4" },
+ { "magic_wall.filling", "RocksElements.pcx" },
+ { "magic_wall.filling.xpos", "0" },
+ { "magic_wall.filling.ypos", "8" },
+ { "magic_wall.filling.frames", "4" },
+ { "magic_wall.filling.mode_reverse", "1" },
+ { "magic_wall.filling.delay", "4" },
+ { "magic_wall.full", "RocksElements.pcx" },
+ { "magic_wall.full.xpos", "0" },
+ { "magic_wall.full.ypos", "8" },
+ { "magic_wall.full.frames", "4" },
+ { "magic_wall.full.mode_reverse", "1" },
+ { "magic_wall.full.delay", "4" },
+ { "magic_wall.emptying", "RocksElements.pcx" },
+ { "magic_wall.emptying.xpos", "0" },
+ { "magic_wall.emptying.ypos", "8" },
+ { "magic_wall.emptying.frames", "4" },
+ { "magic_wall.emptying.mode_reverse", "1" },
+ { "magic_wall.emptying.delay", "4" },
+ { "magic_wall.dead", "RocksElements.pcx" },
+ { "magic_wall.dead.xpos", "0" },
+ { "magic_wall.dead.ypos", "8" },
+ { "magic_wall.dead.frames", "1" },
+
+ { "quicksand_empty", "RocksElements.pcx" },
+ { "quicksand_empty.xpos", "2" },
+ { "quicksand_empty.ypos", "0" },
+ { "quicksand_empty.frames", "1" },
+ { "quicksand.filling", "RocksElements.pcx" },
+ { "quicksand.filling.xpos", "3" },
+ { "quicksand.filling.ypos", "0" },
+ { "quicksand.filling.frames", "1" },
+ { "quicksand_full", "RocksElements.pcx" },
+ { "quicksand_full.xpos", "3" },
+ { "quicksand_full.ypos", "0" },
+ { "quicksand_full.frames", "1" },
+ { "quicksand.emptying", "RocksElements.pcx" },
+ { "quicksand.emptying.xpos", "3" },
+ { "quicksand.emptying.ypos", "0" },
+ { "quicksand.emptying.frames", "1" },
+
+ { "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" },
+ { "acid.delay", "10" },
+
+ { "acid_splash_left", "RocksHeroes.pcx" },
+ { "acid_splash_left.xpos", "8" },
+ { "acid_splash_left.ypos", "10" },
+ { "acid_splash_left.frames", "4" },
+ { "acid_splash_left.delay", "2" },
+ { "acid_splash_right", "RocksHeroes.pcx" },
+ { "acid_splash_right.xpos", "12" },
+ { "acid_splash_right.ypos", "10" },
+ { "acid_splash_right.frames", "4" },
+ { "acid_splash_right.delay", "2" },
+
+ { "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" },
+ { "amoeba.creating.delay", "2" },
+ { "amoeba.creating.mode_linear", "1" },
+ { "amoeba.shrinking", "RocksElements.pcx" },
+ { "amoeba.shrinking.xpos", "5" },
+ { "amoeba.shrinking.ypos", "6" },
+ { "amoeba.shrinking.frames", "3" },
+ { "amoeba.shrinking.delay", "2" },
+ { "amoeba.shrinking.mode_linear", "1" },
+ { "amoeba.shrinking.mode_reverse", "1" },
+ { "amoeba_wet", "RocksElements.pcx" },
+ { "amoeba_wet.xpos", "8" },
+ { "amoeba_wet.ypos", "6" },
+ { "amoeba_wet.frames", "1" },
+ { "amoeba_wet.part1", "RocksElements.pcx" },
+ { "amoeba_wet.part1.xpos", "8" },
+ { "amoeba_wet.part1.ypos", "6" },
+ { "amoeba_wet.part1.frames", "1" },
+ { "amoeba_wet.part2", "RocksElements.pcx" },
+ { "amoeba_wet.part2.xpos", "9" },
+ { "amoeba_wet.part2.ypos", "6" },
+ { "amoeba_wet.part2.frames", "1" },
+ { "amoeba_wet.part3", "RocksElements.pcx" },
+ { "amoeba_wet.part3.xpos", "10" },
+ { "amoeba_wet.part3.ypos", "6" },
+ { "amoeba_wet.part3.frames", "1" },
+ { "amoeba_wet.part4", "RocksElements.pcx" },
+ { "amoeba_wet.part4.xpos", "11" },
+ { "amoeba_wet.part4.ypos", "6" },
+ { "amoeba_wet.part4.frames", "1" },
+ { "amoeba_dry", "RocksElements.pcx" },
+ { "amoeba_dry.xpos", "8" },
+ { "amoeba_dry.ypos", "6" },
+ { "amoeba_dry.frames", "1" },
+ { "amoeba_dry.part1", "RocksElements.pcx" },
+ { "amoeba_dry.part1.xpos", "8" },
+ { "amoeba_dry.part1.ypos", "6" },
+ { "amoeba_dry.part1.frames", "1" },
+ { "amoeba_dry.part2", "RocksElements.pcx" },
+ { "amoeba_dry.part2.xpos", "9" },
+ { "amoeba_dry.part2.ypos", "6" },
+ { "amoeba_dry.part2.frames", "1" },
+ { "amoeba_dry.part3", "RocksElements.pcx" },
+ { "amoeba_dry.part3.xpos", "10" },
+ { "amoeba_dry.part3.ypos", "6" },
+ { "amoeba_dry.part3.frames", "1" },
+ { "amoeba_dry.part4", "RocksElements.pcx" },
+ { "amoeba_dry.part4.xpos", "11" },
+ { "amoeba_dry.part4.ypos", "6" },
+ { "amoeba_dry.part4.frames", "1" },
+ { "amoeba_full", "RocksElements.pcx" },
+ { "amoeba_full.xpos", "8" },
+ { "amoeba_full.ypos", "6" },
+ { "amoeba_full.frames", "1" },
+ { "amoeba_full.part1", "RocksElements.pcx" },
+ { "amoeba_full.part1.xpos", "8" },
+ { "amoeba_full.part1.ypos", "6" },
+ { "amoeba_full.part1.frames", "1" },
+ { "amoeba_full.part2", "RocksElements.pcx" },
+ { "amoeba_full.part2.xpos", "9" },
+ { "amoeba_full.part2.ypos", "6" },
+ { "amoeba_full.part2.frames", "1" },
+ { "amoeba_full.part3", "RocksElements.pcx" },
+ { "amoeba_full.part3.xpos", "10" },
+ { "amoeba_full.part3.ypos", "6" },
+ { "amoeba_full.part3.frames", "1" },
+ { "amoeba_full.part4", "RocksElements.pcx" },
+ { "amoeba_full.part4.xpos", "11" },
+ { "amoeba_full.part4.ypos", "6" },
+ { "amoeba_full.part4.frames", "1" },
+ { "amoeba_dead", "RocksElements.pcx" },
+ { "amoeba_dead.xpos", "12" },
+ { "amoeba_dead.ypos", "6" },
+ { "amoeba_dead.frames", "1" },
+ { "amoeba_dead.part1", "RocksElements.pcx" },
+ { "amoeba_dead.part1.xpos", "12" },
+ { "amoeba_dead.part1.ypos", "6" },
+ { "amoeba_dead.part1.frames", "1" },
+ { "amoeba_dead.part2", "RocksElements.pcx" },
+ { "amoeba_dead.part2.xpos", "13" },
+ { "amoeba_dead.part2.ypos", "6" },
+ { "amoeba_dead.part2.frames", "1" },
+ { "amoeba_dead.part3", "RocksElements.pcx" },
+ { "amoeba_dead.part3.xpos", "14" },
+ { "amoeba_dead.part3.ypos", "6" },
+ { "amoeba_dead.part3.frames", "1" },
+ { "amoeba_dead.part4", "RocksElements.pcx" },
+ { "amoeba_dead.part4.xpos", "15" },
+ { "amoeba_dead.part4.ypos", "6" },
+ { "amoeba_dead.part4.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" },
+
+ { "exit_closed", "RocksElements.pcx" },
+ { "exit_closed.xpos", "0" },
+ { "exit_closed.ypos", "11" },
+ { "exit_closed.frames", "1" },
+ { "exit.opening", "RocksElements.pcx" },
+ { "exit.opening.xpos", "0" },
+ { "exit.opening.ypos", "11" },
+ { "exit.opening.frames", "5" },
+ { "exit.opening.delay", "6" },
+ { "exit.opening.mode_linear", "1" },
+ { "exit_open", "RocksElements.pcx" },
+ { "exit_open.xpos", "4" },
+ { "exit_open.ypos", "11" },
+ { "exit_open.frames", "4" },
+ { "exit_open.delay", "4" },
+ { "exit_open.mode_pingpong", "1" },
+
+ /* images for Emerald Mine Club style elements and actions */
+
+ { "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.mode_pingpong", "1" },
+ { "balloon.moving.delay", "2" },
+
+ { "balloon_send_left", "RocksDC.pcx" },
+ { "balloon_send_left.xpos", "8" },
+ { "balloon_send_left.ypos", "7" },
+ { "balloon_send_left.frames", "1" },
+ { "balloon_send_right", "RocksDC.pcx" },
+ { "balloon_send_right.xpos", "9" },
+ { "balloon_send_right.ypos", "7" },
+ { "balloon_send_right.frames", "1" },
+ { "balloon_send_up", "RocksDC.pcx" },
+ { "balloon_send_up.xpos", "10" },
+ { "balloon_send_up.ypos", "7" },
+ { "balloon_send_up.frames", "1" },
+ { "balloon_send_down", "RocksDC.pcx" },
+ { "balloon_send_down.xpos", "11" },
+ { "balloon_send_down.ypos", "7" },
+ { "balloon_send_down.frames", "1" },
+ { "balloon_send_any_direction", "RocksDC.pcx" },
+ { "balloon_send_any_direction.xpos", "7" },
+ { "balloon_send_any_direction.ypos", "0" },
+ { "balloon_send_any_direction.frames", "1" },
+
+ { "spring", "RocksMore.pcx" },
+ { "spring.xpos", "0" },
+ { "spring.ypos", "5" },
+ { "spring.frames", "1" },
+ { "spring.moving", "RocksMore.pcx" },
+ { "spring.moving.xpos", "0" },
+ { "spring.moving.ypos", "5" },
+ { "spring.moving.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" },
+
+ /* images for Diamond Caves style elements and actions */
+
+ { "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_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" },
+
+ { "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" },
+
+ { "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_middle.active.delay", "2" },
+ { "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_left.active.delay", "2" },
+ { "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_right.active.delay", "2" },
+ { "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_middle.active.delay", "2" },
+ { "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_left.active.delay", "2" },
+ { "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_right.active.delay", "2" },
+ { "conveyor_belt2_right.active.delay", "2" },
+ { "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_middle.active.delay", "2" },
+ { "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_left.active.delay", "2" },
+ { "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_right.active.delay", "2" },
+ { "conveyor_belt3_right.active.delay", "2" },
+ { "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_middle.active.delay", "2" },
+ { "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_left.active.delay", "2" },
+ { "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_right.active.delay", "2" },
+ { "conveyor_belt4_right.active.delay", "2" },
+ { "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_switch", "RocksDC.pcx" },
+ { "timegate_switch.xpos", "0" },
+ { "timegate_switch.ypos", "15" },
+ { "timegate_switch.frames", "1" },
+ { "timegate_switch.active", "RocksDC.pcx" },
+ { "timegate_switch.active.xpos", "0" },
+ { "timegate_switch.active.ypos", "15" },
+ { "timegate_switch.active.frames", "4" },
+
+ { "envelope", "RocksDC.pcx" },
+ { "envelope.xpos", "4" },
+ { "envelope.ypos", "14" },
+ { "envelope.frames", "1" },
-#ifdef MSDOS
- _fmode = O_BINARY;
+ { "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" },
+ { "extra_time.delay", "4" },
+
+ { "shield_normal", "RocksDC.pcx" },
+ { "shield_normal.xpos", "8" },
+ { "shield_normal.ypos", "2" },
+ { "shield_normal.frames", "6" },
+ { "shield_normal.delay", "4" },
+
+ { "shield_deadly", "RocksDC.pcx" },
+ { "shield_deadly.xpos", "8" },
+ { "shield_deadly.ypos", "1" },
+ { "shield_deadly.frames", "6" },
+ { "shield_deadly.delay", "4" },
+
+ { "shield_normal.active", "RocksHeroes.pcx" },
+ { "shield_normal.active.xpos", "1" },
+ { "shield_normal.active.ypos", "13" },
+ { "shield_normal.active.frames", "3" },
+ { "shield_normal.active.delay", "8" },
+ { "shield_normal.active.mode_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.delay", "8" },
+ { "shield_deadly.active.mode_pingpong", "1" },
+
+ { "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.opening.delay", "6" },
+ { "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.delay", "6" },
+ { "switchgate.closing.mode_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.opening.delay", "6" },
+ { "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.delay", "6" },
+ { "timegate.closing.mode_reverse", "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" },
+ { "pearl.breaking.delay", "2" },
+ { "pearl.breaking.mode_linear", "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" },
+
+ /* images for DX Boulderdash style elements and actions */
+
+ { "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", "RocksMore.pcx" },
+ { "trap.xpos", "4" },
+ { "trap.ypos", "0" },
+ { "trap.frames", "1" },
+ { "trap.active", "RocksMore.pcx" },
+ { "trap.active.xpos", "4" },
+ { "trap.active.ypos", "0" },
+ { "trap.active.frames", "4" },
+ { "trap.active.delay", "4" },
+ { "trap.active.mode_pingpong2", "1" },
+
+ { "dx_supabomb", "RocksMore.pcx" },
+ { "dx_supabomb.xpos", "7" },
+ { "dx_supabomb.ypos", "1" },
+ { "dx_supabomb.frames", "1" },
+
+ /* images for Rocks'n'Diamonds style elements and actions */
+
+ { "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" },
+
+ { "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" },
+
+ { "gameoflife", "RocksElements.pcx" },
+ { "gameoflife.xpos", "8" },
+ { "gameoflife.ypos", "1" },
+ { "gameoflife.frames", "1" },
+
+ { "biomaze", "RocksElements.pcx" },
+ { "biomaze.xpos", "9" },
+ { "biomaze.ypos", "1" },
+ { "biomaze.frames", "1" },
+
+ { "pacman_right", "RocksElements.pcx" },
+ { "pacman_right.xpos", "8" },
+ { "pacman_right.ypos", "5" },
+ { "pacman_right.frames", "2" },
+ { "pacman_right.mode_reverse", "1" },
+ { "pacman_right.delay", "4" },
+ { "pacman_up", "RocksElements.pcx" },
+ { "pacman_up.xpos", "10" },
+ { "pacman_up.ypos", "5" },
+ { "pacman_up.frames", "2" },
+ { "pacman_up.mode_reverse", "1" },
+ { "pacman_up.delay", "4" },
+ { "pacman_left", "RocksElements.pcx" },
+ { "pacman_left.xpos", "12" },
+ { "pacman_left.ypos", "5" },
+ { "pacman_left.frames", "2" },
+ { "pacman_left.mode_reverse", "1" },
+ { "pacman_left.delay", "4" },
+ { "pacman_down", "RocksElements.pcx" },
+ { "pacman_down.xpos", "14" },
+ { "pacman_down.ypos", "5" },
+ { "pacman_down.frames", "2" },
+ { "pacman_down.mode_reverse", "1" },
+ { "pacman_down.delay", "4" },
+
+ { "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" },
+
+ { "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" },
+ { "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" },
+
+ { "wall_emerald_yellow", "RocksElements.pcx" },
+ { "wall_emerald_yellow.xpos", "8" },
+ { "wall_emerald_yellow.ypos", "8" },
+ { "wall_emerald_yellow.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_bd_diamond", "RocksElements.pcx" },
+ { "wall_bd_diamond.xpos", "9" },
+ { "wall_bd_diamond.ypos", "8" },
+ { "wall_bd_diamond.frames", "1" },
+
+ { "wall_growing", "RocksElements.pcx" },
+ { "wall_growing.xpos", "11" },
+ { "wall_growing.ypos", "10" },
+ { "wall_growing.frames", "1" },
+ { "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" },
+
+ { "wall_growing_active_left", "RocksElements.pcx" },
+ { "wall_growing_active_left.xpos", "8" },
+ { "wall_growing_active_left.ypos", "10" },
+ { "wall_growing_active_left.frames", "3" },
+ { "wall_growing_active_left.delay", "6" },
+ { "wall_growing_active_right", "RocksElements.pcx" },
+ { "wall_growing_active_right.xpos", "5" },
+ { "wall_growing_active_right.ypos", "10" },
+ { "wall_growing_active_right.frames", "3" },
+ { "wall_growing_active_right.delay", "6" },
+ { "wall_growing_active_up", "RocksHeroes.pcx" },
+ { "wall_growing_active_up.xpos", "3" },
+ { "wall_growing_active_up.ypos", "12" },
+ { "wall_growing_active_up.frames", "3" },
+ { "wall_growing_active_up.delay", "6" },
+ { "wall_growing_active_down", "RocksHeroes.pcx" },
+ { "wall_growing_active_down.xpos", "0" },
+ { "wall_growing_active_down.ypos", "12" },
+ { "wall_growing_active_down.frames", "3" },
+ { "wall_growing_active_down.delay", "6" },
+
+ { "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" },
+
+ { "dark_yamyam", "RocksElements.pcx" },
+ { "dark_yamyam.xpos", "8" },
+ { "dark_yamyam.ypos", "11" },
+ { "dark_yamyam.frames", "4" },
+ { "dark_yamyam.mode_pingpong2", "1" },
+
+ { "dynabomb.active", "RocksElements.pcx" },
+ { "dynabomb.active.xpos", "12" },
+ { "dynabomb.active.ypos", "11" },
+ { "dynabomb.active.frames", "4" },
+ { "dynabomb.active.delay", "6" },
+ { "dynabomb.active.mode_pingpong", "1" },
+ { "dynabomb_player1.active", "RocksElements.pcx" },
+ { "dynabomb_player1.active.xpos", "12" },
+ { "dynabomb_player1.active.ypos", "11" },
+ { "dynabomb_player1.active.frames", "4" },
+ { "dynabomb_player1.active.delay", "6" },
+ { "dynabomb_player1.active.mode_pingpong", "1" },
+ { "dynabomb_player2.active", "RocksElements.pcx" },
+ { "dynabomb_player2.active.xpos", "12" },
+ { "dynabomb_player2.active.ypos", "11" },
+ { "dynabomb_player2.active.frames", "4" },
+ { "dynabomb_player2.active.delay", "6" },
+ { "dynabomb_player2.active.mode_pingpong", "1" },
+ { "dynabomb_player3.active", "RocksElements.pcx" },
+ { "dynabomb_player3.active.xpos", "12" },
+ { "dynabomb_player3.active.ypos", "11" },
+ { "dynabomb_player3.active.frames", "4" },
+ { "dynabomb_player3.active.delay", "6" },
+ { "dynabomb_player3.active.mode_pingpong", "1" },
+ { "dynabomb_player4.active", "RocksElements.pcx" },
+ { "dynabomb_player4.active.xpos", "12" },
+ { "dynabomb_player4.active.ypos", "11" },
+ { "dynabomb_player4.active.frames", "4" },
+ { "dynabomb_player4.active.delay", "6" },
+ { "dynabomb_player4.active.mode_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" },
+ { "dynabomb_xl", "RocksElements.pcx" },
+ { "dynabomb_xl.xpos", "12" },
+ { "dynabomb_xl.ypos", "9" },
+ { "dynabomb_xl.frames", "1" },
+
+ { "pig", "RocksHeroes.pcx" },
+ { "pig.xpos", "8" },
+ { "pig.ypos", "0" },
+ { "pig.frames", "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.moving.delay", "2" },
+ { "pig_down.eating", "RocksHeroes.pcx" },
+ { "pig_down.eating.xpos", "8" },
+ { "pig_down.eating.ypos", "0" },
+ { "pig_down.eating.frames", "4" },
+ { "pig_down.eating.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "pig_up.eating", "RocksHeroes.pcx" },
+ { "pig_up.eating.xpos", "12" },
+ { "pig_up.eating.ypos", "0" },
+ { "pig_up.eating.frames", "4" },
+ { "pig_up.eating.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "pig_left.eating", "RocksHeroes.pcx" },
+ { "pig_left.eating.xpos", "8" },
+ { "pig_left.eating.ypos", "1" },
+ { "pig_left.eating.frames", "4" },
+ { "pig_left.eating.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "pig_right.eating", "RocksHeroes.pcx" },
+ { "pig_right.eating.xpos", "12" },
+ { "pig_right.eating.ypos", "1" },
+ { "pig_right.eating.frames", "4" },
+ { "pig_right.eating.delay", "2" },
+
+ { "dragon", "RocksHeroes.pcx" },
+ { "dragon.xpos", "8" },
+ { "dragon.ypos", "2" },
+ { "dragon.frames", "1" },
+ { "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.moving.delay", "2" },
+ { "dragon_down.attacking", "RocksHeroes.pcx" },
+ { "dragon_down.attacking.xpos", "8" },
+ { "dragon_down.attacking.ypos", "2" },
+ { "dragon_down.attacking.frames", "1" },
+ { "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.moving.delay", "2" },
+ { "dragon_up.attacking", "RocksHeroes.pcx" },
+ { "dragon_up.attacking.xpos", "12" },
+ { "dragon_up.attacking.ypos", "2" },
+ { "dragon_up.attacking.frames", "1" },
+ { "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.moving.delay", "2" },
+ { "dragon_left.attacking", "RocksHeroes.pcx" },
+ { "dragon_left.attacking.xpos", "8" },
+ { "dragon_left.attacking.ypos", "3" },
+ { "dragon_left.attacking.frames", "1" },
+ { "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.moving.delay", "2" },
+ { "dragon_right.attacking", "RocksHeroes.pcx" },
+ { "dragon_right.attacking.xpos", "12" },
+ { "dragon_right.attacking.ypos", "3" },
+ { "dragon_right.attacking.frames", "1" },
+
+ { "mole", "RocksHeroes.pcx" },
+ { "mole.xpos", "8" },
+ { "mole.ypos", "4" },
+ { "mole.frames", "1" },
+ { "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.moving.delay", "2" },
+ { "mole_down.digging", "RocksHeroes.pcx" },
+ { "mole_down.digging.xpos", "8" },
+ { "mole_down.digging.ypos", "4" },
+ { "mole_down.digging.frames", "4" },
+ { "mole_down.digging.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "mole_up.digging", "RocksHeroes.pcx" },
+ { "mole_up.digging.xpos", "12" },
+ { "mole_up.digging.ypos", "4" },
+ { "mole_up.digging.frames", "4" },
+ { "mole_up.digging.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "mole_left.digging", "RocksHeroes.pcx" },
+ { "mole_left.digging.xpos", "8" },
+ { "mole_left.digging.ypos", "5" },
+ { "mole_left.digging.frames", "4" },
+ { "mole_left.digging.delay", "2" },
+ { "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.moving.delay", "2" },
+ { "mole_right.digging", "RocksHeroes.pcx" },
+ { "mole_right.digging.xpos", "12" },
+ { "mole_right.digging.ypos", "5" },
+ { "mole_right.digging.frames", "4" },
+ { "mole_right.digging.delay", "2" },
+
+ { "penguin", "RocksHeroes.pcx" },
+ { "penguin.xpos", "8" },
+ { "penguin.ypos", "6" },
+ { "penguin.frames", "1" },
+ { "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_down.moving.delay", "2" },
+ { "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_up.moving.delay", "2" },
+ { "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_left.moving.delay", "2" },
+ { "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" },
+ { "penguin_right.moving.delay", "2" },
+
+ { "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" },
+
+ { "flames_left1", "RocksHeroes.pcx" },
+ { "flames_left1.xpos", "8" },
+ { "flames_left1.ypos", "12" },
+ { "flames_left1.frames", "2" },
+ { "flames_left1.offset", "96" },
+ { "flames_left2", "RocksHeroes.pcx" },
+ { "flames_left2.xpos", "9" },
+ { "flames_left2.ypos", "12" },
+ { "flames_left2.frames", "2" },
+ { "flames_left2.offset", "96" },
+ { "flames_left3", "RocksHeroes.pcx" },
+ { "flames_left3.xpos", "10" },
+ { "flames_left3.ypos", "12" },
+ { "flames_left3.frames", "2" },
+ { "flames_left3.offset", "96" },
+
+ { "flames_right1", "RocksHeroes.pcx" },
+ { "flames_right1.xpos", "8" },
+ { "flames_right1.ypos", "13" },
+ { "flames_right1.frames", "2" },
+ { "flames_right1.offset", "96" },
+ { "flames_right2", "RocksHeroes.pcx" },
+ { "flames_right2.xpos", "9" },
+ { "flames_right2.ypos", "13" },
+ { "flames_right2.frames", "2" },
+ { "flames_right2.offset", "96" },
+ { "flames_right3", "RocksHeroes.pcx" },
+ { "flames_right3.xpos", "10" },
+ { "flames_right3.ypos", "13" },
+ { "flames_right3.frames", "2" },
+ { "flames_right3.offset", "96" },
+
+ { "flames_up1", "RocksHeroes.pcx" },
+ { "flames_up1.xpos", "8" },
+ { "flames_up1.ypos", "14" },
+ { "flames_up1.frames", "2" },
+ { "flames_up1.offset", "96" },
+ { "flames_up2", "RocksHeroes.pcx" },
+ { "flames_up2.xpos", "9" },
+ { "flames_up2.ypos", "14" },
+ { "flames_up2.frames", "2" },
+ { "flames_up2.offset", "96" },
+ { "flames_up3", "RocksHeroes.pcx" },
+ { "flames_up3.xpos", "10" },
+ { "flames_up3.ypos", "14" },
+ { "flames_up3.frames", "2" },
+ { "flames_up3.offset", "96" },
+
+ { "flames_down1", "RocksHeroes.pcx" },
+ { "flames_down1.xpos", "8" },
+ { "flames_down1.ypos", "15" },
+ { "flames_down1.frames", "2" },
+ { "flames_down1.offset", "96" },
+ { "flames_down2", "RocksHeroes.pcx" },
+ { "flames_down2.xpos", "9" },
+ { "flames_down2.ypos", "15" },
+ { "flames_down2.frames", "2" },
+ { "flames_down2.offset", "96" },
+ { "flames_down3", "RocksHeroes.pcx" },
+ { "flames_down3.xpos", "10" },
+ { "flames_down3.ypos", "15" },
+ { "flames_down3.frames", "2" },
+ { "flames_down3.offset", "96" },
+
+ { "stoneblock", "RocksElements.pcx" },
+ { "stoneblock.xpos", "10" },
+ { "stoneblock.ypos", "1" },
+ { "stoneblock.frames", "1" },
+
+ /* images for generic elements and actions */
+
+ { "player1", "RocksHeroes.pcx" },
+ { "player1.xpos", "0" },
+ { "player1.ypos", "0" },
+ { "player1.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_down.pushing", "RocksHeroes.pcx" },
+ { "player1_down.pushing.xpos", "0" },
+ { "player1_down.pushing.ypos", "2" },
+ { "player1_down.pushing.frames", "4" },
+ { "player1_down.snapping", "RocksHeroes.pcx" },
+ { "player1_down.snapping.xpos", "0" },
+ { "player1_down.snapping.ypos", "0" },
+ { "player1_down.snapping.frames", "1" },
+ { "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_up.pushing", "RocksHeroes.pcx" },
+ { "player1_up.pushing.xpos", "4" },
+ { "player1_up.pushing.ypos", "0" },
+ { "player1_up.pushing.frames", "4" },
+ { "player1_up.snapping", "RocksHeroes.pcx" },
+ { "player1_up.snapping.xpos", "4" },
+ { "player1_up.snapping.ypos", "0" },
+ { "player1_up.snapping.frames", "1" },
+ { "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_left.snapping", "RocksHeroes.pcx" },
+ { "player1_left.snapping.xpos", "0" },
+ { "player1_left.snapping.ypos", "1" },
+ { "player1_left.snapping.frames", "1" },
+ { "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" },
+ { "player1_right.snapping", "RocksHeroes.pcx" },
+ { "player1_right.snapping.xpos", "4" },
+ { "player1_right.snapping.ypos", "1" },
+ { "player1_right.snapping.frames", "1" },
+
+ { "player2", "RocksHeroes.pcx" },
+ { "player2.xpos", "0" },
+ { "player2.ypos", "3" },
+ { "player2.frames", "1" },
+ { "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_down.pushing", "RocksHeroes.pcx" },
+ { "player2_down.pushing.xpos", "0" },
+ { "player2_down.pushing.ypos", "5" },
+ { "player2_down.pushing.frames", "4" },
+ { "player2_down.snapping", "RocksHeroes.pcx" },
+ { "player2_down.snapping.xpos", "0" },
+ { "player2_down.snapping.ypos", "3" },
+ { "player2_down.snapping.frames", "1" },
+ { "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_up.pushing", "RocksHeroes.pcx" },
+ { "player2_up.pushing.xpos", "4" },
+ { "player2_up.pushing.ypos", "3" },
+ { "player2_up.pushing.frames", "4" },
+ { "player2_up.snapping", "RocksHeroes.pcx" },
+ { "player2_up.snapping.xpos", "4" },
+ { "player2_up.snapping.ypos", "3" },
+ { "player2_up.snapping.frames", "1" },
+ { "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_left.snapping", "RocksHeroes.pcx" },
+ { "player2_left.snapping.xpos", "0" },
+ { "player2_left.snapping.ypos", "4" },
+ { "player2_left.snapping.frames", "1" },
+ { "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" },
+ { "player2_right.snapping", "RocksHeroes.pcx" },
+ { "player2_right.snapping.xpos", "4" },
+ { "player2_right.snapping.ypos", "4" },
+ { "player2_right.snapping.frames", "1" },
+
+ { "player3", "RocksHeroes.pcx" },
+ { "player3.xpos", "0" },
+ { "player3.ypos", "6" },
+ { "player3.frames", "1" },
+ { "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_down.pushing", "RocksHeroes.pcx" },
+ { "player3_down.pushing.xpos", "0" },
+ { "player3_down.pushing.ypos", "8" },
+ { "player3_down.pushing.frames", "4" },
+ { "player3_down.snapping", "RocksHeroes.pcx" },
+ { "player3_down.snapping.xpos", "0" },
+ { "player3_down.snapping.ypos", "6" },
+ { "player3_down.snapping.frames", "1" },
+ { "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_up.pushing", "RocksHeroes.pcx" },
+ { "player3_up.pushing.xpos", "4" },
+ { "player3_up.pushing.ypos", "6" },
+ { "player3_up.pushing.frames", "4" },
+ { "player3_up.snapping", "RocksHeroes.pcx" },
+ { "player3_up.snapping.xpos", "4" },
+ { "player3_up.snapping.ypos", "6" },
+ { "player3_up.snapping.frames", "1" },
+ { "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_left.snapping", "RocksHeroes.pcx" },
+ { "player3_left.snapping.xpos", "0" },
+ { "player3_left.snapping.ypos", "7" },
+ { "player3_left.snapping.frames", "1" },
+ { "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" },
+ { "player3_right.snapping", "RocksHeroes.pcx" },
+ { "player3_right.snapping.xpos", "4" },
+ { "player3_right.snapping.ypos", "7" },
+ { "player3_right.snapping.frames", "1" },
+
+ { "player4", "RocksHeroes.pcx" },
+ { "player4.xpos", "0" },
+ { "player4.ypos", "9" },
+ { "player4.frames", "1" },
+ { "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_down.pushing", "RocksHeroes.pcx" },
+ { "player4_down.pushing.xpos", "0" },
+ { "player4_down.pushing.ypos", "11" },
+ { "player4_down.pushing.frames", "4" },
+ { "player4_down.snapping", "RocksHeroes.pcx" },
+ { "player4_down.snapping.xpos", "0" },
+ { "player4_down.snapping.ypos", "9" },
+ { "player4_down.snapping.frames", "1" },
+ { "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_up.pushing", "RocksHeroes.pcx" },
+ { "player4_up.pushing.xpos", "4" },
+ { "player4_up.pushing.ypos", "9" },
+ { "player4_up.pushing.frames", "4" },
+ { "player4_up.snapping", "RocksHeroes.pcx" },
+ { "player4_up.snapping.xpos", "4" },
+ { "player4_up.snapping.ypos", "9" },
+ { "player4_up.snapping.frames", "1" },
+ { "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", "10" },
+ { "player4_left.moving.frames", "4" },
+ { "player4_left.digging", "RocksHeroes.pcx" },
+ { "player4_left.digging.xpos", "0" },
+ { "player4_left.digging.ypos", "10" },
+ { "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_left.snapping", "RocksHeroes.pcx" },
+ { "player4_left.snapping.xpos", "0" },
+ { "player4_left.snapping.ypos", "10" },
+ { "player4_left.snapping.frames", "1" },
+ { "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" },
+ { "player4_right.snapping", "RocksHeroes.pcx" },
+ { "player4_right.snapping.xpos", "4" },
+ { "player4_right.snapping.ypos", "10" },
+ { "player4_right.snapping.frames", "1" },
+
+ { "explosion", "RocksElements.pcx" },
+ { "explosion.xpos", "0" },
+ { "explosion.ypos", "4" },
+ { "explosion.frames", "8" },
+
+ { "twinkle_blue", "RocksHeroes.pcx" },
+ { "twinkle_blue.xpos", "9" },
+ { "twinkle_blue.ypos", "11" },
+ { "twinkle_blue.frames", "3" },
+ { "twinkle_blue.delay", "2" },
+ { "twinkle_blue.mode_pingpong", "1" },
+ { "twinkle_white", "RocksHeroes.pcx" },
+ { "twinkle_white.xpos", "13" },
+ { "twinkle_white.ypos", "11" },
+ { "twinkle_white.frames", "3" },
+ { "twinkle_white.delay", "2" },
+ { "twinkle_white.mode_pingpong", "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", "2" },
+ { "steelwall_bottomleft.ypos", "13" },
+ { "steelwall_bottomleft.frames", "1" },
+ { "steelwall_bottomright", "RocksElements.pcx" },
+ { "steelwall_bottomright.xpos", "3" },
+ { "steelwall_bottomright.ypos", "13" },
+ { "steelwall_bottomright.frames", "1" },
+ { "steelwall_horizontal", "RocksElements.pcx" },
+ { "steelwall_horizontal.xpos", "4" },
+ { "steelwall_horizontal.ypos", "13" },
+ { "steelwall_horizontal.frames", "1" },
+ { "steelwall_vertical", "RocksElements.pcx" },
+ { "steelwall_vertical.xpos", "5" },
+ { "steelwall_vertical.ypos", "13" },
+ { "steelwall_vertical.frames", "1" },
+
+ { "invisible_steelwall_topleft", "RocksElements.pcx" },
+ { "invisible_steelwall_topleft.xpos", "6" },
+ { "invisible_steelwall_topleft.ypos", "13" },
+ { "invisible_steelwall_topleft.frames", "1" },
+ { "invisible_steelwall_topright", "RocksElements.pcx" },
+ { "invisible_steelwall_topright.xpos", "7" },
+ { "invisible_steelwall_topright.ypos", "13" },
+ { "invisible_steelwall_topright.frames", "1" },
+ { "invisible_steelwall_bottomleft", "RocksElements.pcx" },
+ { "invisible_steelwall_bottomleft.xpos", "8" },
+ { "invisible_steelwall_bottomleft.ypos", "13" },
+ { "invisible_steelwall_bottomleft.frames", "1" },
+ { "invisible_steelwall_bottomright", "RocksElements.pcx" },
+ { "invisible_steelwall_bottomright.xpos", "9" },
+ { "invisible_steelwall_bottomright.ypos", "13" },
+ { "invisible_steelwall_bottomright.frames", "1" },
+ { "invisible_steelwall_horizontal", "RocksElements.pcx" },
+ { "invisible_steelwall_horizontal.xpos", "10" },
+ { "invisible_steelwall_horizontal.ypos", "13" },
+ { "invisible_steelwall_horizontal.frames", "1" },
+ { "invisible_steelwall_vertical", "RocksElements.pcx" },
+ { "invisible_steelwall_vertical.xpos", "11" },
+ { "invisible_steelwall_vertical.ypos", "13" },
+ { "invisible_steelwall_vertical.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" },
+
+ { "ball_red", "RocksElements.pcx" },
+ { "ball_red.xpos", "12" },
+ { "ball_red.ypos", "8" },
+ { "ball_red.frames", "1" },
+ { "ball_blue", "RocksElements.pcx" },
+ { "ball_blue.xpos", "13" },
+ { "ball_blue.ypos", "8" },
+ { "ball_blue.frames", "1" },
+ { "ball_yellow", "RocksElements.pcx" },
+ { "ball_yellow.xpos", "14" },
+ { "ball_yellow.ypos", "8" },
+ { "ball_yellow.frames", "1" },
+ { "ball_gray", "RocksElements.pcx" },
+ { "ball_gray.xpos", "15" },
+ { "ball_gray.ypos", "8" },
+ { "ball_gray.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" },
+
+#include "conf_chr.c" /* include auto-generated data structure definitions */
+
+ { 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.active", "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_exit.opening", SND_FILE_UNDEFINED },
+ { "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.active", "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_switch.activating", "deng.wav" },
+ { "timegate_switch.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 },
+
+ /* 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 },
+
+ /* 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.active", "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] =
+{
+ { "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_switch", "switch for time gate" },
+ { "timegate_switch", "switch for time gate" },
+ { "balloon", "balloon" },
+ { "balloon_switch", "send balloon to the left" },
+ { "balloon_switch", "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, "-" }
+
+ /*
+ "-------------------------------",
+ */
+};
+
+struct GraphicInfo graphic_info[MAX_GRAPHICS];
+struct NewGraphicInfo new_graphic_info[NUM_IMAGE_FILES];
+
+
+/* ========================================================================= */
+/* main() */
+/* ========================================================================= */
+
+int main(int argc, char *argv[])
+{
+ InitCommandName(argv[0]);
+ InitExitFunction(CloseAllAndExit);
+ InitPlatformDependantStuff();
+
GetOptions(argv);
- OpenAll(argc,argv);
+ OpenAll();
+
EventLoop();
CloseAllAndExit(0);
- exit(0); /* to keep compilers happy */
+
+ return 0; /* to keep compilers happy */
}