"RocksSP.pcx",
"RocksDC.pcx",
"RocksMore.pcx",
- "RocksFont.pcx",
- "RocksFont2.pcx",
- "RocksFont3.pcx"
+ "RocksFontBig.pcx",
+ "RocksFontSmall.pcx",
+ "RocksFontMedium.pcx",
+ "RocksFontEM.pcx"
};
static void InitSetup(void);
pix[PIX_DB_DOOR] = CreateBitmap(3 * DXSIZE, DYSIZE + VYSIZE, DEFAULT_DEPTH);
pix[PIX_DB_FIELD] = CreateBitmap(FXSIZE, FYSIZE, DEFAULT_DEPTH);
- pix[PIX_SMALLFONT] = LoadCustomImage(image_filename[PIX_SMALLFONT]);
+ pix[PIX_FONT_SMALL] = LoadCustomImage(image_filename[PIX_FONT_SMALL]);
- InitFontInfo(NULL, NULL, pix[PIX_SMALLFONT]);
+ InitFontInfo(NULL, NULL, pix[PIX_FONT_SMALL], NULL);
DrawInitText(WINDOW_TITLE_STRING, 20, FC_YELLOW);
DrawInitText(WINDOW_SUBTITLE_STRING, 50, FC_RED);
for(i=0; i<NUM_PICTURES; i++)
{
- if (i != PIX_SMALLFONT)
+ if (i != PIX_FONT_SMALL)
{
DrawInitText(image_filename[i], 150, FC_YELLOW);
}
}
- InitFontInfo(pix[PIX_BIGFONT], pix[PIX_MEDIUMFONT], pix[PIX_SMALLFONT]);
+ InitFontInfo(pix[PIX_FONT_BIG], pix[PIX_FONT_MEDIUM], pix[PIX_FONT_SMALL],
+ pix[PIX_FONT_EM]);
InitTileClipmasks();
}
void InitElementInfo()
{
- int i;
+ int i, j;
static struct
{
}
element_to_graphic[] =
{
- { EL_LEERRAUM, GFX_LEERRAUM },
- { EL_ERDREICH, GFX_ERDREICH },
- { EL_MAUERWERK, GFX_MAUERWERK },
- { EL_FELSBODEN, GFX_FELSBODEN },
- { EL_FELSBROCKEN, GFX_FELSBROCKEN },
- { EL_SCHLUESSEL, GFX_SCHLUESSEL },
- { EL_EDELSTEIN, GFX_EDELSTEIN },
- { EL_AUSGANG_ZU, GFX_AUSGANG_ZU },
+ { EL_EMPTY, GFX_LEERRAUM },
+ { EL_SAND, GFX_ERDREICH },
+ { EL_WALL, GFX_MAUERWERK },
+ { EL_WALL_CRUMBLED, GFX_FELSBODEN },
+ { EL_ROCK, GFX_FELSBROCKEN },
+ { EL_KEY, GFX_SCHLUESSEL },
+ { EL_EMERALD, GFX_EDELSTEIN },
+ { EL_EXIT_CLOSED, GFX_AUSGANG_ZU },
{ EL_AUSGANG_ACT, GFX_AUSGANG_ACT },
- { EL_AUSGANG_AUF, GFX_AUSGANG_AUF },
- { EL_SPIELFIGUR, GFX_SPIELFIGUR },
+ { EL_EXIT_OPEN, GFX_AUSGANG_AUF },
+ { EL_PLAYER, GFX_SPIELFIGUR },
{ EL_SPIELER1, GFX_SPIELER1 },
{ EL_SPIELER2, GFX_SPIELER2 },
{ EL_SPIELER3, GFX_SPIELER3 },
{ EL_SPIELER4, GFX_SPIELER4 },
- { EL_KAEFER, GFX_KAEFER },
- { EL_KAEFER_RIGHT, GFX_KAEFER_RIGHT },
- { EL_KAEFER_UP, GFX_KAEFER_UP },
- { EL_KAEFER_LEFT, GFX_KAEFER_LEFT },
- { EL_KAEFER_DOWN, GFX_KAEFER_DOWN },
- { EL_FLIEGER, GFX_FLIEGER },
- { EL_FLIEGER_RIGHT, GFX_FLIEGER_RIGHT },
- { EL_FLIEGER_UP, GFX_FLIEGER_UP },
- { EL_FLIEGER_LEFT, GFX_FLIEGER_LEFT },
- { EL_FLIEGER_DOWN, GFX_FLIEGER_DOWN },
+ { EL_BUG, GFX_KAEFER },
+ { EL_BUG_RIGHT, GFX_KAEFER_RIGHT },
+ { EL_BUG_UP, GFX_KAEFER_UP },
+ { EL_BUG_LEFT, GFX_KAEFER_LEFT },
+ { EL_BUG_DOWN, GFX_KAEFER_DOWN },
+ { EL_SPACESHIP, GFX_FLIEGER },
+ { EL_SPACESHIP_RIGHT, GFX_FLIEGER_RIGHT },
+ { EL_SPACESHIP_UP, GFX_FLIEGER_UP },
+ { EL_SPACESHIP_LEFT, GFX_FLIEGER_LEFT },
+ { EL_SPACESHIP_DOWN, GFX_FLIEGER_DOWN },
{ EL_BUTTERFLY, GFX_BUTTERFLY },
{ EL_BUTTERFLY_RIGHT, GFX_BUTTERFLY_RIGHT },
{ EL_BUTTERFLY_UP, GFX_BUTTERFLY_UP },
{ EL_FIREFLY_UP, GFX_FIREFLY_UP },
{ EL_FIREFLY_LEFT, GFX_FIREFLY_LEFT },
{ EL_FIREFLY_DOWN, GFX_FIREFLY_DOWN },
- { EL_MAMPFER, GFX_MAMPFER },
+ { EL_YAMYAM, GFX_MAMPFER },
{ EL_ROBOT, GFX_ROBOT },
- { EL_BETON, GFX_BETON },
- { EL_DIAMANT, GFX_DIAMANT },
- { EL_MORAST_LEER, GFX_MORAST_LEER },
- { EL_MORAST_VOLL, GFX_MORAST_VOLL },
+ { EL_STEELWALL, GFX_BETON },
+ { EL_DIAMOND, GFX_DIAMANT },
+ { EL_QUICKSAND_EMPTY, GFX_MORAST_LEER },
+ { EL_QUICKSAND_FULL, GFX_MORAST_VOLL },
{ EL_QUICKSAND_EMPTYING, GFX_MORAST_LEER },
- { EL_TROPFEN, GFX_TROPFEN },
- { EL_BOMBE, GFX_BOMBE },
- { EL_MAGIC_WALL_OFF, GFX_MAGIC_WALL_OFF },
+ { EL_AMOEBA_DROP, GFX_TROPFEN },
+ { EL_BOMB, GFX_BOMBE },
+ { EL_MAGIC_WALL, GFX_MAGIC_WALL_OFF },
{ EL_MAGIC_WALL_EMPTY, GFX_MAGIC_WALL_EMPTY },
{ EL_MAGIC_WALL_EMPTYING, GFX_MAGIC_WALL_EMPTY },
{ EL_MAGIC_WALL_FULL, GFX_MAGIC_WALL_FULL },
{ EL_MAGIC_WALL_DEAD, GFX_MAGIC_WALL_DEAD },
- { EL_SALZSAEURE, GFX_SALZSAEURE },
- { EL_AMOEBE_TOT, GFX_AMOEBE_TOT },
- { EL_AMOEBE_NASS, GFX_AMOEBE_NASS },
- { EL_AMOEBE_NORM, GFX_AMOEBE_NORM },
- { EL_AMOEBE_VOLL, GFX_AMOEBE_VOLL },
- { EL_AMOEBE_BD, GFX_AMOEBE_BD },
+ { EL_ACID, GFX_SALZSAEURE },
+ { EL_AMOEBA_DEAD, GFX_AMOEBE_TOT },
+ { EL_AMOEBA_WET, GFX_AMOEBE_NASS },
+ { EL_AMOEBA_DRY, GFX_AMOEBE_NORM },
+ { EL_AMOEBA_FULL, GFX_AMOEBE_VOLL },
+ { EL_BD_AMOEBA, GFX_AMOEBE_BD },
{ EL_AMOEBA2DIAM, GFX_AMOEBA2DIAM },
{ EL_AMOEBA_DRIPPING, GFX_AMOEBE_NASS },
- { EL_KOKOSNUSS, GFX_KOKOSNUSS },
- { EL_LIFE, GFX_LIFE },
- { EL_LIFE_ASYNC, GFX_LIFE_ASYNC },
+ { EL_NUT, GFX_KOKOSNUSS },
+ { EL_GAMEOFLIFE, GFX_LIFE },
+ { EL_BIOMAZE, GFX_LIFE_ASYNC },
{ EL_DYNAMITE_ACTIVE, GFX_DYNAMIT },
{ EL_BADEWANNE, GFX_BADEWANNE },
- { EL_BADEWANNE1, GFX_BADEWANNE1 },
- { EL_BADEWANNE2, GFX_BADEWANNE2 },
- { EL_BADEWANNE3, GFX_BADEWANNE3 },
- { EL_BADEWANNE4, GFX_BADEWANNE4 },
- { EL_BADEWANNE5, GFX_BADEWANNE5 },
- { EL_ABLENK_AUS, GFX_ABLENK_AUS },
- { EL_ABLENK_EIN, GFX_ABLENK_EIN },
- { EL_SCHLUESSEL1, GFX_SCHLUESSEL1 },
- { EL_SCHLUESSEL2, GFX_SCHLUESSEL2 },
- { EL_SCHLUESSEL3, GFX_SCHLUESSEL3 },
- { EL_SCHLUESSEL4, GFX_SCHLUESSEL4 },
- { EL_PFORTE1, GFX_PFORTE1 },
- { EL_PFORTE2, GFX_PFORTE2 },
- { EL_PFORTE3, GFX_PFORTE3 },
- { EL_PFORTE4, GFX_PFORTE4 },
- { EL_PFORTE1X, GFX_PFORTE1X },
- { EL_PFORTE2X, GFX_PFORTE2X },
- { EL_PFORTE3X, GFX_PFORTE3X },
- { EL_PFORTE4X, GFX_PFORTE4X },
- { EL_DYNAMITE_INACTIVE, GFX_DYNAMIT_AUS },
+ { EL_ACIDPOOL_TOPLEFT, GFX_BADEWANNE1 },
+ { EL_ACIDPOOL_TOPRIGHT, GFX_BADEWANNE2 },
+ { EL_ACIDPOOL_BOTTOMLEFT, GFX_BADEWANNE3 },
+ { EL_ACIDPOOL_BOTTOM, GFX_BADEWANNE4 },
+ { EL_ACIDPOOL_BOTTOMRIGHT, GFX_BADEWANNE5 },
+ { EL_ROBOT_WHEEL, GFX_ABLENK_AUS },
+ { EL_ROBOT_WHEEL_ACTIVE, GFX_ABLENK_EIN },
+ { EL_KEY1, GFX_SCHLUESSEL1 },
+ { EL_KEY2, GFX_SCHLUESSEL2 },
+ { EL_KEY3, GFX_SCHLUESSEL3 },
+ { EL_KEY4, GFX_SCHLUESSEL4 },
+ { EL_GATE1, GFX_PFORTE1 },
+ { EL_GATE2, GFX_PFORTE2 },
+ { EL_GATE3, GFX_PFORTE3 },
+ { EL_GATE4, GFX_PFORTE4 },
+ { EL_GATE1_GRAY, GFX_PFORTE1X },
+ { EL_GATE2_GRAY, GFX_PFORTE2X },
+ { EL_GATE3_GRAY, GFX_PFORTE3X },
+ { EL_GATE4_GRAY, GFX_PFORTE4X },
+ { EL_DYNAMITE, GFX_DYNAMIT_AUS },
{ EL_PACMAN, GFX_PACMAN },
{ EL_PACMAN_RIGHT, GFX_PACMAN_RIGHT },
{ EL_PACMAN_UP, GFX_PACMAN_UP },
{ EL_PACMAN_LEFT, GFX_PACMAN_LEFT },
{ EL_PACMAN_DOWN, GFX_PACMAN_DOWN },
- { EL_UNSICHTBAR, GFX_UNSICHTBAR },
- { EL_ERZ_EDEL, GFX_ERZ_EDEL },
- { EL_ERZ_DIAM, GFX_ERZ_DIAM },
- { EL_BIRNE_AUS, GFX_BIRNE_AUS },
- { EL_BIRNE_EIN, GFX_BIRNE_EIN },
- { EL_ZEIT_VOLL, GFX_ZEIT_VOLL },
- { EL_ZEIT_LEER, GFX_ZEIT_LEER },
+ { EL_INVISIBLE_WALL, GFX_UNSICHTBAR },
+ { EL_WALL_EMERALD, GFX_ERZ_EDEL },
+ { EL_WALL_DIAMOND, GFX_ERZ_DIAM },
+ { EL_LAMP, GFX_BIRNE_AUS },
+ { EL_LAMP_ACTIVE, GFX_BIRNE_EIN },
+ { EL_TIME_ORB_FULL, GFX_ZEIT_VOLL },
+ { EL_TIME_ORB_EMPTY, GFX_ZEIT_LEER },
{ EL_MAUER_LEBT, GFX_MAUER_LEBT },
{ EL_MAUER_X, GFX_MAUER_X },
{ EL_MAUER_Y, GFX_MAUER_Y },
{ EL_MAUER_XY, GFX_MAUER_XY },
{ EL_EDELSTEIN_BD, GFX_EDELSTEIN_BD },
- { EL_EDELSTEIN_GELB, GFX_EDELSTEIN_GELB },
- { EL_EDELSTEIN_ROT, GFX_EDELSTEIN_ROT },
- { EL_EDELSTEIN_LILA, GFX_EDELSTEIN_LILA },
- { EL_ERZ_EDEL_BD, GFX_ERZ_EDEL_BD },
- { EL_ERZ_EDEL_GELB, GFX_ERZ_EDEL_GELB },
- { EL_ERZ_EDEL_ROT, GFX_ERZ_EDEL_ROT },
- { EL_ERZ_EDEL_LILA, GFX_ERZ_EDEL_LILA },
- { EL_MAMPFER2, GFX_MAMPFER2 },
+ { EL_EDELSTEIN_YELLOW, GFX_EDELSTEIN_GELB },
+ { EL_EDELSTEIN_RED, GFX_EDELSTEIN_ROT },
+ { EL_EDELSTEIN_PURPLE, GFX_EDELSTEIN_LILA },
+ { EL_WALL_BD_DIAMOND, GFX_ERZ_EDEL_BD },
+ { EL_WALL_EMERALD_YELLOW, GFX_ERZ_EDEL_GELB },
+ { EL_WALL_EMERALD_RED, GFX_ERZ_EDEL_ROT },
+ { EL_WALL_EMERALD_PURPLE, GFX_ERZ_EDEL_LILA },
+ { EL_DARK_YAMYAM, GFX_MAMPFER2 },
{ EL_MAGIC_WALL_BD_OFF, GFX_MAGIC_WALL_BD_OFF },
{ EL_MAGIC_WALL_BD_EMPTY, GFX_MAGIC_WALL_BD_EMPTY },
{ EL_MAGIC_WALL_BD_EMPTYING, GFX_MAGIC_WALL_BD_EMPTY },
{ EL_EM_GATE_2, GFX_EM_GATE_2 },
{ EL_EM_GATE_3, GFX_EM_GATE_3 },
{ EL_EM_GATE_4, GFX_EM_GATE_4 },
- { EL_EM_GATE_1X, GFX_EM_GATE_1X },
- { EL_EM_GATE_2X, GFX_EM_GATE_2X },
- { EL_EM_GATE_3X, GFX_EM_GATE_3X },
- { EL_EM_GATE_4X, GFX_EM_GATE_4X },
+ { EL_EM_GATE1_GRAY, GFX_EM_GATE_1X },
+ { EL_EM_GATE2_GRAY, GFX_EM_GATE_2X },
+ { EL_EM_GATE3_GRAY, GFX_EM_GATE_3X },
+ { EL_EM_GATE4_GRAY, GFX_EM_GATE_4X },
{ EL_EM_KEY_1_FILE, GFX_EM_KEY_1 },
{ EL_EM_KEY_2_FILE, GFX_EM_KEY_2 },
{ EL_EM_KEY_3_FILE, GFX_EM_KEY_3 },
{ -1, -1 }
};
+ static struct
+ {
+ int element;
+ int graphic_left;
+ int graphic_right;
+ int graphic_up;
+ int graphic_down;
+ }
+ element_to_direction_graphic[] =
+ {
+ {
+ EL_SPACESHIP,
+ IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT,
+ IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN
+ },
+ {
+ EL_BUG,
+ IMG_BUG_LEFT, IMG_BUG_RIGHT,
+ IMG_BUG_UP, IMG_BUG_DOWN
+ },
+ {
+ EL_PACMAN,
+ IMG_PACMAN_LEFT, IMG_PACMAN_RIGHT,
+ IMG_PACMAN_UP, IMG_PACMAN_DOWN
+ },
+ {
+ EL_SPIELER1,
+ IMG_PLAYER1_LEFT, IMG_PLAYER1_RIGHT,
+ IMG_PLAYER1_UP, IMG_PLAYER1_DOWN
+ },
+ {
+ EL_SPIELER2,
+ IMG_PLAYER2_LEFT, IMG_PLAYER2_RIGHT,
+ IMG_PLAYER2_UP, IMG_PLAYER2_DOWN
+ },
+ {
+ EL_SPIELER3,
+ IMG_PLAYER3_LEFT, IMG_PLAYER3_RIGHT,
+ IMG_PLAYER3_UP, IMG_PLAYER3_DOWN
+ },
+ {
+ EL_SPIELER4,
+ IMG_PLAYER4_LEFT, IMG_PLAYER4_RIGHT,
+ IMG_PLAYER4_UP, IMG_PLAYER4_DOWN
+ },
+ {
+ EL_SCHWEIN,
+ IMG_PIG_LEFT, IMG_PIG_RIGHT,
+ IMG_PIG_UP, IMG_PIG_DOWN
+ },
+ {
+ EL_DRACHE,
+ IMG_DRAGON_LEFT, IMG_DRAGON_RIGHT,
+ IMG_DRAGON_UP, IMG_DRAGON_DOWN
+ },
+ {
+ EL_MOLE,
+ IMG_MOLE_LEFT, IMG_MOLE_RIGHT,
+ IMG_MOLE_UP, IMG_MOLE_DOWN
+ },
+ {
+ EL_PINGUIN,
+ IMG_PENGUIN_LEFT, IMG_PENGUIN_RIGHT,
+ IMG_PENGUIN_UP, IMG_PENGUIN_DOWN
+ },
+ {
+ EL_SP_MURPHY,
+ IMG_SP_MURPHY_LEFT, IMG_SP_MURPHY_RIGHT,
+ IMG_SP_MURPHY_UP, IMG_SP_MURPHY_DOWN
+ },
+ {
+ EL_SP_SNIKSNAK,
+ IMG_SP_SNIKSNAK_LEFT, IMG_SP_SNIKSNAK_RIGHT,
+ IMG_SP_SNIKSNAK_UP, IMG_SP_SNIKSNAK_DOWN
+ },
+ {
+ -1,
+ -1, -1,
+ -1, -1
+ }
+ };
+
/* always start with reliable default values */
for(i=0; i<MAX_ELEMENTS; i++)
- element_info[i].graphic = GFX_LEERRAUM;
+ {
+ for(j=0; j<NUM_GFX_ACTIONS_MAPPED; j++)
+ {
+ element_info[i].graphic[j] = GFX_LEERRAUM;
+ element_info[i].has_direction_graphic[j] = FALSE;
+ }
+ }
for (i=EL_CHAR_START; i<=EL_CHAR_END; i++)
- element_info[i].graphic = GFX_CHAR_START + (i - EL_CHAR_START);
+ element_info[i].graphic[GFX_ACTION_DEFAULT] =
+ GFX_CHAR_START + (i - EL_CHAR_START);
for (i=EL_SP_START; i<=EL_SP_END; i++)
{
(nr_element / gfx_per_line) * SP_PER_LINE +
(nr_element % gfx_per_line);
- element_info[i].graphic = GFX_START_ROCKSSP + nr_graphic;
+ element_info[i].graphic[GFX_ACTION_DEFAULT] =
+ GFX_START_ROCKSSP + nr_graphic;
}
/* this overrides some of the above default settings (GFX_SP_ZONK etc.) */
int element = element_to_graphic[i].element;
int graphic = element_to_graphic[i].graphic;
- element_info[element].graphic = graphic;
+ element_info[element].graphic[GFX_ACTION_DEFAULT] = graphic;
+ i++;
+ }
+
+ /* this initializes special graphics for left/right/up/down directions */
+ i = 0;
+ while (element_to_direction_graphic[i].element > -1)
+ {
+ int element = element_to_direction_graphic[i].element;
+
+ element_info[element].direction_graphic[GFX_ACTION_DEFAULT][MV_BIT_LEFT] =
+ element_to_direction_graphic[i].graphic_left;
+ element_info[element].direction_graphic[GFX_ACTION_DEFAULT][MV_BIT_RIGHT] =
+ element_to_direction_graphic[i].graphic_right;
+ element_info[element].direction_graphic[GFX_ACTION_DEFAULT][MV_BIT_UP] =
+ element_to_direction_graphic[i].graphic_up;
+ element_info[element].direction_graphic[GFX_ACTION_DEFAULT][MV_BIT_DOWN] =
+ element_to_direction_graphic[i].graphic_down;
+
+ element_info[element].has_direction_graphic[GFX_ACTION_DEFAULT] = TRUE;
i++;
}
}
image_files = getCurrentImageList();
- printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFXARG_NUM_FRAMES]);
- printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFXARG_NUM_FRAMES]);
-
for(i=0; i<MAX_GRAPHICS; i++)
{
/* always start with reliable default values */
graphic_info[i].bitmap = NULL;
graphic_info[i].src_x = 0;
graphic_info[i].src_y = 0;
- graphic_info[i].anim_frames = 1;
- graphic_info[i].anim_delay = 0;
- graphic_info[i].anim_mode = ANIM_NORMAL;
getGraphicSource(i, &graphic_info[i].bitmap,
&graphic_info[i].src_x, &graphic_info[i].src_y);
}
-#if 1
+ for(i=0; i<NUM_IMAGE_FILES; i++)
+ {
+ int *parameter = image_files[i].parameter;
+
+ /* always start with reliable default values */
+ new_graphic_info[i].bitmap = getBitmapFromImageID(i);
+ new_graphic_info[i].src_x = parameter[GFX_ARG_XPOS] * TILEX;
+ new_graphic_info[i].src_y = parameter[GFX_ARG_YPOS] * TILEY;
+
+ new_graphic_info[i].anim_frames = parameter[GFX_ARG_FRAMES];
+
+ new_graphic_info[i].anim_delay = parameter[GFX_ARG_DELAY];
+ if (new_graphic_info[i].anim_delay == 0) /* delay must be at least 1 */
+ new_graphic_info[i].anim_delay = 1;
+
+ /* basically, animation can be either normal or reverse direction */
+ if (parameter[GFX_ARG_REVERSE])
+ new_graphic_info[i].anim_mode = ANIM_REVERSE;
+ else
+ new_graphic_info[i].anim_mode = ANIM_NORMAL;
+
+ /* additionally, animation can be either pingpong or pingpong2 layout */
+ if (parameter[GFX_ARG_PINGPONG])
+ new_graphic_info[i].anim_mode |= ANIM_PINGPONG;
+ else if (parameter[GFX_ARG_PINGPONG2])
+ new_graphic_info[i].anim_mode |= ANIM_PINGPONG2;
+
+ /* animation synchronized with global frame counter, not move position */
+ new_graphic_info[i].anim_global_sync = parameter[GFX_ARG_GLOBAL_SYNC];
+
+ new_graphic_info[i].anim_vertical = parameter[GFX_ARG_VERTICAL];
+ }
+
+#if 0
+ printf("D> %d\n", image_files[GFX_BD_DIAMOND].parameter[GFX_ARG_NUM_FRAMES]);
+ printf("W> %d\n", image_files[GFX_ROBOT_WHEEL].parameter[GFX_ARG_NUM_FRAMES]);
+
graphic_info[GFX_ABLENK].bitmap = getBitmapFromImageID(GFX_ROBOT_WHEEL);
graphic_info[GFX_ABLENK].src_x = 0;
graphic_info[GFX_ABLENK].src_y = 0;
static int ep_amoebalive[] =
{
- EL_AMOEBE_NASS,
- EL_AMOEBE_NORM,
- EL_AMOEBE_VOLL,
- EL_AMOEBE_BD
+ EL_AMOEBA_WET,
+ EL_AMOEBA_DRY,
+ EL_AMOEBA_FULL,
+ EL_BD_AMOEBA
};
static int ep_amoebalive_num = SIZEOF_ARRAY_INT(ep_amoebalive);
static int ep_amoeboid[] =
{
- EL_AMOEBE_TOT,
- EL_AMOEBE_NASS,
- EL_AMOEBE_NORM,
- EL_AMOEBE_VOLL,
- EL_AMOEBE_BD
+ EL_AMOEBA_DEAD,
+ EL_AMOEBA_WET,
+ EL_AMOEBA_DRY,
+ EL_AMOEBA_FULL,
+ EL_BD_AMOEBA
};
static int ep_amoeboid_num = SIZEOF_ARRAY_INT(ep_amoeboid);
static int ep_schluessel[] =
{
- EL_SCHLUESSEL1,
- EL_SCHLUESSEL2,
- EL_SCHLUESSEL3,
- EL_SCHLUESSEL4,
+ EL_KEY1,
+ EL_KEY2,
+ EL_KEY3,
+ EL_KEY4,
EL_EM_KEY_1,
EL_EM_KEY_2,
EL_EM_KEY_3,
static int ep_pforte[] =
{
- EL_PFORTE1,
- EL_PFORTE2,
- EL_PFORTE3,
- EL_PFORTE4,
- EL_PFORTE1X,
- EL_PFORTE2X,
- EL_PFORTE3X,
- EL_PFORTE4X,
+ EL_GATE1,
+ EL_GATE2,
+ EL_GATE3,
+ EL_GATE4,
+ EL_GATE1_GRAY,
+ EL_GATE2_GRAY,
+ EL_GATE3_GRAY,
+ EL_GATE4_GRAY,
EL_EM_GATE_1,
EL_EM_GATE_2,
EL_EM_GATE_3,
static int ep_solid[] =
{
- EL_BETON,
- EL_MAUERWERK,
+ EL_STEELWALL,
+ EL_WALL,
EL_MAUER_LEBT,
EL_MAUER_X,
EL_MAUER_Y,
EL_MAUER_XY,
EL_BD_WALL,
- EL_FELSBODEN,
- EL_AUSGANG_ZU,
+ EL_WALL_CRUMBLED,
+ EL_EXIT_CLOSED,
EL_AUSGANG_ACT,
- EL_AUSGANG_AUF,
- EL_AMOEBE_TOT,
- EL_AMOEBE_NASS,
- EL_AMOEBE_NORM,
- EL_AMOEBE_VOLL,
- EL_AMOEBE_BD,
- EL_MORAST_VOLL,
- EL_MORAST_LEER,
+ EL_EXIT_OPEN,
+ EL_AMOEBA_DEAD,
+ EL_AMOEBA_WET,
+ EL_AMOEBA_DRY,
+ EL_AMOEBA_FULL,
+ EL_BD_AMOEBA,
+ EL_QUICKSAND_FULL,
+ EL_QUICKSAND_EMPTY,
EL_QUICKSAND_FILLING,
EL_QUICKSAND_EMPTYING,
- EL_MAGIC_WALL_OFF,
+ EL_MAGIC_WALL,
EL_MAGIC_WALL_EMPTY,
EL_MAGIC_WALL_EMPTYING,
EL_MAGIC_WALL_FILLING,
EL_MAGIC_WALL_BD_FULL,
EL_MAGIC_WALL_BD_FILLING,
EL_MAGIC_WALL_BD_DEAD,
- EL_LIFE,
- EL_LIFE_ASYNC,
- EL_BADEWANNE1,
- EL_BADEWANNE2,
- EL_BADEWANNE3,
- EL_BADEWANNE4,
- EL_BADEWANNE5,
+ EL_GAMEOFLIFE,
+ EL_BIOMAZE,
+ EL_ACIDPOOL_TOPLEFT,
+ EL_ACIDPOOL_TOPRIGHT,
+ EL_ACIDPOOL_BOTTOMLEFT,
+ EL_ACIDPOOL_BOTTOM,
+ EL_ACIDPOOL_BOTTOMRIGHT,
EL_SP_CHIP_SINGLE,
EL_SP_CHIP_LEFT,
EL_SP_CHIP_RIGHT,
EL_CRYSTAL,
EL_WALL_PEARL,
EL_WALL_CRYSTAL,
- EL_PFORTE1,
- EL_PFORTE2,
- EL_PFORTE3,
- EL_PFORTE4,
- EL_PFORTE1X,
- EL_PFORTE2X,
- EL_PFORTE3X,
- EL_PFORTE4X,
+ EL_GATE1,
+ EL_GATE2,
+ EL_GATE3,
+ EL_GATE4,
+ EL_GATE1_GRAY,
+ EL_GATE2_GRAY,
+ EL_GATE3_GRAY,
+ EL_GATE4_GRAY,
EL_EM_GATE_1,
EL_EM_GATE_2,
EL_EM_GATE_3,
static int ep_massive[] =
{
- EL_BETON,
- EL_SALZSAEURE,
- EL_BADEWANNE1,
- EL_BADEWANNE2,
- EL_BADEWANNE3,
- EL_BADEWANNE4,
- EL_BADEWANNE5,
+ EL_STEELWALL,
+ EL_ACID,
+ EL_ACIDPOOL_TOPLEFT,
+ EL_ACIDPOOL_TOPRIGHT,
+ EL_ACIDPOOL_BOTTOMLEFT,
+ EL_ACIDPOOL_BOTTOM,
+ EL_ACIDPOOL_BOTTOMRIGHT,
EL_SP_HARD_GRAY,
EL_SP_HARD_GREEN,
EL_SP_HARD_BLUE,
EL_EMC_STEEL_WALL_3,
EL_EMC_STEEL_WALL_4,
EL_CRYSTAL,
- EL_PFORTE1,
- EL_PFORTE2,
- EL_PFORTE3,
- EL_PFORTE4,
- EL_PFORTE1X,
- EL_PFORTE2X,
- EL_PFORTE3X,
- EL_PFORTE4X,
+ EL_GATE1,
+ EL_GATE2,
+ EL_GATE3,
+ EL_GATE4,
+ EL_GATE1_GRAY,
+ EL_GATE2_GRAY,
+ EL_GATE3_GRAY,
+ EL_GATE4_GRAY,
EL_EM_GATE_1,
EL_EM_GATE_2,
EL_EM_GATE_3,
static int ep_slippery[] =
{
- EL_FELSBODEN,
+ EL_WALL_CRUMBLED,
EL_BD_WALL,
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT,
- EL_BOMBE,
- EL_KOKOSNUSS,
- EL_ABLENK_EIN,
- EL_ABLENK_AUS,
- EL_ZEIT_VOLL,
- EL_ZEIT_LEER,
- EL_BIRNE_EIN,
- EL_BIRNE_AUS,
- EL_BADEWANNE1,
- EL_BADEWANNE2,
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND,
+ EL_BOMB,
+ EL_NUT,
+ EL_ROBOT_WHEEL_ACTIVE,
+ EL_ROBOT_WHEEL,
+ EL_TIME_ORB_FULL,
+ EL_TIME_ORB_EMPTY,
+ EL_LAMP_ACTIVE,
+ EL_LAMP,
+ EL_ACIDPOOL_TOPLEFT,
+ EL_ACIDPOOL_TOPRIGHT,
EL_SONDE,
EL_SP_ZONK,
EL_SP_INFOTRON,
static int ep_enemy[] =
{
- EL_KAEFER,
- EL_FLIEGER,
+ EL_BUG,
+ EL_SPACESHIP,
EL_BUTTERFLY,
EL_FIREFLY,
- EL_MAMPFER,
- EL_MAMPFER2,
+ EL_YAMYAM,
+ EL_DARK_YAMYAM,
EL_ROBOT,
EL_PACMAN,
EL_SP_SNIKSNAK,
static int ep_mauer[] =
{
- EL_BETON,
- EL_PFORTE1,
- EL_PFORTE2,
- EL_PFORTE3,
- EL_PFORTE4,
- EL_PFORTE1X,
- EL_PFORTE2X,
- EL_PFORTE3X,
- EL_PFORTE4X,
+ EL_STEELWALL,
+ EL_GATE1,
+ EL_GATE2,
+ EL_GATE3,
+ EL_GATE4,
+ EL_GATE1_GRAY,
+ EL_GATE2_GRAY,
+ EL_GATE3_GRAY,
+ EL_GATE4_GRAY,
EL_EM_GATE_1,
EL_EM_GATE_2,
EL_EM_GATE_3,
EL_EM_GATE_2X,
EL_EM_GATE_3X,
EL_EM_GATE_4X,
- EL_AUSGANG_ZU,
+ EL_EXIT_CLOSED,
EL_AUSGANG_ACT,
- EL_AUSGANG_AUF,
- EL_MAUERWERK,
- EL_FELSBODEN,
+ EL_EXIT_OPEN,
+ EL_WALL,
+ EL_WALL_CRUMBLED,
EL_MAUER_LEBT,
EL_MAUER_X,
EL_MAUER_Y,
static int ep_can_fall[] =
{
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT,
- EL_BOMBE,
- EL_KOKOSNUSS,
- EL_TROPFEN,
- EL_MORAST_VOLL,
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND,
+ EL_BOMB,
+ EL_NUT,
+ EL_AMOEBA_DROP,
+ EL_QUICKSAND_FULL,
EL_MAGIC_WALL_FULL,
EL_MAGIC_WALL_BD_FULL,
- EL_ZEIT_VOLL,
- EL_ZEIT_LEER,
+ EL_TIME_ORB_FULL,
+ EL_TIME_ORB_EMPTY,
EL_SP_ZONK,
EL_SP_INFOTRON,
EL_SP_DISK_ORANGE,
static int ep_can_smash[] =
{
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT,
- EL_SCHLUESSEL1,
- EL_SCHLUESSEL2,
- EL_SCHLUESSEL3,
- EL_SCHLUESSEL4,
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND,
+ EL_KEY1,
+ EL_KEY2,
+ EL_KEY3,
+ EL_KEY4,
EL_EM_KEY_1,
EL_EM_KEY_2,
EL_EM_KEY_3,
EL_EM_KEY_4,
- EL_BOMBE,
- EL_KOKOSNUSS,
- EL_TROPFEN,
- EL_ZEIT_VOLL,
- EL_ZEIT_LEER,
+ EL_BOMB,
+ EL_NUT,
+ EL_AMOEBA_DROP,
+ EL_TIME_ORB_FULL,
+ EL_TIME_ORB_EMPTY,
EL_SP_ZONK,
EL_SP_INFOTRON,
EL_SP_DISK_ORANGE,
static int ep_can_change[] =
{
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND
};
static int ep_can_change_num = SIZEOF_ARRAY_INT(ep_can_change);
static int ep_can_move[] =
{
- EL_KAEFER,
- EL_FLIEGER,
+ EL_BUG,
+ EL_SPACESHIP,
EL_BUTTERFLY,
EL_FIREFLY,
- EL_MAMPFER,
- EL_MAMPFER2,
+ EL_YAMYAM,
+ EL_DARK_YAMYAM,
EL_ROBOT,
EL_PACMAN,
EL_MOLE,
static int ep_could_move[] =
{
- EL_KAEFER_RIGHT,
- EL_KAEFER_UP,
- EL_KAEFER_LEFT,
- EL_KAEFER_DOWN,
- EL_FLIEGER_RIGHT,
- EL_FLIEGER_UP,
- EL_FLIEGER_LEFT,
- EL_FLIEGER_DOWN,
+ EL_BUG_RIGHT,
+ EL_BUG_UP,
+ EL_BUG_LEFT,
+ EL_BUG_DOWN,
+ EL_SPACESHIP_RIGHT,
+ EL_SPACESHIP_UP,
+ EL_SPACESHIP_LEFT,
+ EL_SPACESHIP_DOWN,
EL_BUTTERFLY_RIGHT,
EL_BUTTERFLY_UP,
EL_BUTTERFLY_LEFT,
static int ep_dont_touch[] =
{
- EL_KAEFER,
- EL_FLIEGER,
+ EL_BUG,
+ EL_SPACESHIP,
EL_BUTTERFLY,
EL_FIREFLY
};
static int ep_dont_go_to[] =
{
- EL_KAEFER,
- EL_FLIEGER,
+ EL_BUG,
+ EL_SPACESHIP,
EL_BUTTERFLY,
EL_FIREFLY,
- EL_MAMPFER,
- EL_MAMPFER2,
+ EL_YAMYAM,
+ EL_DARK_YAMYAM,
EL_ROBOT,
EL_PACMAN,
- EL_TROPFEN,
- EL_SALZSAEURE,
+ EL_AMOEBA_DROP,
+ EL_ACID,
EL_SP_SNIKSNAK,
EL_SP_ELECTRON,
EL_SP_BUG_ACTIVE,
static int ep_mampf2[] =
{
- EL_ERDREICH,
- EL_KAEFER,
- EL_FLIEGER,
+ EL_SAND,
+ EL_BUG,
+ EL_SPACESHIP,
EL_BUTTERFLY,
EL_FIREFLY,
- EL_MAMPFER,
+ EL_YAMYAM,
EL_ROBOT,
EL_PACMAN,
- EL_TROPFEN,
- EL_AMOEBE_TOT,
- EL_AMOEBE_NASS,
- EL_AMOEBE_NORM,
- EL_AMOEBE_VOLL,
- EL_AMOEBE_BD,
- EL_EDELSTEIN,
+ EL_AMOEBA_DROP,
+ EL_AMOEBA_DEAD,
+ EL_AMOEBA_WET,
+ EL_AMOEBA_DRY,
+ EL_AMOEBA_FULL,
+ EL_BD_AMOEBA,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT,
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND,
EL_PEARL,
EL_CRYSTAL
};
static int ep_bd_element[] =
{
- EL_LEERRAUM,
- EL_ERDREICH,
- EL_FELSBODEN,
+ EL_EMPTY,
+ EL_SAND,
+ EL_WALL_CRUMBLED,
EL_BD_WALL,
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
EL_EDELSTEIN_BD,
EL_MAGIC_WALL_BD_OFF,
- EL_AUSGANG_ZU,
- EL_AUSGANG_AUF,
- EL_BETON,
- EL_SPIELFIGUR,
+ EL_EXIT_CLOSED,
+ EL_EXIT_OPEN,
+ EL_STEELWALL,
+ EL_PLAYER,
EL_FIREFLY,
EL_FIREFLY_1,
EL_FIREFLY_2,
EL_BUTTERFLY_2,
EL_BUTTERFLY_3,
EL_BUTTERFLY_4,
- EL_AMOEBE_BD,
+ EL_BD_AMOEBA,
EL_CHAR_FRAGE
};
static int ep_bd_element_num = SIZEOF_ARRAY_INT(ep_bd_element);
static int ep_sb_element[] =
{
- EL_LEERRAUM,
- EL_BETON,
+ EL_EMPTY,
+ EL_STEELWALL,
EL_SOKOBAN_OBJEKT,
EL_SOKOBAN_FELD_LEER,
EL_SOKOBAN_FELD_VOLL,
- EL_SPIELFIGUR,
+ EL_PLAYER,
EL_INVISIBLE_STEEL
};
static int ep_sb_element_num = SIZEOF_ARRAY_INT(ep_sb_element);
static int ep_gem[] =
{
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND
};
static int ep_gem_num = SIZEOF_ARRAY_INT(ep_gem);
static int ep_inactive[] =
{
- EL_LEERRAUM,
- EL_ERDREICH,
- EL_MAUERWERK,
+ EL_EMPTY,
+ EL_SAND,
+ EL_WALL,
EL_BD_WALL,
- EL_FELSBODEN,
- EL_SCHLUESSEL,
- EL_BETON,
- EL_AMOEBE_TOT,
- EL_MORAST_LEER,
+ EL_WALL_CRUMBLED,
+ EL_KEY,
+ EL_STEELWALL,
+ EL_AMOEBA_DEAD,
+ EL_QUICKSAND_EMPTY,
EL_BADEWANNE,
- EL_ABLENK_AUS,
- EL_SCHLUESSEL1,
- EL_SCHLUESSEL2,
- EL_SCHLUESSEL3,
- EL_SCHLUESSEL4,
+ EL_ROBOT_WHEEL,
+ EL_KEY1,
+ EL_KEY2,
+ EL_KEY3,
+ EL_KEY4,
EL_EM_KEY_1,
EL_EM_KEY_2,
EL_EM_KEY_3,
EL_EM_KEY_4,
- EL_PFORTE1,
- EL_PFORTE2,
- EL_PFORTE3,
- EL_PFORTE4,
- EL_PFORTE1X,
- EL_PFORTE2X,
- EL_PFORTE3X,
- EL_PFORTE4X,
+ EL_GATE1,
+ EL_GATE2,
+ EL_GATE3,
+ EL_GATE4,
+ EL_GATE1_GRAY,
+ EL_GATE2_GRAY,
+ EL_GATE3_GRAY,
+ EL_GATE4_GRAY,
EL_EM_GATE_1,
EL_EM_GATE_2,
EL_EM_GATE_3,
EL_EM_GATE_2X,
EL_EM_GATE_3X,
EL_EM_GATE_4X,
- EL_DYNAMITE_INACTIVE,
- EL_UNSICHTBAR,
- EL_BIRNE_AUS,
- EL_BIRNE_EIN,
- EL_ERZ_EDEL,
- EL_ERZ_DIAM,
- EL_ERZ_EDEL_BD,
- EL_ERZ_EDEL_GELB,
+ EL_DYNAMITE,
+ EL_INVISIBLE_WALL,
+ EL_LAMP,
+ EL_LAMP_ACTIVE,
+ EL_WALL_EMERALD,
+ EL_WALL_DIAMOND,
+ EL_WALL_BD_DIAMOND,
+ EL_WALL_EMERALD_YELLOW,
EL_DYNABOMB_NR,
EL_DYNABOMB_SZ,
EL_DYNABOMB_XL,
EL_SOKOBAN_OBJEKT,
EL_SOKOBAN_FELD_LEER,
EL_SOKOBAN_FELD_VOLL,
- EL_ERZ_EDEL_ROT,
- EL_ERZ_EDEL_LILA,
- EL_BADEWANNE1,
- EL_BADEWANNE2,
- EL_BADEWANNE3,
- EL_BADEWANNE4,
- EL_BADEWANNE5,
- EL_MAGIC_WALL_OFF,
+ EL_WALL_EMERALD_RED,
+ EL_WALL_EMERALD_PURPLE,
+ EL_ACIDPOOL_TOPLEFT,
+ EL_ACIDPOOL_TOPRIGHT,
+ EL_ACIDPOOL_BOTTOMLEFT,
+ EL_ACIDPOOL_BOTTOM,
+ EL_ACIDPOOL_BOTTOMRIGHT,
+ EL_MAGIC_WALL,
EL_MAGIC_WALL_DEAD,
EL_MAGIC_WALL_BD_OFF,
EL_MAGIC_WALL_BD_DEAD,
static int ep_explosive[] =
{
- EL_BOMBE,
+ EL_BOMB,
EL_DYNAMITE_ACTIVE,
- EL_DYNAMITE_INACTIVE,
+ EL_DYNAMITE,
EL_DYNABOMB_ACTIVE_1,
EL_DYNABOMB_ACTIVE_2,
EL_DYNABOMB_ACTIVE_3,
EL_DYNABOMB_NR,
EL_DYNABOMB_SZ,
EL_DYNABOMB_XL,
- EL_KAEFER,
+ EL_BUG,
EL_MOLE,
EL_PINGUIN,
EL_SCHWEIN,
static int ep_mampf3[] =
{
- EL_EDELSTEIN,
+ EL_EMERALD,
EL_EDELSTEIN_BD,
- EL_EDELSTEIN_GELB,
- EL_EDELSTEIN_ROT,
- EL_EDELSTEIN_LILA,
- EL_DIAMANT,
+ EL_EDELSTEIN_YELLOW,
+ EL_EDELSTEIN_RED,
+ EL_EDELSTEIN_PURPLE,
+ EL_DIAMOND,
EL_PEARL,
EL_CRYSTAL
};
static int ep_pushable[] =
{
- EL_FELSBROCKEN,
+ EL_ROCK,
EL_BD_ROCK,
- EL_BOMBE,
- EL_KOKOSNUSS,
- EL_ZEIT_LEER,
+ EL_BOMB,
+ EL_NUT,
+ EL_TIME_ORB_EMPTY,
EL_SOKOBAN_FELD_VOLL,
EL_SOKOBAN_OBJEKT,
EL_SONDE,
static int ep_player[] =
{
- EL_SPIELFIGUR,
+ EL_PLAYER,
EL_SPIELER1,
EL_SPIELER2,
EL_SPIELER3,
static int ep_has_content[] =
{
- EL_MAMPFER,
- EL_AMOEBE_NASS,
- EL_AMOEBE_NORM,
- EL_AMOEBE_VOLL,
- EL_AMOEBE_BD
+ EL_YAMYAM,
+ EL_AMOEBA_WET,
+ EL_AMOEBA_DRY,
+ EL_AMOEBA_FULL,
+ EL_BD_AMOEBA
};
static int ep_has_content_num = SIZEOF_ARRAY_INT(ep_has_content);
static int ep_eatable[] =
{
- EL_ERDREICH,
+ EL_SAND,
EL_SP_BASE,
EL_SP_BUG,
EL_TRAP_INACTIVE,
EL_SP_CHIP_UPPER,
EL_SP_CHIP_LOWER,
/* additional elements that appeared in newer Supaplex levels */
- EL_UNSICHTBAR,
+ EL_INVISIBLE_WALL,
/* more than one murphy in a level results in an inactive clone */
EL_SP_MURPHY_CLONE
};