X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=d800de9f61c72d4a5cd0cf676fc1eda09692d1dd;hb=9091c797c4a3abb34ceb98d80a82ae7310708fbb;hp=39979e76275fa368ee97c27f28c56da02314f722;hpb=79411a5006963926966da0465fd46344a34a57fe;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 39979e76..d800de9f 100644 --- a/src/init.c +++ b/src/init.c @@ -26,6 +26,9 @@ #include "cartoons.h" #include "config.h" +#include "conf_e2g.c" /* include auto-generated data structure definitions */ + + static char *image_filename[NUM_PICTURES] = { "RocksScreen.pcx", @@ -556,8 +559,7 @@ void InitGadgets() void InitElementInfo() { - int i, j; - +#if 0 static struct { int element; @@ -565,159 +567,160 @@ void InitElementInfo() } 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_AUSGANG_ACT, GFX_AUSGANG_ACT }, - { EL_AUSGANG_AUF, GFX_AUSGANG_AUF }, - { EL_SPIELFIGUR, 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_BUTTERFLY, GFX_BUTTERFLY }, - { EL_BUTTERFLY_RIGHT, GFX_BUTTERFLY_RIGHT }, - { EL_BUTTERFLY_UP, GFX_BUTTERFLY_UP }, - { EL_BUTTERFLY_LEFT, GFX_BUTTERFLY_LEFT }, - { EL_BUTTERFLY_DOWN, GFX_BUTTERFLY_DOWN }, - { EL_FIREFLY, GFX_FIREFLY }, - { EL_FIREFLY_RIGHT, GFX_FIREFLY_RIGHT }, - { EL_FIREFLY_UP, GFX_FIREFLY_UP }, - { EL_FIREFLY_LEFT, GFX_FIREFLY_LEFT }, - { EL_FIREFLY_DOWN, GFX_FIREFLY_DOWN }, - { EL_MAMPFER, GFX_MAMPFER }, + { EL_EMPTY, GFX_LEERRAUM }, + { EL_SAND, GFX_ERDREICH }, + { EL_WALL, GFX_MAUERWERK }, + { EL_WALL_CRUMBLED, GFX_FELSBODEN }, + { EL_ROCK, GFX_FELSBROCKEN }, + { EL_EMERALD, GFX_EDELSTEIN }, + { EL_EXIT_CLOSED, GFX_AUSGANG_ZU }, + { EL_EXIT_OPENING, GFX_AUSGANG_ACT }, + { EL_EXIT_OPEN, GFX_AUSGANG_AUF }, + { EL_SP_EXIT_OPEN, GFX_SP_EXIT }, + { EL_PLAYER1, GFX_SPIELER1 }, + { EL_PLAYER2, GFX_SPIELER2 }, + { EL_PLAYER3, GFX_SPIELER3 }, + { EL_PLAYER4, GFX_SPIELER4 }, + { 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_BD_BUTTERFLY, GFX_BUTTERFLY }, + { EL_BD_BUTTERFLY_RIGHT, GFX_BUTTERFLY_RIGHT }, + { EL_BD_BUTTERFLY_UP, GFX_BUTTERFLY_UP }, + { EL_BD_BUTTERFLY_LEFT, GFX_BUTTERFLY_LEFT }, + { EL_BD_BUTTERFLY_DOWN, GFX_BUTTERFLY_DOWN }, + { EL_BD_FIREFLY, GFX_FIREFLY }, + { EL_BD_FIREFLY_RIGHT, GFX_FIREFLY_RIGHT }, + { EL_BD_FIREFLY_UP, GFX_FIREFLY_UP }, + { EL_BD_FIREFLY_LEFT, GFX_FIREFLY_LEFT }, + { EL_BD_FIREFLY_DOWN, GFX_FIREFLY_DOWN }, + { 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_MAGIC_WALL_EMPTY, GFX_MAGIC_WALL_EMPTY }, + { EL_AMOEBA_DROP, GFX_TROPFEN }, + { EL_BOMB, GFX_BOMBE }, + { EL_MAGIC_WALL, GFX_MAGIC_WALL_OFF }, + { EL_MAGIC_WALL_ACTIVE, 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_AMOEBA2DIAM, GFX_AMOEBA2DIAM }, + { 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_AMOEBA_TO_DIAMOND, 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_STONEBLOCK, GFX_BADEWANNE }, + { 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_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_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_MAGIC_WALL_BD_FULL, GFX_MAGIC_WALL_BD_FULL }, - { EL_MAGIC_WALL_BD_DEAD, GFX_MAGIC_WALL_BD_DEAD }, - { EL_DYNABOMB_ACTIVE_1, GFX_DYNABOMB }, - { EL_DYNABOMB_ACTIVE_2, GFX_DYNABOMB }, - { EL_DYNABOMB_ACTIVE_3, GFX_DYNABOMB }, - { EL_DYNABOMB_ACTIVE_4, GFX_DYNABOMB }, + { EL_INVISIBLE_WALL, GFX_UNSICHTBAR }, + { EL_INVISIBLE_WALL_ACTIVE, GFX_UNSICHTBAR_ON }, + { 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_WALL_GROWING, GFX_MAUER_LEBT }, + { EL_WALL_GROWING_X, GFX_MAUER_X }, + { EL_WALL_GROWING_Y, GFX_MAUER_Y }, + { EL_WALL_GROWING_XY, GFX_MAUER_XY }, + { EL_BD_DIAMOND, GFX_EDELSTEIN_BD }, + { EL_EMERALD_YELLOW, GFX_EDELSTEIN_GELB }, + { EL_EMERALD_RED, GFX_EDELSTEIN_ROT }, + { EL_EMERALD_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_BD_MAGIC_WALL, GFX_MAGIC_WALL_BD_OFF }, + { EL_BD_MAGIC_WALL_ACTIVE, GFX_MAGIC_WALL_BD_EMPTY }, + { EL_BD_MAGIC_WALL_EMPTYING, GFX_MAGIC_WALL_BD_EMPTY }, + { EL_BD_MAGIC_WALL_FULL, GFX_MAGIC_WALL_BD_FULL }, + { EL_BD_MAGIC_WALL_DEAD, GFX_MAGIC_WALL_BD_DEAD }, + { EL_DYNABOMB_PLAYER1_ACTIVE, GFX_DYNABOMB }, + { EL_DYNABOMB_PLAYER2_ACTIVE, GFX_DYNABOMB }, + { EL_DYNABOMB_PLAYER3_ACTIVE, GFX_DYNABOMB }, + { EL_DYNABOMB_PLAYER4_ACTIVE, GFX_DYNABOMB }, { EL_DYNABOMB_NR, GFX_DYNABOMB_NR }, { EL_DYNABOMB_SZ, GFX_DYNABOMB_SZ }, { EL_DYNABOMB_XL, GFX_DYNABOMB_XL }, - { EL_SOKOBAN_OBJEKT, GFX_SOKOBAN_OBJEKT }, - { EL_SOKOBAN_FELD_LEER, GFX_SOKOBAN_FELD_LEER }, - { EL_SOKOBAN_FELD_VOLL, GFX_SOKOBAN_FELD_VOLL }, + { EL_SOKOBAN_OBJECT, GFX_SOKOBAN_OBJEKT }, + { EL_SOKOBAN_FIELD_EMPTY, GFX_SOKOBAN_FELD_LEER }, + { EL_SOKOBAN_FIELD_FULL, GFX_SOKOBAN_FELD_VOLL }, { EL_MOLE, GFX_MOLE }, - { EL_PINGUIN, GFX_PINGUIN }, - { EL_SCHWEIN, GFX_SCHWEIN }, - { EL_DRACHE, GFX_DRACHE }, - { EL_SONDE, GFX_SONDE }, - { EL_PFEIL_LEFT, GFX_PFEIL_LEFT }, - { EL_PFEIL_RIGHT, GFX_PFEIL_RIGHT }, - { EL_PFEIL_UP, GFX_PFEIL_UP }, - { EL_PFEIL_DOWN, GFX_PFEIL_DOWN }, + { EL_PENGUIN, GFX_PINGUIN }, + { EL_PIG, GFX_SCHWEIN }, + { EL_DRAGON, GFX_DRACHE }, + { EL_SATELLITE, GFX_SONDE }, + { EL_ARROW_BLUE_LEFT, GFX_PFEIL_LEFT }, + { EL_ARROW_BLUE_RIGHT, GFX_PFEIL_RIGHT }, + { EL_ARROW_BLUE_UP, GFX_PFEIL_UP }, + { EL_ARROW_BLUE_DOWN, GFX_PFEIL_DOWN }, { EL_SPEED_PILL, GFX_SPEED_PILL }, { EL_SP_TERMINAL_ACTIVE, GFX_SP_TERMINAL }, - { EL_SP_BUG_ACTIVE, GFX_SP_BUG_ACTIVE }, + { EL_SP_BUGGY_BASE_ACTIVE, GFX_SP_BUG_ACTIVE }, { EL_SP_ZONK, GFX_SP_ZONK }, - { EL_INVISIBLE_STEEL, GFX_INVISIBLE_STEEL }, + { EL_INVISIBLE_STEELWALL, GFX_INVISIBLE_STEEL }, + { EL_INVISIBLE_STEELWALL_ACTIVE, GFX_INVISIBLE_STEEL_ON }, { EL_BLACK_ORB, GFX_BLACK_ORB }, - { EL_EM_GATE_1, GFX_EM_GATE_1 }, - { 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_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 }, - { EL_EM_KEY_4_FILE, GFX_EM_KEY_4 }, - { EL_EM_KEY_1, GFX_EM_KEY_1 }, - { EL_EM_KEY_2, GFX_EM_KEY_2 }, - { EL_EM_KEY_3, GFX_EM_KEY_3 }, - { EL_EM_KEY_4, GFX_EM_KEY_4 }, + { EL_EM_GATE1, GFX_EM_GATE_1 }, + { EL_EM_GATE2, GFX_EM_GATE_2 }, + { EL_EM_GATE3, GFX_EM_GATE_3 }, + { EL_EM_GATE4, GFX_EM_GATE_4 }, + { 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_KEY1_FILE, GFX_EM_KEY_1 }, + { EL_EM_KEY2_FILE, GFX_EM_KEY_2 }, + { EL_EM_KEY3_FILE, GFX_EM_KEY_3 }, + { EL_EM_KEY4_FILE, GFX_EM_KEY_4 }, + { EL_EM_KEY1, GFX_EM_KEY_1 }, + { EL_EM_KEY2, GFX_EM_KEY_2 }, + { EL_EM_KEY3, GFX_EM_KEY_3 }, + { EL_EM_KEY4, GFX_EM_KEY_4 }, { EL_PEARL, GFX_PEARL }, { EL_CRYSTAL, GFX_CRYSTAL }, { EL_WALL_PEARL, GFX_WALL_PEARL }, @@ -725,41 +728,53 @@ void InitElementInfo() { EL_DOOR_WHITE, GFX_DOOR_WHITE }, { EL_DOOR_WHITE_GRAY, GFX_DOOR_WHITE_GRAY }, { EL_KEY_WHITE, GFX_KEY_WHITE }, - { EL_SHIELD_PASSIVE, GFX_SHIELD_PASSIVE }, - { EL_SHIELD_ACTIVE, GFX_SHIELD_ACTIVE }, + { EL_SHIELD_NORMAL, GFX_SHIELD_PASSIVE }, + { EL_SHIELD_DEADLY, GFX_SHIELD_ACTIVE }, { EL_EXTRA_TIME, GFX_EXTRA_TIME }, { EL_SWITCHGATE_OPEN, GFX_SWITCHGATE_OPEN }, { EL_SWITCHGATE_CLOSED, GFX_SWITCHGATE_CLOSED }, - { EL_SWITCHGATE_SWITCH_1, GFX_SWITCHGATE_SWITCH_1 }, - { EL_SWITCHGATE_SWITCH_2, GFX_SWITCHGATE_SWITCH_2 }, - { EL_BELT1_LEFT, GFX_BELT1_LEFT }, - { EL_BELT1_MIDDLE, GFX_BELT1_MIDDLE }, - { EL_BELT1_RIGHT, GFX_BELT1_RIGHT }, - { EL_BELT1_SWITCH_LEFT, GFX_BELT1_SWITCH_LEFT }, - { EL_BELT1_SWITCH_MIDDLE, GFX_BELT1_SWITCH_MIDDLE }, - { EL_BELT1_SWITCH_RIGHT, GFX_BELT1_SWITCH_RIGHT }, - { EL_BELT2_LEFT, GFX_BELT2_LEFT }, - { EL_BELT2_MIDDLE, GFX_BELT2_MIDDLE }, - { EL_BELT2_RIGHT, GFX_BELT2_RIGHT }, - { EL_BELT2_SWITCH_LEFT, GFX_BELT2_SWITCH_LEFT }, - { EL_BELT2_SWITCH_MIDDLE, GFX_BELT2_SWITCH_MIDDLE }, - { EL_BELT2_SWITCH_RIGHT, GFX_BELT2_SWITCH_RIGHT }, - { EL_BELT3_LEFT, GFX_BELT3_LEFT }, - { EL_BELT3_MIDDLE, GFX_BELT3_MIDDLE }, - { EL_BELT3_RIGHT, GFX_BELT3_RIGHT }, - { EL_BELT3_SWITCH_LEFT, GFX_BELT3_SWITCH_LEFT }, - { EL_BELT3_SWITCH_MIDDLE, GFX_BELT3_SWITCH_MIDDLE }, - { EL_BELT3_SWITCH_RIGHT, GFX_BELT3_SWITCH_RIGHT }, - { EL_BELT4_LEFT, GFX_BELT4_LEFT }, - { EL_BELT4_MIDDLE, GFX_BELT4_MIDDLE }, - { EL_BELT4_RIGHT, GFX_BELT4_RIGHT }, - { EL_BELT4_SWITCH_LEFT, GFX_BELT4_SWITCH_LEFT }, - { EL_BELT4_SWITCH_MIDDLE, GFX_BELT4_SWITCH_MIDDLE }, - { EL_BELT4_SWITCH_RIGHT, GFX_BELT4_SWITCH_RIGHT }, + { EL_SWITCHGATE_SWITCH_UP, GFX_SWITCHGATE_SWITCH_1 }, + { EL_SWITCHGATE_SWITCH_DOWN, GFX_SWITCHGATE_SWITCH_2 }, + { EL_CONVEYOR_BELT1_LEFT, GFX_BELT1_LEFT }, + { EL_CONVEYOR_BELT1_MIDDLE, GFX_BELT1_MIDDLE }, + { EL_CONVEYOR_BELT1_RIGHT, GFX_BELT1_RIGHT }, + { EL_CONVEYOR_BELT1_LEFT_ACTIVE, GFX_BELT1_LEFT }, + { EL_CONVEYOR_BELT1_MIDDLE_ACTIVE, GFX_BELT1_MIDDLE }, + { EL_CONVEYOR_BELT1_RIGHT_ACTIVE, GFX_BELT1_RIGHT }, + { EL_CONVEYOR_BELT1_SWITCH_LEFT, GFX_BELT1_SWITCH_LEFT }, + { EL_CONVEYOR_BELT1_SWITCH_MIDDLE, GFX_BELT1_SWITCH_MIDDLE }, + { EL_CONVEYOR_BELT1_SWITCH_RIGHT, GFX_BELT1_SWITCH_RIGHT }, + { EL_CONVEYOR_BELT2_LEFT, GFX_BELT2_LEFT }, + { EL_CONVEYOR_BELT2_MIDDLE, GFX_BELT2_MIDDLE }, + { EL_CONVEYOR_BELT2_RIGHT, GFX_BELT2_RIGHT }, + { EL_CONVEYOR_BELT2_LEFT_ACTIVE, GFX_BELT2_LEFT }, + { EL_CONVEYOR_BELT2_MIDDLE_ACTIVE, GFX_BELT2_MIDDLE }, + { EL_CONVEYOR_BELT2_RIGHT_ACTIVE, GFX_BELT2_RIGHT }, + { EL_CONVEYOR_BELT2_SWITCH_LEFT, GFX_BELT2_SWITCH_LEFT }, + { EL_CONVEYOR_BELT2_SWITCH_MIDDLE, GFX_BELT2_SWITCH_MIDDLE }, + { EL_CONVEYOR_BELT2_SWITCH_RIGHT, GFX_BELT2_SWITCH_RIGHT }, + { EL_CONVEYOR_BELT3_LEFT, GFX_BELT3_LEFT }, + { EL_CONVEYOR_BELT3_MIDDLE, GFX_BELT3_MIDDLE }, + { EL_CONVEYOR_BELT3_RIGHT, GFX_BELT3_RIGHT }, + { EL_CONVEYOR_BELT3_LEFT_ACTIVE, GFX_BELT3_LEFT }, + { EL_CONVEYOR_BELT3_MIDDLE_ACTIVE, GFX_BELT3_MIDDLE }, + { EL_CONVEYOR_BELT3_RIGHT_ACTIVE, GFX_BELT3_RIGHT }, + { EL_CONVEYOR_BELT3_SWITCH_LEFT, GFX_BELT3_SWITCH_LEFT }, + { EL_CONVEYOR_BELT3_SWITCH_MIDDLE, GFX_BELT3_SWITCH_MIDDLE }, + { EL_CONVEYOR_BELT3_SWITCH_RIGHT, GFX_BELT3_SWITCH_RIGHT }, + { EL_CONVEYOR_BELT4_LEFT, GFX_BELT4_LEFT }, + { EL_CONVEYOR_BELT4_MIDDLE, GFX_BELT4_MIDDLE }, + { EL_CONVEYOR_BELT4_RIGHT, GFX_BELT4_RIGHT }, + { EL_CONVEYOR_BELT4_LEFT_ACTIVE, GFX_BELT4_LEFT }, + { EL_CONVEYOR_BELT4_MIDDLE_ACTIVE, GFX_BELT4_MIDDLE }, + { EL_CONVEYOR_BELT4_RIGHT_ACTIVE, GFX_BELT4_RIGHT }, + { EL_CONVEYOR_BELT4_SWITCH_LEFT, GFX_BELT4_SWITCH_LEFT }, + { EL_CONVEYOR_BELT4_SWITCH_MIDDLE, GFX_BELT4_SWITCH_MIDDLE }, + { EL_CONVEYOR_BELT4_SWITCH_RIGHT, GFX_BELT4_SWITCH_RIGHT }, { EL_LANDMINE, GFX_LANDMINE }, { EL_ENVELOPE, GFX_ENVELOPE }, - { EL_LIGHT_SWITCH_OFF, GFX_LIGHT_SWITCH_OFF }, - { EL_LIGHT_SWITCH_ON, GFX_LIGHT_SWITCH_ON }, + { EL_LIGHT_SWITCH, GFX_LIGHT_SWITCH_OFF }, + { EL_LIGHT_SWITCH_ACTIVE, GFX_LIGHT_SWITCH_ON }, { EL_SIGN_EXCLAMATION, GFX_SIGN_EXCLAMATION }, { EL_SIGN_RADIOACTIVITY, GFX_SIGN_RADIOACTIVITY }, { EL_SIGN_STOP, GFX_SIGN_STOP }, @@ -776,46 +791,47 @@ void InitElementInfo() { EL_MOLE_RIGHT, GFX_MOLE_RIGHT }, { EL_MOLE_UP, GFX_MOLE_UP }, { EL_MOLE_DOWN, GFX_MOLE_DOWN }, - { EL_STEEL_SLANTED, GFX_STEEL_SLANTED }, - { EL_SAND_INVISIBLE, GFX_SAND_INVISIBLE }, + { EL_STEELWALL_SLANTED, GFX_STEEL_SLANTED }, + { EL_INVISIBLE_SAND, GFX_SAND_INVISIBLE }, + { EL_INVISIBLE_SAND_ACTIVE, GFX_SAND_INVISIBLE_ON }, { EL_DX_UNKNOWN_15, GFX_DX_UNKNOWN_15 }, { EL_DX_UNKNOWN_42, GFX_DX_UNKNOWN_42 }, { EL_TIMEGATE_OPEN, GFX_TIMEGATE_OPEN }, { EL_TIMEGATE_CLOSED, GFX_TIMEGATE_CLOSED }, - { EL_TIMEGATE_SWITCH_ON, GFX_TIMEGATE_SWITCH }, - { EL_TIMEGATE_SWITCH_OFF, GFX_TIMEGATE_SWITCH }, + { EL_TIMEGATE_SWITCH_ACTIVE, GFX_TIMEGATE_SWITCH }, + { EL_TIMEGATE_SWITCH, GFX_TIMEGATE_SWITCH }, { EL_BALLOON, GFX_BALLOON }, { EL_BALLOON_SEND_LEFT, GFX_BALLOON_SEND_LEFT }, { EL_BALLOON_SEND_RIGHT, GFX_BALLOON_SEND_RIGHT }, { EL_BALLOON_SEND_UP, GFX_BALLOON_SEND_UP }, { EL_BALLOON_SEND_DOWN, GFX_BALLOON_SEND_DOWN }, - { EL_BALLOON_SEND_ANY, GFX_BALLOON_SEND_ANY }, - { EL_EMC_STEEL_WALL_1, GFX_EMC_STEEL_WALL_1 }, - { EL_EMC_STEEL_WALL_2, GFX_EMC_STEEL_WALL_2 }, - { EL_EMC_STEEL_WALL_3, GFX_EMC_STEEL_WALL_3 }, - { EL_EMC_STEEL_WALL_4, GFX_EMC_STEEL_WALL_4 }, - { EL_EMC_WALL_1, GFX_EMC_WALL_1 }, - { EL_EMC_WALL_2, GFX_EMC_WALL_2 }, - { EL_EMC_WALL_3, GFX_EMC_WALL_3 }, - { EL_EMC_WALL_4, GFX_EMC_WALL_4 }, - { EL_EMC_WALL_5, GFX_EMC_WALL_5 }, - { EL_EMC_WALL_6, GFX_EMC_WALL_6 }, - { EL_EMC_WALL_7, GFX_EMC_WALL_7 }, - { EL_EMC_WALL_8, GFX_EMC_WALL_8 }, - { EL_TUBE_CROSS, GFX_TUBE_CROSS }, + { EL_BALLOON_SEND_ANY_DIRECTION, GFX_BALLOON_SEND_ANY }, + { EL_EMC_STEELWALL1, GFX_EMC_STEEL_WALL_1 }, + { EL_EMC_STEELWALL2, GFX_EMC_STEEL_WALL_2 }, + { EL_EMC_STEELWALL3, GFX_EMC_STEEL_WALL_3 }, + { EL_EMC_STEELWALL4, GFX_EMC_STEEL_WALL_4 }, + { EL_EMC_WALL_PILLAR_UPPER, GFX_EMC_WALL_1 }, + { EL_EMC_WALL_PILLAR_MIDDLE, GFX_EMC_WALL_2 }, + { EL_EMC_WALL_PILLAR_LOWER, GFX_EMC_WALL_3 }, + { EL_EMC_WALL4, GFX_EMC_WALL_4 }, + { EL_EMC_WALL5, GFX_EMC_WALL_5 }, + { EL_EMC_WALL6, GFX_EMC_WALL_6 }, + { EL_EMC_WALL7, GFX_EMC_WALL_7 }, + { EL_EMC_WALL8, GFX_EMC_WALL_8 }, + { EL_TUBE_ALL, GFX_TUBE_CROSS }, { EL_TUBE_VERTICAL, GFX_TUBE_VERTICAL }, { EL_TUBE_HORIZONTAL, GFX_TUBE_HORIZONTAL }, - { EL_TUBE_VERT_LEFT, GFX_TUBE_VERT_LEFT }, - { EL_TUBE_VERT_RIGHT, GFX_TUBE_VERT_RIGHT }, - { EL_TUBE_HORIZ_UP, GFX_TUBE_HORIZ_UP }, - { EL_TUBE_HORIZ_DOWN, GFX_TUBE_HORIZ_DOWN }, + { EL_TUBE_VERTICAL_LEFT, GFX_TUBE_VERT_LEFT }, + { EL_TUBE_VERTICAL_RIGHT, GFX_TUBE_VERT_RIGHT }, + { EL_TUBE_HORIZONTAL_UP, GFX_TUBE_HORIZ_UP }, + { EL_TUBE_HORIZONTAL_DOWN, GFX_TUBE_HORIZ_DOWN }, { EL_TUBE_LEFT_UP, GFX_TUBE_LEFT_UP }, { EL_TUBE_LEFT_DOWN, GFX_TUBE_LEFT_DOWN }, { EL_TUBE_RIGHT_UP, GFX_TUBE_RIGHT_UP }, { EL_TUBE_RIGHT_DOWN, GFX_TUBE_RIGHT_DOWN }, { EL_SPRING, GFX_SPRING }, { EL_SPRING_MOVING, GFX_SPRING }, - { EL_TRAP_INACTIVE, GFX_TRAP_INACTIVE }, + { EL_TRAP, GFX_TRAP_INACTIVE }, { EL_TRAP_ACTIVE, GFX_TRAP_ACTIVE }, { EL_BD_WALL, GFX_BD_WALL }, { EL_BD_ROCK, GFX_BD_ROCK }, @@ -835,49 +851,49 @@ void InitElementInfo() element_to_direction_graphic[] = { { - EL_FLIEGER, - IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT, - IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN - }, - { - EL_KAEFER, - 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, + EL_PLAYER1, IMG_PLAYER1_LEFT, IMG_PLAYER1_RIGHT, IMG_PLAYER1_UP, IMG_PLAYER1_DOWN }, { - EL_SPIELER2, + EL_PLAYER2, IMG_PLAYER2_LEFT, IMG_PLAYER2_RIGHT, IMG_PLAYER2_UP, IMG_PLAYER2_DOWN }, { - EL_SPIELER3, + EL_PLAYER3, IMG_PLAYER3_LEFT, IMG_PLAYER3_RIGHT, IMG_PLAYER3_UP, IMG_PLAYER3_DOWN }, { - EL_SPIELER4, + EL_PLAYER4, 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_SP_MURPHY, + IMG_SP_MURPHY_LEFT, IMG_SP_MURPHY_RIGHT, + IMG_SP_MURPHY_UP, IMG_SP_MURPHY_DOWN }, { - EL_DRACHE, - IMG_DRAGON_LEFT, IMG_DRAGON_RIGHT, - IMG_DRAGON_UP, IMG_DRAGON_DOWN + EL_SP_SNIKSNAK, + IMG_SP_SNIKSNAK_LEFT, IMG_SP_SNIKSNAK_RIGHT, + IMG_SP_SNIKSNAK_UP, IMG_SP_SNIKSNAK_DOWN + }, + { + EL_BUG, + IMG_BUG_LEFT, IMG_BUG_RIGHT, + IMG_BUG_UP, IMG_BUG_DOWN + }, + { + EL_SPACESHIP, + IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT, + IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN + }, + { + EL_PACMAN, + IMG_PACMAN_LEFT, IMG_PACMAN_RIGHT, + IMG_PACMAN_UP, IMG_PACMAN_DOWN }, { EL_MOLE, @@ -885,19 +901,19 @@ void InitElementInfo() IMG_MOLE_UP, IMG_MOLE_DOWN }, { - EL_PINGUIN, + EL_PENGUIN, 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_PIG, + IMG_PIG_LEFT, IMG_PIG_RIGHT, + IMG_PIG_UP, IMG_PIG_DOWN }, { - EL_SP_SNIKSNAK, - IMG_SP_SNIKSNAK_LEFT, IMG_SP_SNIKSNAK_RIGHT, - IMG_SP_SNIKSNAK_UP, IMG_SP_SNIKSNAK_DOWN + EL_DRAGON, + IMG_DRAGON_LEFT, IMG_DRAGON_RIGHT, + IMG_DRAGON_UP, IMG_DRAGON_DOWN }, { -1, @@ -905,14 +921,19 @@ void InitElementInfo() -1, -1 } }; +#endif + + int i, j, k; /* always start with reliable default values */ for(i=0; i -1) @@ -961,6 +983,67 @@ void InitElementInfo() element_info[element].has_direction_graphic[GFX_ACTION_DEFAULT] = TRUE; i++; } +#else + + i = 0; + while (element_to_graphic[i].element > -1) + { + int element = element_to_graphic[i].element; + int direction = element_to_graphic[i].direction; + int action = element_to_graphic[i].action; + int graphic = element_to_graphic[i].graphic; + + if (action > -1) + action = graphics_action_mapping[action]; + else + action = GFX_ACTION_DEFAULT; + + if (direction > -1) + { + direction = MV_DIR_BIT(direction); + + element_info[element].direction_graphic[action][direction] = graphic; + } + else + element_info[element].graphic[action] = graphic; + + i++; + } + + /* now set all '-1' values with element specific default values */ + for(i=0; i