X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=a7cc5858fdb9bff09810f9ccb682b1b1bf13062a;hb=9c6293f12f9dea224bff9050050253e9f52e3819;hp=9a1b0a8b6be6709ef00f2e37dfe0bb44ae50712f;hpb=0a85e6bd82e4c5c495be7201f672f788123dcb84;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 9a1b0a8b..a7cc5858 100644 --- a/src/main.c +++ b/src/main.c @@ -136,132 +136,200 @@ char *sound_name[NUM_SOUNDS] = "gate.wav" }; -/* sound effects: setup file identifiers and corresponding default filenames */ -struct SoundEffectInfo sound_effects[NUM_SOUND_EFFECTS] = +struct SoundEffectInfo sound_effects[] = { - { "infotron_collecting", "infotron.wav" }, - { "zonk_falling", "zonkdown.wav" }, - { "zonk_pushing", "zonkpush.wav" }, - { "player_screaming", "autsch.wav" } -}; + /* sounds for Boulder Dash style elements and actions */ + { "bd_empty_space.digging", "empty.wav" }, + { "bd_sand.digging", "schlurf.wav" }, + { "bd_diamond.collecting", "pong.wav" }, + { "bd_diamond.impact", "pling.wav" }, + { "bd_rock.pushing", "pusch.wav" }, + { "bd_rock.impact", "klopf.wav" }, + { "bd_magic_wall.activating", "quirk.wav" }, + { "bd_magic_wall.changing", "quirk.wav" }, + { "bd_magic_wall.running", "miep.wav" }, + { "bd_amoeba.growing", "amoebe.wav" }, + { "bd_amoeba.turning_to_gem", "pling.wav" }, + { "bd_amoeba.turning_to_rock", "klopf.wav" }, + { "bd_butterfly.moving", "klapper.wav" }, + { "bd_firefly.moving", "roehr.wav" }, + { "bd_exit.entering", "buing.wav" }, -struct SoundEffectInfo sound_effects_NEW[] = -{ - { "amoeba_growing", "amoebe.wav" }, - { "player_screaming", "autsch.wav" }, - { "acid_splashing", "blurb.wav" }, - { "mole_eating_amoeba", "blurb.wav" }, - { "penguin_entering_exit", "buing.wav" }, - { "player_entering_exit", "buing.wav" }, - { "player_solving_sokoban", "buing.wav" }, - { "time_orb_full_impact", "deng.wav" }, - { "time_orb_empty_impact", "deng.wav" }, - { "electric_bulb_light", "deng.wav" }, - { "sokoban_field_filling", "deng.wav" }, - { "leveltime_running_out", "gong.wav" }, - { "extra_time_collecting", "gong.wav" }, - { "time_orb_full_collecting", "gong.wav" }, - { "menu_hall_of_fame", "halloffame.wav"}, - { "key_impact", "kink.wav" }, - { "em_key_impact", "kink.wav" }, - { "bug_moving", "klapper.wav" }, - { "butterfly_moving", "klapper.wav" }, - { "rock_impact", "klopf.wav" }, - { "bd_rock_impact", "klopf.wav" }, - { "amoeba_turns_to_rock", "klopf.wav" }, - { "nut_impact", "klumpf.wav" }, - { "pearl_breaking", "knack.wav" }, - { "nut_cracking", "knack.wav" }, - { "nut_pushing", "knurk.wav" }, - { "player_laughing_at", "lachen.wav" }, - { "robot_wheel_running", "miep.wav" }, - { "timegate_wheel_running", "miep.wav" }, - { "magic_wall_running", "miep.wav" }, - { "yamyam_waiting", "njam.wav" }, - { "menu_door", "oeffnen.wav" }, - { "switchgate_opening", "oeffnen.wav" }, - { "switchgate_closing", "oeffnen.wav" }, - { "timegate_opening", "oeffnen.wav" }, - { "timegate_closing", "oeffnen.wav" }, - { "exit_opening", "oeffnen.wav" }, - { "emerald_impact", "pling.wav" }, - { "bd_diamond_impact", "pling.wav" }, - { "diamond_impact", "pling.wav" }, - { "infotron_impact", "pling.wav" }, - { "amoeba_turns_to_gem", "pling.wav" }, - { "emerald_collecting", "pong.wav" }, - { "bd_diamond_collecting", "pong.wav" }, - { "diamond_collecting", "pong.wav" }, - { "pearl_collecting", "pong.wav" }, - { "crystal_collecting", "pong.wav" }, - { "speed_pill_collecting", "pong.wav" }, - { "envelope_collecting", "pong.wav" }, - { "shield_passive_collecting","pong.wav" }, - { "shield_active_collecting", "pong.wav" }, - { "dynamite_collecting", "pong.wav" }, - { "dynabomb_nr_collecting", "pong.wav" }, - { "dynabomb_sz_collecting", "pong.wav" }, - { "dynabomb_xl_collecting", "pong.wav" }, - { "key_collecting", "pong.wav" }, - { "em_key_collecting", "pong.wav" }, - { "rock_pushing", "pusch.wav" }, - { "bd_rock_pushing", "pusch.wav" }, - { "bomb_pushing", "pusch.wav" }, - { "dx_supabomb_pushing", "pusch.wav" }, - { "time_orb_empty_pushing", "pusch.wav" }, - { "spring_pushing", "pusch.wav" }, - { "sokoban_object_pushing", "pusch.wav" }, - { "satellite_pushing", "pusch.wav" }, - { "sp_disk_yellow_pushing", "pusch.wav" }, - { "diamond_smashing", "quirk.wav" }, - { "magic_wall_activating", "quirk.wav" }, - { "menu_info_screen", "rhythmloop.wav"}, - { "explosion", "roaaar.wav" }, - { "spaceship_moving", "roehr.wav" }, - { "firefly_moving", "roehr.wav" }, - { "robot_moving", "schlurf.wav" }, - { "sand_digging", "schlurf.wav" }, - { "sand_invisible_digging", "schlurf.wav" }, - { "trap_inactive_digging", "schlurf.wav" }, - { "balloon_moving", "schlurf.wav" }, - { "leveltime_bonus", "sirr.wav" }, - { "dynamite_burning", "zisch.wav" }, - { "sp_base_digging", "base.wav" }, - { "sp_buggy_base_digging", "base.wav" }, - { "sp_infotron_collecting", "infotron.wav" }, - { "sp_disk_red_collecting", "infotron.wav" }, - { "sp_zonk_impact", "zonkdown.wav" }, - { "sp_zonk_pushing", "zonkpush.wav" }, - { "sp_disk_orange_pushing", "zonkpush.wav" }, - { "sp_buggy_base_passing", "bug.wav" }, - { "sp_explosion", "booom.wav" }, - { "empty_space_digging", "empty.wav" }, - { "em_gate_passing", "gate.wav" }, - { "switchgate_passing", "gate.wav" }, - { "timegate_passing", "gate.wav" }, - { "sp_port_passing", "gate.wav" } + /* sounds for Supaplex style elements and actions */ + { "sp_empty_space.digging", "empty.wav" }, + { "sp_base.digging", "base.wav" }, + { "sp_buggy_base.digging", "base.wav" }, + { "sp_buggy_base.activating", "bug.wav" }, + { "sp_infotron.collecting", "infotron.wav" }, + { "sp_infotron.impact", "pling.wav" }, + { "sp_zonk.pushing", "zonkpush.wav" }, + { "sp_zonk.impact", "zonkdown.wav" }, + { "sp_disk_red.collecting", "infotron.wav" }, + { "sp_disk_orange.pushing", "zonkpush.wav" }, + { "sp_disk_yellow.pushing", "pusch.wav" }, + { "sp_port.passing", "gate.wav" }, + { "sp_exit.entering", "exit.wav" }, + { "sp_element.exploding", "booom.wav" }, + { "sp_sniksnak.moving", SND_FILE_UNDEFINED }, + { "sp_electron.moving", SND_FILE_UNDEFINED }, + { "sp_terminal.activating", SND_FILE_UNDEFINED }, + + /* sounds for Sokoban style elements and actions */ + { "sokoban_object.pushing", "pusch.wav" }, + { "sokoban_field.filling", "deng.wav" }, + { "sokoban_field.clearing", SND_FILE_UNDEFINED }, + { "sokoban_game.solving", "buing.wav" }, + + /* sounds for Emerald Mine style elements and actions */ + { "empty_space.digging", "empty.wav" }, + { "sand.digging", "schlurf.wav" }, + { "emerald.collecting", "pong.wav" }, + { "emerald.impact", "pling.wav" }, + { "diamond.collecting", "pong.wav" }, + { "diamond.impact", "pling.wav" }, + { "diamond.breaking", "quirk.wav" }, + { "rock.pushing", "pusch.wav" }, + { "rock.impact", "klopf.wav" }, + { "bomb.pushing", "pusch.wav" }, + { "nut.pushing", "knurk.wav" }, + { "nut.cracking", "knack.wav" }, + { "nut.impact", "klumpf.wav" }, + { "dynamite.collecting", "pong.wav" }, + { "dynamite.placing", "deng.wav" }, + { "dynamite.burning", "zisch.wav" }, + { "key.collecting", "pong.wav" }, + { "gate.passing", "gate.wav" }, + { "bug.moving", "klapper.wav" }, + { "spaceship.moving", "roehr.wav" }, + { "yamyam.moving", SND_FILE_UNDEFINED }, + { "yamyam.waiting", "njam.wav" }, + { "yamyam.eating_diamond", SND_FILE_UNDEFINED }, + { "robot.moving", "schlurf.wav" }, + { "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.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.pushing", "schlurf.wav" }, + { "spring.moving", SND_FILE_UNDEFINED }, + { "spring.pushing", "pusch.wav" }, + { "spring.impact", "klopf.wav" }, + { "wall.growing", SND_FILE_UNDEFINED }, + + /* sounds for Diamond Caves style elements and actions */ + { "pearl.collecting", "pong.wav" }, + { "pearl.breaking", "knack.wav" }, + { "pearl.impact", "pling.wav" }, + { "crystal.collecting", "pong.wav" }, + { "crystal.impact", "pling.wav" }, + { "envelope.collecting", "pong.wav" }, + { "sand_invisible.digging", "schlurf.wav" }, + { "shield_passive.collecting", "pong.wav" }, + { "shield_passive.activated", SND_FILE_UNDEFINED }, + { "shield_active.collecting", "pong.wav" }, + { "shield_active.activated", SND_FILE_UNDEFINED }, + { "extra_time.collecting", "gong.wav" }, + { "mole.moving", SND_FILE_UNDEFINED }, + { "mole.eating_amoeba", "blurb.wav" }, + { "switchgate_switch.activating", SND_FILE_UNDEFINED }, + { "switchgate.opening", "oeffnen.wav" }, + { "switchgate.closing", "oeffnen.wav" }, + { "switchgate.passing", "gate.wav" }, + { "timegate_wheel.activating", "deng.wav" }, + { "timegate_wheel.running", "miep.wav" }, + { "timegate.opening", "oeffnen.wav" }, + { "timegate.closing", "oeffnen.wav" }, + { "timegate.passing", "gate.wav" }, + { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED }, + { "conveyor_belt.running", 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 }, + + /* sounds for Rocks'n'Diamonds style elements and actions */ + { "amoeba.turning_to_gem", "pling.wav" }, + { "amoeba.turning_to_rock", "klopf.wav" }, + { "speed_pill.collecting", "pong.wav" }, + { "dynabomb_nr.collecting", "pong.wav" }, + { "dynabomb_sz.collecting", "pong.wav" }, + { "dynabomb_xl.collecting", "pong.wav" }, + { "dynabomb.placing", "deng.wav" }, + { "dynabomb.burning", "zisch.wav" }, + { "satellite.moving", SND_FILE_UNDEFINED }, + { "satellite.pushing", "pusch.wav" }, + { "lamp.activating", "deng.wav" }, + { "lamp.deactivating", "deng.wav" }, + { "time_orb_full.collecting", "gong.wav" }, + { "time_orb_full.impact", "deng.wav" }, + { "time_orb_empty.pushing", "pusch.wav" }, + { "time_orb_empty.impact", "deng.wav" }, + { "gameoflife.growing", "amoebe.wav" }, + { "biomaze.growing", "amoebe.wav" }, + { "pacman.moving", 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.entering_exit", "buing.wav" }, + { "pig.moving", SND_FILE_UNDEFINED }, + { "pig.eating_gem", SND_FILE_UNDEFINED }, + { "dragon.moving", SND_FILE_UNDEFINED }, + { "dragon.breathing_fire", SND_FILE_UNDEFINED }, + + /* sounds for generic elements and actions */ + { "player.dying", "autsch.wav" }, + { "element.exploding", "roaaar.wav" }, + + /* sounds for other game actions */ + { "game.starting", SND_FILE_UNDEFINED }, + { "game.running_out_of_time", "gong.wav" }, + { "game.leveltime_bonus", "sirr.wav" }, + { "game.losing", "lachen.wav" }, + { "game.winning", SND_FILE_UNDEFINED }, + + /* sounds for other non-game actions */ + { "menu.door_opening", "oeffnen.wav" }, + { "menu.door_closing", "oeffnen.wav" }, + { "menu.hall_of_fame", "halloffame.wav" }, + { "menu.info_screen", "rhythmloop.wav" }, #if 0 - { "[not used]", "antigrav.wav" }, - { "[not used]", "bong.wav" }, - { "[not used]", "fuel.wav" }, - { "[not used]", "holz.wav" }, - { "[not used]", "hui.wav" }, - { "[not used]", "kabumm.wav" }, - { "[not used]", "kling.wav" }, - { "[not used]", "krach.wav" }, - { "[not used]", "laser.wav" }, - { "[not used]", "quiek.wav" }, - { "[not used]", "rumms.wav" }, - { "[not used]", "schlopp.wav" }, - { "[not used]", "schrff.wav" }, - { "[not used]", "schwirr.wav" }, - { "[not used]", "slurp.wav" }, - { "[not used]", "sproing.wav" }, - { "[not used]", "warnton.wav" }, - { "[not used]", "whoosh.wav" }, - { "[not used]", "boom.wav" }, - { "[not used]", "exit.wav" }, + { "[not used]", "antigrav.wav" }, + { "[not used]", "bong.wav" }, + { "[not used]", "fuel.wav" }, + { "[not used]", "holz.wav" }, + { "[not used]", "hui.wav" }, + { "[not used]", "kabumm.wav" }, + { "[not used]", "kink.wav" }, + { "[not used]", "kling.wav" }, + { "[not used]", "krach.wav" }, + { "[not used]", "laser.wav" }, + { "[not used]", "quiek.wav" }, + { "[not used]", "rumms.wav" }, + { "[not used]", "schlopp.wav" }, + { "[not used]", "schrff.wav" }, + { "[not used]", "schwirr.wav" }, + { "[not used]", "slurp.wav" }, + { "[not used]", "sproing.wav" }, + { "[not used]", "warnton.wav" }, + { "[not used]", "whoosh.wav" }, + { "[not used]", "boom.wav" }, #endif };