X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=2a0d656655036ea0cbab99364b0d171b9245674f;hb=c9433eab5c4317ed4f89164b386a7d33562e29be;hp=375e74f2c10ee1b3865e6edcfa2134e9e61f568c;hpb=87af02f45b63b849773c7f830d69136d130acca0;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 375e74f2..2a0d6566 100644 --- a/src/main.c +++ b/src/main.c @@ -1,7 +1,7 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* (c) 1995-2001 Artsoft Entertainment * +* (c) 1995-2002 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -136,17 +136,6 @@ char *sound_name[NUM_SOUNDS] = "gate.wav" }; -#if 0 -/* sound effects: setup file identifiers and corresponding default filenames */ -struct SoundEffectInfo sound_effects[NUM_SOUND_EFFECTS] = -{ - { "infotron_collecting", "infotron.wav" }, /* TEST */ - { "zonk_falling", SND_FILE_UNDEFINED }, /* TEST */ - { "zonk_pushing", "zonkpush.wav" }, /* TEST */ - { "player_screaming", "autsch.wav" } /* TEST */ -}; -#endif - struct SoundEffectInfo sound_effects[] = { /* sounds for Boulder Dash style elements and actions */ @@ -159,11 +148,14 @@ struct SoundEffectInfo sound_effects[] = { "bd_magic_wall.activating", "quirk.wav" }, { "bd_magic_wall.changing", "quirk.wav" }, { "bd_magic_wall.running", "miep.wav" }, - { "bd_amoeba.growing", "amoebe.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.entering", "buing.wav" }, /* sounds for Supaplex style elements and actions */ @@ -179,10 +171,12 @@ struct SoundEffectInfo sound_effects[] = { "sp_disk_orange.pushing", "zonkpush.wav" }, { "sp_disk_yellow.pushing", "pusch.wav" }, { "sp_port.passing", "gate.wav" }, - { "sp_exit.entering", "buing.wav" }, + { "sp_exit.entering", "exit.wav" }, { "sp_element.exploding", "booom.wav" }, { "sp_sniksnak.moving", SND_FILE_UNDEFINED }, + { "sp_sniksnak.waiting", SND_FILE_UNDEFINED }, { "sp_electron.moving", SND_FILE_UNDEFINED }, + { "sp_electron.waiting", SND_FILE_UNDEFINED }, { "sp_terminal.activating", SND_FILE_UNDEFINED }, /* sounds for Sokoban style elements and actions */ @@ -211,27 +205,34 @@ struct SoundEffectInfo sound_effects[] = { "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_diamond", SND_FILE_UNDEFINED }, - { "robot.moving", "schlurf.wav" }, + { "robot.stepping", "schlurf.wav" }, + { "robot.waiting", SND_FILE_UNDEFINED }, { "robot_wheel.activating", "deng.wav" }, { "robot_wheel.running", "miep.wav" }, { "magic_wall.activating", "quirk.wav" }, { "magic_wall.changing", "quirk.wav" }, { "magic_wall.running", "miep.wav" }, - { "amoeba.growing", "amoebe.wav" }, + { "amoeba.waiting", SND_FILE_UNDEFINED }, + { "amoeba.creating", "amoebe.wav" }, { "amoeba.dropping", SND_FILE_UNDEFINED }, { "acid.splashing", "blurb.wav" }, { "quicksand.filling", SND_FILE_UNDEFINED }, + { "quicksand.slipping_through", SND_FILE_UNDEFINED }, { "quicksand.emptying", SND_FILE_UNDEFINED }, { "exit.opening", "oeffnen.wav" }, { "exit.entering", "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" }, @@ -251,6 +252,7 @@ struct SoundEffectInfo sound_effects[] = { "shield_active.activated", SND_FILE_UNDEFINED }, { "extra_time.collecting", "gong.wav" }, { "mole.moving", SND_FILE_UNDEFINED }, + { "mole.waiting", SND_FILE_UNDEFINED }, { "mole.eating_amoeba", "blurb.wav" }, { "switchgate_switch.activating", SND_FILE_UNDEFINED }, { "switchgate.opening", "oeffnen.wav" }, @@ -263,13 +265,14 @@ struct SoundEffectInfo sound_effects[] = { "timegate.passing", "gate.wav" }, { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED }, { "conveyor_belt.running", SND_FILE_UNDEFINED }, - { "light.activating", SND_FILE_UNDEFINED }, - { "light.deactivating", 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" }, @@ -281,6 +284,7 @@ struct SoundEffectInfo sound_effects[] = { "dynabomb.placing", "deng.wav" }, { "dynabomb.burning", "zisch.wav" }, { "satellite.moving", SND_FILE_UNDEFINED }, + { "satellite.waiting", SND_FILE_UNDEFINED }, { "satellite.pushing", "pusch.wav" }, { "lamp.activating", "deng.wav" }, { "lamp.deactivating", "deng.wav" }, @@ -288,19 +292,25 @@ struct SoundEffectInfo sound_effects[] = { "time_orb_full.impact", "deng.wav" }, { "time_orb_empty.pushing", "pusch.wav" }, { "time_orb_empty.impact", "deng.wav" }, - { "gameoflife.growing", "amoebe.wav" }, - { "biomaze.growing", "amoebe.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_amoeba", SND_FILE_UNDEFINED }, { "dark_yamyam.moving", SND_FILE_UNDEFINED }, { "dark_yamyam.waiting", "njam.wav" }, { "dark_yamyam.eating_any", SND_FILE_UNDEFINED }, { "penguin.moving", SND_FILE_UNDEFINED }, + { "penguin.waiting", SND_FILE_UNDEFINED }, { "penguin.entering_exit", "buing.wav" }, { "pig.moving", SND_FILE_UNDEFINED }, + { "pig.waiting", SND_FILE_UNDEFINED }, { "pig.eating_gem", SND_FILE_UNDEFINED }, { "dragon.moving", SND_FILE_UNDEFINED }, - { "dragon.breathing_fire", SND_FILE_UNDEFINED }, + { "dragon.waiting", SND_FILE_UNDEFINED }, + { "dragon.attacking", SND_FILE_UNDEFINED }, /* sounds for generic elements and actions */ { "player.dying", "autsch.wav" }, @@ -340,380 +350,378 @@ struct SoundEffectInfo sound_effects[] = { "[not used]", "warnton.wav" }, { "[not used]", "whoosh.wav" }, { "[not used]", "boom.wav" }, - { "[not used]", "exit.wav" }, #endif }; -char *element_info[] = +struct ElementInfo element_info[] = { - "empty space", /* 0 */ - "sand", - "normal wall", - "round wall", - "rock", - "key", - "emerald", - "closed exit", - "player", - "bug", - "spaceship", /* 10 */ - "yam yam", - "robot", - "steel wall", - "diamond", - "dead amoeba", - "empty quicksand", - "quicksand with rock", - "amoeba drop", - "bomb", - "magic wall", /* 20 */ - "speed ball", - "acid pool", - "dropping amoeba", - "normal amoeba", - "nut with emerald", - "life wall", - "biomaze", - "burning dynamite", - "unknown", - "magic wheel", /* 30 */ - "running wire", - "red key", - "yellow key", - "green key", - "blue key", - "red door", - "yellow door", - "green door", - "blue door", - "gray door (opened by red key)", /* 40 */ - "gray door (opened by yellow key)", - "gray door (opened by green key)", - "gray door (opened by blue key)", - "dynamite", - "pac man", - "invisible normal wall", - "light bulb (dark)", - "ligh bulb (glowing)", - "wall with emerald", - "wall with diamond", /* 50 */ - "amoeba with content", - "amoeba (BD style)", - "time orb (full)", - "time orb (empty)", - "growing wall", - "diamond (BD style)", - "yellow emerald", - "wall with BD style diamond", - "wall with yellow emerald", - "dark yam yam", /* 60 */ - "magic wall (BD style)", - "invisible steel wall", - "-", - "increases number of bombs", - "increases explosion size", - "increases power of explosion", - "sokoban object", - "sokoban empty field", - "sokoban field with object", - "butterfly (starts moving right)", /* 70 */ - "butterfly (starts moving up)", - "butterfly (starts moving left)", - "butterfly (starts moving down)", - "firefly (starts moving right)", - "firefly (starts moving up)", - "firefly (starts moving left)", - "firefly (starts moving down)", - "butterfly", - "firefly", - "yellow player", /* 80 */ - "red player", - "green player", - "blue player", - "bug (starts moving right)", - "bug (starts moving up)", - "bug (starts moving left)", - "bug (starts moving down)", - "spaceship (starts moving right)", - "spaceship (starts moving up)", - "spaceship (starts moving left)", /* 90 */ - "spaceship (starts moving down)", - "pac man (starts moving right)", - "pac man (starts moving up)", - "pac man (starts moving left)", - "pac man (starts moving down)", - "red emerald", - "violet emerald", - "wall with red emerald", - "wall with violet emerald", - "unknown", /* 100 */ - "unknown", - "unknown", - "unknown", - "unknown", - "normal wall (BD style)", - "rock (BD style)", - "open exit", - "black orb bomb", - "amoeba", - "mole", /* 110 */ - "penguin", - "satellite", - "arrow left", - "arrow right", - "arrow up", - "arrow down", - "pig", - "fire breathing dragon", - "red key (EM style)", - "letter ' '", /* 120 */ - "letter '!'", - "letter '\"'", - "letter '#'", - "letter '$'", - "letter '%'", - "letter '&'", - "letter '''", - "letter '('", - "letter ')'", - "letter '*'", /* 130 */ - "letter '+'", - "letter ','", - "letter '-'", - "letter '.'", - "letter '/'", - "letter '0'", - "letter '1'", - "letter '2'", - "letter '3'", - "letter '4'", /* 140 */ - "letter '5'", - "letter '6'", - "letter '7'", - "letter '8'", - "letter '9'", - "letter ':'", - "letter ';'", - "letter '<'", - "letter '='", - "letter '>'", /* 150 */ - "letter '?'", - "letter '@'", - "letter 'A'", - "letter 'B'", - "letter 'C'", - "letter 'D'", - "letter 'E'", - "letter 'F'", - "letter 'G'", - "letter 'H'", /* 160 */ - "letter 'I'", - "letter 'J'", - "letter 'K'", - "letter 'L'", - "letter 'M'", - "letter 'N'", - "letter 'O'", - "letter 'P'", - "letter 'Q'", - "letter 'R'", /* 170 */ - "letter 'S'", - "letter 'T'", - "letter 'U'", - "letter 'V'", - "letter 'W'", - "letter 'X'", - "letter 'Y'", - "letter 'Z'", - "letter 'Ä'", - "letter 'Ö'", /* 180 */ - "letter 'Ü'", - "letter '^'", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", /* 190 */ - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "letter ''", - "growing wall (horizontal)", /* 200 */ - "growing wall (vertical)", - "growing wall (all directions)", - "red door (EM style)", - "yellow door (EM style)", - "green door (EM style)", - "blue door (EM style)", - "yellow key (EM style)", - "green key (EM style)", - "blue key (EM style)", - "empty space", /* 210 */ - "zonk", - "base", - "murphy", - "infotron", - "chip (single)", - "hardware", - "exit", - "orange disk", - "port (leading right)", - "port (leading down)", /* 220 */ - "port (leading left)", - "port (leading up)", - "port (leading right)", - "port (leading down)", - "port (leading left)", - "port (leading up)", - "snik snak", - "yellow disk", - "terminal", - "red disk", /* 230 */ - "port (vertical)", - "port (horizontal)", - "port (all directions)", - "electron", - "buggy base", - "chip (left half)", - "chip (right half)", - "hardware", - "hardware", - "hardware", /* 240 */ - "hardware", - "hardware", - "hardware", - "hardware", - "hardware", - "hardware", - "hardware", - "chip (upper half)", - "chip (lower half)", - "gray door (EM style, red key)", /* 250 */ - "gray door (EM style, yellow key)", - "gray door (EM style, green key)", - "gray door (EM style, blue key)", - "unknown", - "unknown", + { "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", /* (256) */ - "crystal", - "wall with pearl", - "wall with crystal", - "white door", /* 260 */ - "gray door (opened by white key)", - "white key", - "shield (passive)", - "extra time", - "switch gate (open)", - "switch gate (closed)", - "switch for switch gate", - "switch for switch gate", - "-", - "-", /* 270 */ - "red conveyor belt (left)", - "red conveyor belt (middle)", - "red conveyor belt (right)", - "switch for red conveyor belt (left)", - "switch for red conveyor belt (middle)", - "switch for red conveyor belt (right)", - "yellow conveyor belt (left)", - "yellow conveyor belt (middle)", - "yellow conveyor belt (right)", - "switch for yellow conveyor belt (left)", /* 280 */ - "switch for yellow conveyor belt (middle)", - "switch for yellow conveyor belt (right)", - "green conveyor belt (left)", - "green conveyor belt (middle)", - "green conveyor belt (right)", - "switch for green conveyor belt (left)", - "switch for green conveyor belt (middle)", - "switch for green conveyor belt (right)", - "blue conveyor belt (left)", - "blue conveyor belt (middle)", /* 290 */ - "blue conveyor belt (right)", - "switch for blue conveyor belt (left)", - "switch for blue conveyor belt (middle)", - "switch for blue conveyor belt (right)", - "land mine", - "mail envelope", - "light switch (off)", - "light switch (on)", - "sign (exclamation)", - "sign (radio activity)", /* 300 */ - "sign (stop)", - "sign (wheel chair)", - "sign (parking)", - "sign (one way)", - "sign (heart)", - "sign (triangle)", - "sign (round)", - "sign (exit)", - "sign (yin yang)", - "sign (other)", /* 310 */ - "mole (starts moving left)", - "mole (starts moving right)", - "mole (starts moving up)", - "mole (starts moving down)", - "steel wall (slanted)", - "invisible sand", - "dx unknown 15", - "dx unknown 42", - "-", - "-", /* 320 */ - "shield (active, kills enemies)", - "time gate (open)", - "time gate (closed)", - "switch for time gate", - "switch for time gate", - "balloon", - "send balloon to the left", - "send balloon to the right", - "send balloon up", - "send balloon down", /* 330 */ - "send balloon in any direction", - "steel wall", - "steel wall", - "steel wall", - "steel wall", - "normal wall", - "normal wall", - "normal wall", - "normal wall", - "normal wall", /* 340 */ - "normal wall", - "normal wall", - "normal wall", - "tube (all directions)", - "tube (vertical)", - "tube (horizontal)", - "tube (vertical & left)", - "tube (vertical & right)", - "tube (horizontal & up)", - "tube (horizontal & down)", /* 350 */ - "tube (left & up)", - "tube (left & down)", - "tube (right & up)", - "tube (right & down)", - "spring", - "trap", - "stable bomb (DX style)", - "-" + { "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_passive", "shield (passive)" }, + { "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_active", "shield (active, kills enemies)"}, + { "timegate", "time gate (open)" }, + { "timegate", "time gate (closed)" }, + { "timegate_wheel", "switch for time gate" }, + { "timegate_wheel", "switch for time gate" }, + { "balloon", "balloon" }, + { "wall", "send balloon to the left" }, + { "wall", "send balloon to the right" }, + { "balloon_switch", "send balloon up" }, + { "balloon_switch", "send balloon down" }, /* 330 */ + { "balloon_switch", "send balloon in any direction" }, + { "wall", "steel wall" }, + { "wall", "steel wall" }, + { "wall", "steel wall" }, + { "wall", "steel wall" }, + { "wall", "normal wall" }, + { "wall", "normal wall" }, + { "wall", "normal wall" }, + { "wall", "normal wall" }, + { "wall", "normal wall" }, /* 340 */ + { "wall", "normal wall" }, + { "wall", "normal wall" }, + { "wall", "normal wall" }, + { "tube", "tube (all directions)" }, + { "tube", "tube (vertical)" }, + { "tube", "tube (horizontal)" }, + { "tube", "tube (vertical & left)" }, + { "tube", "tube (vertical & right)" }, + { "tube", "tube (horizontal & up)" }, + { "tube", "tube (horizontal & down)" }, /* 350 */ + { "tube", "tube (left & up)" }, + { "tube", "tube (left & down)" }, + { "tube", "tube (right & up)" }, + { "tube", "tube (right & down)" }, + { "spring", "spring" }, + { "trap", "trap" }, + { "dx_bomb", "stable bomb (DX style)" }, + { NULL, "-" } /* "-------------------------------", */ }; -int num_element_info = sizeof(element_info)/sizeof(char *); /* ========================================================================= */ @@ -731,5 +739,6 @@ int main(int argc, char *argv[]) EventLoop(); CloseAllAndExit(0); - exit(0); /* to keep compilers happy */ + + return 0; /* to keep compilers happy */ }