X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=24fed063142bb606fc7c04342512ac7d1171e6fa;hb=ef8c5a2593702e86fb1566cfc25dda5f35df2ea0;hp=394dc09881ecee62d363a07ee70eaa870b5a31bc;hpb=4fcf5c6436d34bdc44bc534d21d9ec95bf072333;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 394dc098..24fed063 100644 --- a/src/main.h +++ b/src/main.h @@ -274,49 +274,7 @@ #define MICROLEV_YPOS (SX + 12 * TILEY - MICRO_TILEY) #define MICROLABEL_YPOS (MICROLEV_YPOS + MICROLEV_YSIZE + 7) -#define MINI_GFX_STARTX 0 -#define MINI_GFX_STARTY 448 -#define MICRO_GFX_STARTX 384 -#define MICRO_GFX_STARTY 448 -#define GFX_PER_LINE 16 -#define MINI_GFX_PER_LINE 16 -#define MICRO_GFX_PER_LINE 16 - -#define MINI_FONT_STARTX 0 -#define MINI_FONT_STARTY 160 -#define MICRO_FONT_STARTX 384 -#define MICRO_FONT_STARTY 160 - -#define HEROES_PER_LINE 16 - -#define MINI_SP_STARTX 0 -#define MINI_SP_STARTY 512 -#define MICRO_SP_STARTX 384 -#define MICRO_SP_STARTY 512 -#define SP_PER_LINE 16 -#define MINI_SP_PER_LINE 16 -#define MICRO_SP_PER_LINE 16 - -#define MINI_DC_STARTX 0 -#define MINI_DC_STARTY 512 -#define MICRO_DC_STARTX 384 -#define MICRO_DC_STARTY 512 -#define DC_PER_LINE 16 -#define MINI_DC_PER_LINE 16 -#define MICRO_DC_PER_LINE 16 - -#define MINI_MORE_STARTX 0 -#define MINI_MORE_STARTY 256 -#define MICRO_MORE_STARTX 384 -#define MICRO_MORE_STARTY 256 -#define MORE_PER_LINE 16 -#define MINI_MORE_PER_LINE 16 -#define MICRO_MORE_PER_LINE 16 - -/* game elements: -** 0 <= element < xxx: real elements, stored in level file -** xxx <= element < yyy: flag elements, only used at runtime -*/ + /* "real" level file elements */ #define EL_UNDEFINED -1 @@ -799,599 +757,30 @@ #define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 36) -/* game graphics: -** 0 - 255: graphics from "RocksElements" -** 256 - 511: graphics from "RocksFont" -** 512 - 767: graphics from "RocksHeroes" -** 768 - 1023: graphics from "RocksSP" -** 1024 - 1279: graphics from "RocksDC" -** 1280 - 1535: graphics from "RocksMore" -*/ - -#define GFX_START_ROCKSELEMENTS 0 -#define GFX_END_ROCKSELEMENTS 255 -#define GFX_START_ROCKSFONT 256 -#define GFX_END_ROCKSFONT 511 -#define GFX_START_ROCKSHEROES 512 -#define GFX_END_ROCKSHEROES 767 -#define GFX_START_ROCKSSP 768 -#define GFX_END_ROCKSSP 1023 -#define GFX_START_ROCKSDC 1024 -#define GFX_END_ROCKSDC 1279 -#define GFX_START_ROCKSMORE 1280 -#define GFX_END_ROCKSMORE 1535 - -#if 0 -#define NUM_TILES 1536 /* see above: MAX_GRAPHICS */ -#endif - -/* graphics from "RocksScreen" */ -/* Zeile 0 (0) */ -#define GFX_LEERRAUM (-1) -#define GFX_ERDREICH 0 -#define GFX_ERDENRAND 1 -#define GFX_MORAST_LEER 2 -#define GFX_MORAST_VOLL 3 -#define GFX_BETON 4 -#define GFX_MAUERWERK 5 -#define GFX_FELSBODEN 6 -#define GFX_EDELSTEIN 8 -#define GFX_DIAMANT 10 -#define GFX_FELSBROCKEN 12 -/* Zeile 1 (16) */ -#define GFX_BADEWANNE1 16 -#define GFX_SALZSAEURE 17 -#define GFX_BADEWANNE2 18 - -/* -#define GFX_UNSICHTBAR 19 -*/ - -#define GFX_SCHLUESSEL1 20 -#define GFX_SCHLUESSEL2 21 -#define GFX_SCHLUESSEL3 22 -#define GFX_SCHLUESSEL4 23 -#define GFX_LIFE 24 -#define GFX_LIFE_ASYNC 25 -#define GFX_BADEWANNE 26 -#define GFX_BOMBE 27 -#define GFX_KOKOSNUSS 28 -#define GFX_CRACKINGNUT 29 -/* Zeile 2 (32) */ -#define GFX_BADEWANNE3 32 -#define GFX_BADEWANNE4 33 -#define GFX_BADEWANNE5 34 -#define GFX_SMILEY 35 -#define GFX_PFORTE1 36 -#define GFX_PFORTE2 37 -#define GFX_PFORTE3 38 -#define GFX_PFORTE4 39 -#define GFX_PFORTE1X 40 -#define GFX_PFORTE2X 41 -#define GFX_PFORTE3X 42 -#define GFX_PFORTE4X 43 -/* Zeile 3 (48) */ -#define GFX_DYNAMIT_AUS 48 -#define GFX_DYNAMIT 49 -#define GFX_FLIEGER 56 -#define GFX_FLIEGER_RIGHT 56 -#define GFX_FLIEGER_UP 58 -#define GFX_FLIEGER_LEFT 60 -#define GFX_FLIEGER_DOWN 62 -/* Zeile 4 (64) */ -#define GFX_EXPLOSION 64 -#define GFX_KAEFER 72 -#define GFX_KAEFER_RIGHT 72 -#define GFX_KAEFER_UP 74 -#define GFX_KAEFER_LEFT 76 -#define GFX_KAEFER_DOWN 78 -/* Zeile 5 (80) */ -#define GFX_MAMPFER 80 -#define GFX_ROBOT 84 -#define GFX_PACMAN 88 -#define GFX_PACMAN_RIGHT 88 -#define GFX_PACMAN_UP 90 -#define GFX_PACMAN_LEFT 92 -#define GFX_PACMAN_DOWN 94 -/* Zeile 6 (96) */ -#define GFX_ABLENK 96 -#define GFX_ABLENK_EIN GFX_ABLENK -#define GFX_ABLENK_AUS GFX_ABLENK -#define GFX_AMOEBE_NASS 100 -#define GFX_TROPFEN 101 -#define GFX_AMOEBING GFX_TROPFEN -#define GFX_AMOEBE_LEBT 104 -#define GFX_AMOEBE_NORM GFX_AMOEBE_LEBT -#define GFX_AMOEBE_TOT 108 -#define GFX_AMOEBA2DIAM GFX_AMOEBE_TOT -/* Zeile 7 (112) */ -#define GFX_BIRNE_AUS 112 -#define GFX_BIRNE_EIN 113 -#define GFX_ZEIT_VOLL 114 -#define GFX_ZEIT_LEER 115 -#define GFX_SPIELER1 116 -#define GFX_SPIELER2 117 -#define GFX_SPIELER3 118 -#define GFX_SPIELER4 119 -#define GFX_AMOEBE_VOLL 120 -#define GFX_AMOEBE_BD GFX_AMOEBE_VOLL -#define GFX_SOKOBAN_OBJEKT 121 -#define GFX_SOKOBAN_FELD_LEER 122 -#define GFX_SOKOBAN_FELD_VOLL 123 -#define GFX_GEBLUBBER 124 -/* Zeile 8 (128) */ -#define GFX_MAGIC_WALL_OFF 128 -#define GFX_MAGIC_WALL_EMPTY GFX_MAGIC_WALL_OFF -#define GFX_MAGIC_WALL_FULL GFX_MAGIC_WALL_OFF -#define GFX_MAGIC_WALL_DEAD GFX_MAGIC_WALL_OFF -#define GFX_ERZ_EDEL 132 -#define GFX_ERZ_DIAM 133 -#define GFX_ERZ_EDEL_ROT 134 -#define GFX_ERZ_EDEL_LILA 135 -#define GFX_ERZ_EDEL_GELB 136 -#define GFX_ERZ_EDEL_BD 137 -#define GFX_EDELSTEIN_GELB 138 -#define GFX_KUGEL_ROT 140 -#define GFX_KUGEL_BLAU 141 -#define GFX_KUGEL_GELB 142 -#define GFX_KUGEL_GRAU 143 -/* Zeile 9 (144) */ -#define GFX_PINGUIN 144 -#define GFX_MOLE 145 -#define GFX_SCHWEIN 146 -#define GFX_DRACHE 147 -#define GFX_MAUER_XY 148 -#define GFX_MAUER_X 149 -#define GFX_MAUER_Y 150 -#define GFX_EDELSTEIN_ROT 152 -#define GFX_EDELSTEIN_LILA 154 -#define GFX_DYNABOMB_XL 156 -#define GFX_BLACK_ORB 157 -#define GFX_SPEED_PILL 158 -#define GFX_SONDE 159 -/* Zeile 10 (160) */ -#define GFX_EDELSTEIN_BD 163 -#define GFX_MAUER_RIGHT 165 -#define GFX_MAUER_R1 GFX_MAUER_RIGHT -#define GFX_MAUER_R 167 -#define GFX_MAUER_LEFT 168 -#define GFX_MAUER_L1 GFX_MAUER_LEFT -#define GFX_MAUER_L 170 -#define GFX_MAUER_LEBT 171 -#define GFX_MAGIC_WALL_BD_OFF 172 -#define GFX_MAGIC_WALL_BD_EMPTY GFX_MAGIC_WALL_BD_OFF -#define GFX_MAGIC_WALL_BD_FULL GFX_MAGIC_WALL_BD_OFF -#define GFX_MAGIC_WALL_BD_DEAD GFX_MAGIC_WALL_BD_OFF -/* Zeile 11 (176) */ -#define GFX_AUSGANG_ZU 176 -#define GFX_AUSGANG_ACT 177 -#define GFX_AUSGANG_AUF 180 -#define GFX_MAMPFER2 184 -#define GFX_DYNABOMB 188 -#define GFX_DYNABOMB_NR 188 -#define GFX_DYNABOMB_SZ 191 -/* Zeile 12 (192) */ -#define GFX_PFEIL_LEFT 192 -#define GFX_PFEIL_RIGHT 193 -#define GFX_PFEIL_UP 194 -#define GFX_PFEIL_DOWN 195 -#define GFX_BUTTERFLY 196 -#define GFX_FIREFLY 198 -#define GFX_BUTTERFLY_RIGHT 200 -#define GFX_BUTTERFLY_UP 201 -#define GFX_BUTTERFLY_LEFT 202 -#define GFX_BUTTERFLY_DOWN 203 -#define GFX_FIREFLY_RIGHT 204 -#define GFX_FIREFLY_UP 205 -#define GFX_FIREFLY_LEFT 206 -#define GFX_FIREFLY_DOWN 207 - -/* only available as size MINI_TILE */ -#define GFX_VSTEEL_UPPER_LEFT 208 -#define GFX_VSTEEL_UPPER_RIGHT 209 -#define GFX_VSTEEL_LOWER_LEFT 210 -#define GFX_VSTEEL_LOWER_RIGHT 211 -#define GFX_VSTEEL_HORIZONTAL 212 -#define GFX_VSTEEL_VERTICAL 213 -#define GFX_ISTEEL_UPPER_LEFT 214 -#define GFX_ISTEEL_UPPER_RIGHT 215 -#define GFX_ISTEEL_LOWER_LEFT 216 -#define GFX_ISTEEL_LOWER_RIGHT 217 -#define GFX_ISTEEL_HORIZONTAL 218 -#define GFX_ISTEEL_VERTICAL 219 - -/* elements with graphics borrowed from other elements */ -#define GFX_SCHLUESSEL GFX_SCHLUESSEL1 -#define GFX_SPIELFIGUR GFX_SPIELER1 - -/* graphics from "RocksHeroes" */ -#define GFX_SPIELER1_DOWN (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE + 0) -#define GFX_SPIELER1_UP (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE + 4) -#define GFX_SPIELER1_LEFT (GFX_START_ROCKSHEROES + 1*HEROES_PER_LINE + 0) -#define GFX_SPIELER1_RIGHT (GFX_START_ROCKSHEROES + 1*HEROES_PER_LINE + 4) -#define GFX_SPIELER1_PUSH_RIGHT (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE + 0) -#define GFX_SPIELER1_PUSH_LEFT (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE + 4) -#define GFX_SPIELER2_DOWN (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE + 0) -#define GFX_SPIELER2_UP (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE + 4) -#define GFX_SPIELER2_LEFT (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 0) -#define GFX_SPIELER2_RIGHT (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 4) -#define GFX_SPIELER2_PUSH_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 0) -#define GFX_SPIELER2_PUSH_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 4) -#define GFX_SPIELER3_DOWN (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE + 0) -#define GFX_SPIELER3_UP (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE + 4) -#define GFX_SPIELER3_LEFT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE + 0) -#define GFX_SPIELER3_RIGHT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE + 4) -#define GFX_SPIELER3_PUSH_RIGHT (GFX_START_ROCKSHEROES + 8*HEROES_PER_LINE + 0) -#define GFX_SPIELER3_PUSH_LEFT (GFX_START_ROCKSHEROES + 8*HEROES_PER_LINE + 4) -#define GFX_SPIELER4_DOWN (GFX_START_ROCKSHEROES + 9*HEROES_PER_LINE + 0) -#define GFX_SPIELER4_UP (GFX_START_ROCKSHEROES + 9*HEROES_PER_LINE + 4) -#define GFX_SPIELER4_LEFT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE + 0) -#define GFX_SPIELER4_RIGHT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE + 4) -#define GFX_SPIELER4_PUSH_RIGHT (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 0) -#define GFX_SPIELER4_PUSH_LEFT (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 4) -#define GFX_MAUER_DOWN (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 0) -#define GFX_MAUER_UP (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 3) -#define GFX2_SHIELD_PASSIVE (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 1) -#define GFX2_SHIELD_ACTIVE (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 5) - -#define GFX_SONDE_START (GFX_START_ROCKSHEROES + 9*HEROES_PER_LINE + 8) -#define GFX_SCHWEIN_DOWN (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE + 8) -#define GFX_SCHWEIN_UP (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE +12) -#define GFX_SCHWEIN_LEFT (GFX_START_ROCKSHEROES + 1*HEROES_PER_LINE + 8) -#define GFX_SCHWEIN_RIGHT (GFX_START_ROCKSHEROES + 1*HEROES_PER_LINE +12) -#define GFX_DRACHE_DOWN (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE + 8) -#define GFX_DRACHE_UP (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE +12) -#define GFX_DRACHE_LEFT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE + 8) -#define GFX_DRACHE_RIGHT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE +12) -/* -#define GFX_MOLE_DOWN (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 8) -#define GFX_MOLE_UP (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE +12) -#define GFX_MOLE_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 8) -#define GFX_MOLE_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE +12) -*/ -#define GFX_PINGUIN_DOWN (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE + 8) -#define GFX_PINGUIN_UP (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE +12) -#define GFX_PINGUIN_LEFT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE + 8) -#define GFX_PINGUIN_RIGHT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE +12) -#define GFX_BLURB_LEFT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE + 8) -#define GFX_BLURB_RIGHT (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE +12) -#define GFX_FUNKELN_BLAU (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 9) -#define GFX_FUNKELN_WEISS (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE +13) -#define GFX_FLAMMEN_LEFT (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 8) -#define GFX_FLAMMEN_RIGHT (GFX_START_ROCKSHEROES +13*HEROES_PER_LINE + 8) -#define GFX_FLAMMEN_UP (GFX_START_ROCKSHEROES +14*HEROES_PER_LINE + 8) -#define GFX_FLAMMEN_DOWN (GFX_START_ROCKSHEROES +15*HEROES_PER_LINE + 8) - -/* graphics from "RocksSP" */ -#define GFX_SP_EMPTY (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 0) -/* -#define GFX_SP_ZONK (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 1) -*/ -#define GFX_SP_BASE (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 2) -#define GFX_SP_MURPHY (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 3) -#define GFX_SP_INFOTRON (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 4) -#define GFX_SP_CHIP_SINGLE (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 5) -#define GFX_SP_HARD_GRAY (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 6) -#define GFX_SP_EXIT (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 7) -#define GFX_SP_DISK_ORANGE (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 0) -#define GFX_SP_PORT1_RIGHT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 1) -#define GFX_SP_PORT1_DOWN (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 2) -#define GFX_SP_PORT1_LEFT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 3) -#define GFX_SP_PORT1_UP (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 4) -#define GFX_SP_PORT2_RIGHT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 5) -#define GFX_SP_PORT2_DOWN (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 6) -#define GFX_SP_PORT2_LEFT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 7) -#define GFX_SP_PORT2_UP (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 0) -#define GFX_SP_SNIKSNAK (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 1) -#define GFX_SP_DISK_YELLOW (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 2) -#define GFX_SP_TERMINAL (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 3) -#define GFX_SP_DISK_RED (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 4) -#define GFX_SP_PORT_Y (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 5) -#define GFX_SP_PORT_X (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 6) -#define GFX_SP_PORT_XY (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 7) -#define GFX_SP_ELECTRON (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 0) -#define GFX_SP_BUG (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 1) -#define GFX_SP_CHIP_LEFT (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 2) -#define GFX_SP_CHIP_RIGHT (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 3) -#define GFX_SP_HARD_BASE1 (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 4) -#define GFX_SP_HARD_GREEN (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 5) -#define GFX_SP_HARD_BLUE (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 6) -#define GFX_SP_HARD_RED (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 7) -#define GFX_SP_HARD_YELLOW (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 0) -#define GFX_SP_HARD_BASE2 (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 1) -#define GFX_SP_HARD_BASE3 (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 2) -#define GFX_SP_HARD_BASE4 (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 3) -#define GFX_SP_HARD_BASE5 (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 4) -#define GFX_SP_HARD_BASE6 (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 5) -#define GFX_SP_CHIP_UPPER (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 6) -#define GFX_SP_CHIP_LOWER (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 7) - -#define GFX_INVISIBLE_STEEL_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 1) -#define GFX_SAND_INVISIBLE_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 2) -#define GFX_INVISIBLE_STEEL (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 3) -#define GFX_UNSICHTBAR_ON (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 5) -#define GFX_SAND_INVISIBLE (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 6) -#define GFX_UNSICHTBAR (GFX_START_ROCKSSP + 5 * SP_PER_LINE + 7) - -#define GFX_SP_ZONK (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 0) - -#define GFX_EM_KEY_1 (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 4) -#define GFX_EM_KEY_2 (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 5) -#define GFX_EM_KEY_3 (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 6) -#define GFX_EM_KEY_4 (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 7) -#define GFX_EM_GATE_1 (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 0) -#define GFX_EM_GATE_2 (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 1) -#define GFX_EM_GATE_3 (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 2) -#define GFX_EM_GATE_4 (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 3) -#define GFX_EM_GATE_1X (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 4) -#define GFX_EM_GATE_2X (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 5) -#define GFX_EM_GATE_3X (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 6) -#define GFX_EM_GATE_4X (GFX_START_ROCKSSP + 7 * SP_PER_LINE + 7) - -#define GFX_MURPHY_GO_LEFT (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 8) -#define GFX_MURPHY_ANY_LEFT (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 9) -#define GFX_MURPHY_GO_RIGHT (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 11) -#define GFX_MURPHY_ANY_RIGHT (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 12) -#define GFX_MURPHY_SNAP_UP (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 14) -#define GFX_MURPHY_SNAP_DOWN (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 15) -#define GFX_MURPHY_SNAP_RIGHT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 8) -#define GFX_MURPHY_SNAP_LEFT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 9) -#define GFX_MURPHY_PUSH_RIGHT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 10) -#define GFX_MURPHY_PUSH_LEFT (GFX_START_ROCKSSP + 1 * SP_PER_LINE + 11) - -#define GFX_SP_BUG_WARNING (GFX_START_ROCKSSP + 2 * SP_PER_LINE + 15) -#define GFX_SP_EXPLODE_EMPTY (GFX_START_ROCKSSP + 3 * SP_PER_LINE + 8) -#define GFX_SP_EXPLODE_INFOTRON (GFX_START_ROCKSSP + 4 * SP_PER_LINE + 8) -#define GFX_SP_BUG_ACTIVE (GFX_START_ROCKSSP + 6 * SP_PER_LINE + 8) -#define GFX_SP_SNIKSNAK_LEFT (GFX_START_ROCKSSP + 8 * SP_PER_LINE + 8) -#define GFX_SP_SNIKSNAK_RIGHT (GFX_START_ROCKSSP + 8 * SP_PER_LINE + 12) -#define GFX_SP_SNIKSNAK_UP (GFX_START_ROCKSSP + 9 * SP_PER_LINE + 8) -#define GFX_SP_SNIKSNAK_DOWN (GFX_START_ROCKSSP + 9 * SP_PER_LINE + 12) - -#define GFX2_SP_ELECTRON (GFX_START_ROCKSSP + 10 * SP_PER_LINE + 8) -#define GFX2_SP_TERMINAL (GFX_START_ROCKSSP + 11 * SP_PER_LINE + 8) -#define GFX2_SP_TERMINAL_ACTIVE (GFX_START_ROCKSSP + 12 * SP_PER_LINE + 8) - -#define GFX_SP_MURPHY_CLONE (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 3) - -/* graphics from "RocksDC" */ -#define GFX_BELT1_MIDDLE (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 0) -#define GFX_BELT1_LEFT (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 0) -#define GFX_BELT1_RIGHT (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 0) -#define GFX_BELT2_MIDDLE (GFX_START_ROCKSDC + 3 * DC_PER_LINE + 0) -#define GFX_BELT2_LEFT (GFX_START_ROCKSDC + 4 * DC_PER_LINE + 0) -#define GFX_BELT2_RIGHT (GFX_START_ROCKSDC + 5 * DC_PER_LINE + 0) -#define GFX_BELT3_MIDDLE (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 0) -#define GFX_BELT3_LEFT (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 0) -#define GFX_BELT3_RIGHT (GFX_START_ROCKSDC + 8 * DC_PER_LINE + 0) -#define GFX_BELT4_MIDDLE (GFX_START_ROCKSDC + 9 * DC_PER_LINE + 0) -#define GFX_BELT4_LEFT (GFX_START_ROCKSDC + 10 * DC_PER_LINE + 0) -#define GFX_BELT4_RIGHT (GFX_START_ROCKSDC + 11 * DC_PER_LINE + 0) -#define GFX_BELT1_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3) - -#define GFX_SWITCHGATE_SWITCH_1 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 4) -#define GFX_SWITCHGATE_SWITCH_2 (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 5) -#define GFX_LIGHT_SWITCH_OFF (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 6) -#define GFX_LIGHT_SWITCH_ON (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 7) -#define GFX_TIMEGATE_SWITCH (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 0) - -#define GFX_ENVELOPE (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 4) -#define GFX_SIGN_EXCLAMATION (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 5) -#define GFX_SIGN_STOP (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 6) -#define GFX_LANDMINE (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 7) -#define GFX_STEEL_SLANTED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 5) - -#define GFX_EXTRA_TIME (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 8) -#define GFX_SHIELD_ACTIVE (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 8) -#define GFX_SHIELD_PASSIVE (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 8) -#define GFX_MOLE_DOWN (GFX_START_ROCKSDC + 3 * DC_PER_LINE + 8) -#define GFX_MOLE_UP (GFX_START_ROCKSDC + 3 * DC_PER_LINE + 12) -#define GFX_MOLE_LEFT (GFX_START_ROCKSDC + 4 * DC_PER_LINE + 8) -#define GFX_MOLE_RIGHT (GFX_START_ROCKSDC + 4 * DC_PER_LINE + 12) -#define GFX_SWITCHGATE_CLOSED (GFX_START_ROCKSDC + 5 * DC_PER_LINE + 8) -#define GFX_SWITCHGATE_OPEN (GFX_START_ROCKSDC + 5 * DC_PER_LINE + 12) -#define GFX_TIMEGATE_CLOSED (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 8) -#define GFX_TIMEGATE_OPEN (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 12) -#define GFX_BALLOON_SEND_LEFT (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 8) -#define GFX_BALLOON_SEND_RIGHT (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 9) -#define GFX_BALLOON_SEND_UP (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 10) -#define GFX_BALLOON_SEND_DOWN (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 11) -#define GFX_BALLOON (GFX_START_ROCKSDC + 7 * DC_PER_LINE + 12) -#define GFX_BALLOON_SEND_ANY (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 15) - -#define GFX_EMC_STEEL_WALL_1 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) -#define GFX_EMC_STEEL_WALL_2 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) -#define GFX_EMC_STEEL_WALL_3 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) -#define GFX_EMC_STEEL_WALL_4 (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 14) -#define GFX_EMC_WALL_1 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 13) -#define GFX_EMC_WALL_2 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 14) -#define GFX_EMC_WALL_3 (GFX_START_ROCKSDC + 6 * DC_PER_LINE + 15) -#define GFX_EMC_WALL_4 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 14) -#define GFX_EMC_WALL_5 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 15) -#define GFX_EMC_WALL_6 (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 14) -#define GFX_EMC_WALL_7 (GFX_START_ROCKSDC + 2 * DC_PER_LINE + 15) -#define GFX_EMC_WALL_8 (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 14) - -/* graphics from "RocksMore" */ -#define GFX_ARROW_BLUE_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 0) -#define GFX_ARROW_BLUE_RIGHT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 1) -#define GFX_ARROW_BLUE_UP (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 2) -#define GFX_ARROW_BLUE_DOWN (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 3) -#define GFX_ARROW_RED_LEFT (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 0) -#define GFX_ARROW_RED_RIGHT (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 1) -#define GFX_ARROW_RED_UP (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 2) -#define GFX_ARROW_RED_DOWN (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 3) -#define GFX_SCROLLBAR_BLUE (GFX_START_ROCKSMORE + 2 * MORE_PER_LINE + 0) -#define GFX_SCROLLBAR_RED (GFX_START_ROCKSMORE + 2 * MORE_PER_LINE + 1) -#define GFX_PEARL (GFX_START_ROCKSMORE + 3 * MORE_PER_LINE + 0) -#define GFX_CRYSTAL (GFX_START_ROCKSMORE + 3 * MORE_PER_LINE + 1) -#define GFX_WALL_PEARL (GFX_START_ROCKSMORE + 3 * MORE_PER_LINE + 2) -#define GFX_WALL_CRYSTAL (GFX_START_ROCKSMORE + 3 * MORE_PER_LINE + 3) -#define GFX_PEARL_BREAKING (GFX_START_ROCKSMORE + 4 * MORE_PER_LINE + 0) -#define GFX_SPRING (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 0) -#define GFX_TUBE_RIGHT_DOWN (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 1) -#define GFX_TUBE_HORIZ_DOWN (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 2) -#define GFX_TUBE_LEFT_DOWN (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 3) -#define GFX_TUBE_HORIZONTAL (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 0) -#define GFX_TUBE_VERT_RIGHT (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 1) -#define GFX_TUBE_CROSS (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 2) -#define GFX_TUBE_VERT_LEFT (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 3) -#define GFX_TUBE_VERTICAL (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 0) -#define GFX_TUBE_RIGHT_UP (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 1) -#define GFX_TUBE_HORIZ_UP (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 2) -#define GFX_TUBE_LEFT_UP (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 3) - -#define GFX_TRAP_INACTIVE (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 4) -#define GFX_TRAP_ACTIVE (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 7) -#define GFX_BD_WALL (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 4) -#define GFX_BD_ROCK (GFX_START_ROCKSMORE + 2 * MORE_PER_LINE + 4) -#define GFX_DX_SUPABOMB (GFX_START_ROCKSMORE + 1 * MORE_PER_LINE + 7) - -/* graphics from "RocksFont" */ -#define GFX_CHAR_START (GFX_START_ROCKSFONT) -#define GFX_CHAR_ASCII0 (GFX_CHAR_START - 32) -#define GFX_CHAR_AUSRUF (GFX_CHAR_ASCII0 + 33) -#define GFX_CHAR_ZOLL (GFX_CHAR_ASCII0 + 34) -#define GFX_CHAR_DOLLAR (GFX_CHAR_ASCII0 + 36) -#define GFX_CHAR_PROZ (GFX_CHAR_ASCII0 + 37) -#define GFX_CHAR_APOSTR (GFX_CHAR_ASCII0 + 39) -#define GFX_CHAR_KLAMM1 (GFX_CHAR_ASCII0 + 40) -#define GFX_CHAR_KLAMM2 (GFX_CHAR_ASCII0 + 41) -#define GFX_CHAR_PLUS (GFX_CHAR_ASCII0 + 43) -#define GFX_CHAR_KOMMA (GFX_CHAR_ASCII0 + 44) -#define GFX_CHAR_MINUS (GFX_CHAR_ASCII0 + 45) -#define GFX_CHAR_PUNKT (GFX_CHAR_ASCII0 + 46) -#define GFX_CHAR_SLASH (GFX_CHAR_ASCII0 + 47) -#define GFX_CHAR_0 (GFX_CHAR_ASCII0 + 48) -#define GFX_CHAR_9 (GFX_CHAR_ASCII0 + 57) -#define GFX_CHAR_DOPPEL (GFX_CHAR_ASCII0 + 58) -#define GFX_CHAR_SEMIKL (GFX_CHAR_ASCII0 + 59) -#define GFX_CHAR_LT (GFX_CHAR_ASCII0 + 60) -#define GFX_CHAR_GLEICH (GFX_CHAR_ASCII0 + 61) -#define GFX_CHAR_GT (GFX_CHAR_ASCII0 + 62) -#define GFX_CHAR_FRAGE (GFX_CHAR_ASCII0 + 63) -#define GFX_CHAR_AT (GFX_CHAR_ASCII0 + 64) -#define GFX_CHAR_A (GFX_CHAR_ASCII0 + 65) -#define GFX_CHAR_Z (GFX_CHAR_ASCII0 + 90) -#define GFX_CHAR_AE (GFX_CHAR_ASCII0 + 91) -#define GFX_CHAR_OE (GFX_CHAR_ASCII0 + 92) -#define GFX_CHAR_UE (GFX_CHAR_ASCII0 + 93) -#define GFX_CHAR_COPY (GFX_CHAR_ASCII0 + 94) -#define GFX_CHAR_END (GFX_CHAR_START + 79) - -/* new elements which still have no graphic */ -#define GFX_DOOR_WHITE GFX_CHAR_FRAGE -#define GFX_DOOR_WHITE_GRAY GFX_CHAR_FRAGE -#define GFX_KEY_WHITE GFX_CHAR_FRAGE -#define GFX_SIGN_RADIOACTIVITY GFX_CHAR_FRAGE -#define GFX_SIGN_WHEELCHAIR GFX_CHAR_FRAGE -#define GFX_SIGN_PARKING GFX_CHAR_FRAGE -#define GFX_SIGN_ONEWAY GFX_CHAR_FRAGE -#define GFX_SIGN_HEART GFX_CHAR_FRAGE -#define GFX_SIGN_TRIANGLE GFX_CHAR_FRAGE -#define GFX_SIGN_ROUND GFX_CHAR_FRAGE -#define GFX_SIGN_EXIT GFX_CHAR_FRAGE -#define GFX_SIGN_YINYANG GFX_CHAR_FRAGE -#define GFX_SIGN_OTHER GFX_CHAR_FRAGE -#define GFX_DX_UNKNOWN_15 GFX_CHAR_FRAGE -#define GFX_DX_UNKNOWN_42 GFX_CHAR_FRAGE - - -/* the names of the sounds */ -#define SND_AMOEBE 0 -#define SND_ANTIGRAV 1 -#define SND_AUTSCH 2 -#define SND_BLURB 3 -#define SND_BONG 4 -#define SND_BUING 5 -#define SND_DENG 6 -#define SND_FUEL 7 -#define SND_GONG 8 -#define SND_HALLOFFAME 9 -#define SND_HOLZ 10 -#define SND_HUI 11 -#define SND_KABUMM 12 -#define SND_KINK 13 -#define SND_KLAPPER 14 -#define SND_KLING 15 -#define SND_KLOPF 16 -#define SND_KLUMPF 17 -#define SND_KNACK 18 -#define SND_KNURK 19 -#define SND_KRACH 20 -#define SND_LACHEN 21 -#define SND_LASER 22 -#define SND_MIEP 23 -#define SND_NJAM 24 -#define SND_OEFFNEN 25 -#define SND_PLING 26 -#define SND_PONG 27 -#define SND_PUSCH 28 -#define SND_QUIEK 29 -#define SND_QUIRK 30 -#define SND_RHYTHMLOOP 31 -#define SND_ROAAAR 32 -#define SND_ROEHR 33 -#define SND_RUMMS 34 -#define SND_SCHLOPP 35 -#define SND_SCHLURF 36 -#define SND_SCHRFF 37 -#define SND_SCHWIRR 38 -#define SND_SIRR 39 -#define SND_SLURP 40 -#define SND_SPROING 41 -#define SND_WARNTON 42 -#define SND_WHOOSH 43 -#define SND_ZISCH 44 -#define SND_SP_BASE 45 -#define SND_SP_INFOTRON 46 -#define SND_SP_ZONKDOWN 47 -#define SND_SP_ZONKPUSH 48 -#define SND_SP_BUG 49 -#define SND_SP_BOOM 50 -#define SND_SP_BOOOM 51 -#define SND_SP_EXIT 52 -#define SND_EMPTY 53 -#define SND_GATE 54 - -#define NUM_SOUNDS 55 - - -/* values for animation action types */ -#define GFX_ACTION_DEFAULT 0 -#define GFX_ACTION_WAITING 1 -#define GFX_ACTION_FALLING 2 -#define GFX_ACTION_MOVING 3 -#define GFX_ACTION_DIGGING 4 -#define GFX_ACTION_SNAPPING 5 -#define GFX_ACTION_COLLECTING 6 -#define GFX_ACTION_PUSHING 7 -#define GFX_ACTION_PASSING 8 -#define GFX_ACTION_IMPACT 9 -#define GFX_ACTION_CRACKING 10 -#define GFX_ACTION_BREAKING 11 -#define GFX_ACTION_ACTIVATING 12 -#define GFX_ACTION_OPENING 13 -#define GFX_ACTION_CLOSING 14 -#define GFX_ACTION_EATING 15 -#define GFX_ACTION_ATTACKING 16 -#define GFX_ACTION_GROWING 17 -#define GFX_ACTION_SHRINKING 18 -#define GFX_ACTION_OTHER 19 - -#define NUM_GFX_ACTIONS 20 -#define NUM_GFX_ACTIONS_MAPPED 8 +/* values for graphics/sounds action types */ +#define ACTION_DEFAULT 0 +#define ACTION_WAITING 1 +#define ACTION_FALLING 2 +#define ACTION_MOVING 3 +#define ACTION_DIGGING 4 +#define ACTION_SNAPPING 5 +#define ACTION_COLLECTING 6 +#define ACTION_PUSHING 7 +#define ACTION_PASSING 8 +#define ACTION_IMPACT 9 +#define ACTION_CRACKING 10 +#define ACTION_BREAKING 11 +#define ACTION_ACTIVATING 12 +#define ACTION_OPENING 13 +#define ACTION_CLOSING 14 +#define ACTION_EATING 15 +#define ACTION_ATTACKING 16 +#define ACTION_GROWING 17 +#define ACTION_SHRINKING 18 +#define ACTION_ACTIVE 19 +#define ACTION_OTHER 20 + +#define NUM_ACTIONS 21 /* values for image configuration suffixes */ @@ -1642,10 +1031,10 @@ struct ElementInfo char *editor_description; /* short description for level editor */ /* default graphics for several actions */ - int graphic[NUM_GFX_ACTIONS_MAPPED]; + int graphic[NUM_ACTIONS]; /* special graphics for left/right/up/down */ - int direction_graphic[NUM_GFX_ACTIONS_MAPPED][NUM_MV_DIRECTIONS]; + int direction_graphic[NUM_ACTIONS][NUM_DIRECTIONS]; }; struct GraphicInfo @@ -1738,10 +1127,7 @@ extern struct TapeInfo tape; extern struct GameInfo game; extern struct GlobalInfo global; extern struct ElementInfo element_info[]; -#if 0 -extern struct GraphicInfo graphic_info[]; -#endif -extern struct NewGraphicInfo new_graphic_info[]; +extern struct NewGraphicInfo graphic_info[]; extern struct ConfigInfo image_config[], sound_config[]; extern struct ConfigInfo image_config_suffix[], sound_config_suffix[]; extern struct FileInfo *image_files, *sound_files;