]> granicus.if.org Git - nethack/commitdiff
more Soundeffects fiddling
authornhmall <nhmall@nethack.org>
Wed, 25 Jan 2023 19:23:22 +0000 (14:23 -0500)
committernhmall <nhmall@nethack.org>
Wed, 25 Jan 2023 19:23:22 +0000 (14:23 -0500)
include/sndprocs.h
sound/macsound/macsound.m
src/sounds.c

index 72280a2fae2f4245d7ebd7182b45d59a468b8f29..6a2d05dd0b51f5eed00fe914801cded93d4cbf51 100644 (file)
@@ -339,30 +339,38 @@ enum sound_effect_entries {
     se_canine_whine                   = 153,
     se_canine_yip                     = 154,
     se_canine_howl                    = 155,
-    se_feline_yowl                    = 156,
-    se_feline_meow                    = 157,
-    se_feline_purr                    = 158,
-    se_feline_yip                     = 159,
-    se_feline_mew                     = 160,
-    se_roar                           = 161,
-    se_snarl                          = 162,
-    se_buzz                           = 163,
-    se_squeek                         = 164,
-    se_squawk                         = 165,
-    se_squeal                         = 166,
-    se_screech                        = 167,
-    se_equine_neigh                   = 168,
-    se_equine_whinny                  = 169,
-    se_equine_whicker                 = 170,
-    se_bovine_moo                     = 171,
-    se_bovine_bellow                  = 172,
-    se_wail                           = 173,
-    se_groan                          = 174,
-    se_grunt                          = 175,
-    se_gurgle                         = 176,
-    se_elephant_trumpet               = 177,
-    se_snake_rattle                   = 178,
-    se_hallu_growl                    = 179,
+    se_canine_yowl                    = 156,
+    se_canine_yelp                    = 157,
+    se_feline_meow                    = 158,
+    se_feline_purr                    = 159,
+    se_feline_yip                     = 160,
+    se_feline_mew                     = 161,
+    se_feline_yowl                    = 162,
+    se_feline_yelp                    = 163,
+    se_roar                           = 164,
+    se_snarl                          = 165,
+    se_buzz                           = 166,
+    se_squeek                         = 167,
+    se_squawk                         = 168,
+    se_squeal                         = 169,
+    se_screech                        = 170,
+    se_equine_neigh                   = 171,
+    se_equine_whinny                  = 172,
+    se_equine_whicker                 = 173,
+    se_bovine_moo                     = 174,
+    se_bovine_bellow                  = 175,
+    se_wail                           = 176,
+    se_groan                          = 177,
+    se_grunt                          = 178,
+    se_gurgle                         = 179,
+    se_elephant_trumpet               = 180,
+    se_snake_rattle                   = 181,
+    se_yelp                           = 182,
+    se_jabberwock_burble              = 183,
+    se_shriek                         = 184,
+    se_bone_rattle                    = 185,
+    se_orc_grunt                      = 186,
+    se_avian_screak                   = 187,
     number_of_se_entries
 };
 
index e37c145ae0d50e61abb5181ab24fa1356fe47d96..06617602c061f4e9f872df44e8eeef65bcc10466 100644 (file)
@@ -28,11 +28,15 @@ static void macsound_hero_playnotes(int32_t, const char *, int32_t);
 static void macsound_play_usersound(char *, int32_t, int32_t);
 static int affiliate(int32_t seid, const char *soundname);
 
+/*
+ * Sound capabilities that can be enabled:
+ *    SNDCAP_USERSOUNDS | SNDCAP_HEROMUSIC
+ *        | SNDCAP_ACHIEVEMENTS |SNDCAP_SOUNDEFFECTS,
+ */
+
 struct sound_procs macsound_procs = {
     SOUNDID(macsound),
-//    SNDCAP_USERSOUNDS | SNDCAP_HEROMUSIC
-//        | SNDCAP_ACHIEVEMENTS |SNDCAP_SOUNDEFFECTS,
-     SNDCAP_USERSOUNDS | SNDCAP_HEROMUSIC | SNDCAP_SOUNDEFFECTS,
+    SNDCAP_HEROMUSIC | SNDCAP_SOUNDEFFECTS,
     macsound_init_nhsound,
     macsound_exit_nhsound,
     macsound_achievement,
index 13ebe20f3e72f0314a8075cbc7cdf0b935814588..e6845f267be8dc018841ae24230b2bb1966311d5 100644 (file)
@@ -422,6 +422,7 @@ void
 yelp(register struct monst* mtmp)
 {
     register const char *yelp_verb = 0;
+    enum sound_effect_entries se = se_yelp;
 
     if (helpless(mtmp) || !mtmp->data->msound)
         return;
@@ -432,26 +433,32 @@ yelp(register struct monst* mtmp)
     else
         switch (mtmp->data->msound) {
         case MS_MEW:
+            se = se_feline_yelp;
             yelp_verb = (!Deaf) ? "yowl" : "arch";
             break;
         case MS_BARK:
         case MS_GROWL:
+            se = se_canine_yelp;
             yelp_verb = (!Deaf) ? "yelp" : "recoil";
             break;
         case MS_ROAR:
             yelp_verb = (!Deaf) ? "snarl" : "bluff";
             break;
         case MS_SQEEK:
+            se = se_squeal;
             yelp_verb = (!Deaf) ? "squeal" : "quiver";
             break;
         case MS_SQAWK:
+            se = se_avian_screak;
             yelp_verb = (!Deaf) ? "screak" : "thrash";
             break;
         case MS_WAIL:
+            se = se_wail;
             yelp_verb = (!Deaf) ? "wail" : "cringe";
             break;
         }
     if (yelp_verb) {
+        Soundeffect(se, 70);  /* Soundeffect() handles Deaf or not Deaf */
         pline("%s %s!", Monnam(mtmp), vtense((char *) 0, yelp_verb));
         if (gc.context.run)
             nomul(0);
@@ -464,7 +471,7 @@ void
 whimper(register struct monst* mtmp)
 {
     register const char *whimper_verb = 0;
-
+    enum sound_effect_entries se = se_canine_whine;
     if (helpless(mtmp) || !mtmp->data->msound)
         return;
 
@@ -481,10 +488,14 @@ whimper(register struct monst* mtmp)
             whimper_verb = "whine";
             break;
         case MS_SQEEK:
+            se = se_squeal;
             whimper_verb = "squeal";
             break;
         }
     if (whimper_verb) {
+        if (!Hallucination) {
+            Soundeffect(se, 50);
+        }
         pline("%s %s.", Monnam(mtmp), vtense((char *) 0, whimper_verb));
         if (gc.context.run)
             nomul(0);
@@ -753,6 +764,7 @@ domonnoise(register struct monst* mtmp)
             pline("%s throws back %s head and lets out a blood curdling %s!",
                   Monnam(mtmp), mhis(mtmp),
                   (ptr == &mons[PM_HUMAN_WERERAT]) ? "shriek" : "howl");
+            Soundeffect(((ptr == &mons[PM_HUMAN_WERERAT]) ? se_scream : se_canine_howl), 80);
             wake_nearto(mtmp->mx, mtmp->my, 11 * 11);
         } else
             pline_msg =
@@ -780,73 +792,99 @@ domonnoise(register struct monst* mtmp)
     case MS_MEW:
         if (mtmp->mtame) {
             if (mtmp->mconf || mtmp->mflee || mtmp->mtrapped
-                || mtmp->mtame < 5)
+                || mtmp->mtame < 5) {
+                Soundeffect(se_feline_yowl, 80);
                 pline_msg = "yowls.";
-            else if (gm.moves > EDOG(mtmp)->hungrytime)
+            } else if (gm.moves > EDOG(mtmp)->hungrytime) {
+                Soundeffect(se_feline_meow, 80);
                 pline_msg = "meows.";
-            else if (EDOG(mtmp)->hungrytime > gm.moves + 1000)
+            } else if (EDOG(mtmp)->hungrytime > gm.moves + 1000) {
+                Soundeffect(se_feline_purr, 40);
                 pline_msg = "purrs.";
-            else
+            } else {
+                Soundeffect(se_feline_mew, 60);
                 pline_msg = "mews.";
+           }
             break;
         }
         /*FALLTHRU*/
     case MS_GROWL:
+        Soundeffect((mtmp->mpeaceful ? se_snarl : se_growl), 80);
         pline_msg = mtmp->mpeaceful ? "snarls." : "growls!";
         break;
     case MS_ROAR:
+        Soundeffect((mtmp->mpeaceful ? se_snarl : se_roar), 80);
         pline_msg = mtmp->mpeaceful ? "snarls." : "roars!";
         break;
     case MS_SQEEK:
+        Soundeffect(se_squeak, 80);
         pline_msg = "squeaks.";
         break;
     case MS_SQAWK:
-        if (ptr == &mons[PM_RAVEN] && !mtmp->mpeaceful)
+        if (ptr == &mons[PM_RAVEN] && !mtmp->mpeaceful) {
             verbl_msg = "Nevermore!";
-        else
+        } else {
+            Soundeffect(se_squawk, 80);
             pline_msg = "squawks.";
+        }
         break;
     case MS_HISS:
-        if (!mtmp->mpeaceful)
+        if (!mtmp->mpeaceful) {
+            Soundeffect(se_hiss, 80);
             pline_msg = "hisses!";
-        else
+        } else {
             return ECMD_OK; /* no sound */
+        }
         break;
     case MS_BUZZ:
+        Soundeffect((mtmp->mpeaceful ? se_buzz : se_angry_drone), 80);
         pline_msg = mtmp->mpeaceful ? "drones." : "buzzes angrily.";
         break;
     case MS_GRUNT:
+        Soundeffect(se_grunt, 60);
         pline_msg = "grunts.";
         break;
     case MS_NEIGH:
-        if (mtmp->mtame < 5)
+        if (mtmp->mtame < 5) {
+            Soundeffect(se_equine_neigh, 60);
             pline_msg = "neighs.";
-        else if (gm.moves > EDOG(mtmp)->hungrytime)
+        } else if (gm.moves > EDOG(mtmp)->hungrytime) {
+            Soundeffect(se_equine_whinny, 60);
             pline_msg = "whinnies.";
-        else
+        } else {
+            Soundeffect(se_equine_whicker, 60);
             pline_msg = "whickers.";
+        }
         break;
     case MS_MOO:
+        Soundeffect((mtmp->mpeaceful ? se_bovine_moo : se_bovine_bellow), 80);
         pline_msg = mtmp->mpeaceful ? "moos." : "bellows!";
         break;
     case MS_WAIL:
+        Soundeffect(se_sad_wailing, 60);
         pline_msg = "wails mournfully.";
         break;
     case MS_GROAN:
-        if (!rn2(3))
+        if (!rn2(3)) {
+            Soundeffect(se_groan, 60);
             pline_msg = "groans.";
+       }
         break;
     case MS_GURGLE:
+        Soundeffect(se_gurgle, 60);
         pline_msg = "gurgles.";
         break;
     case MS_BURBLE:
+        Soundeffect(se_jabberwock_burble, 60);
         pline_msg = "burbles.";
         break;
     case MS_TRUMPET:
+        Soundeffect(se_elephant_trumpet, 60);
         pline_msg = "trumpets!";
         wake_nearto(mtmp->mx, mtmp->my, 11 * 11);
         break;
     case MS_SHRIEK:
+        Soundeffect(se_shriek, 60);
         pline_msg = "shrieks.";
         aggravate();
         break;
@@ -854,6 +892,7 @@ domonnoise(register struct monst* mtmp)
         pline_msg = "imitates you.";
         break;
     case MS_BONES:
+        Soundeffect(se_bone_rattle, 60);
         pline("%s rattles noisily.", Monnam(mtmp));
         You("freeze for a moment.");
         nomul(-2);
@@ -864,6 +903,7 @@ domonnoise(register struct monst* mtmp)
         static const char *const laugh_msg[4] = {
             "giggles.", "chuckles.", "snickers.", "laughs.",
         };
+        Soundeffect(se_laughter, 60);
         pline_msg = laugh_msg[rn2(4)];
         break;
     }
@@ -871,6 +911,7 @@ domonnoise(register struct monst* mtmp)
         pline_msg = "mumbles incomprehensibly.";
         break;
     case MS_ORC: /* this used to be an alias for grunt, now it is distinct */
+        Soundeffect(se_orc_grunt, 60);
         pline_msg = "grunts.";
         break;
     case MS_DJINNI:
@@ -1795,187 +1836,195 @@ struct soundeffect_automapping {
 };
 
 static const struct soundeffect_automapping
-                                    se_mappings_init[number_of_se_entries] = {
-    { se_zero_invalid,                   "" },
-    { se_faint_splashing,                "faint_splashing" },
-    { se_crackling_of_hellfire,          "crackling_of_hellfire" },
-    { se_heart_beat,                     "heart_beat" },
-    { se_typing_noise,                   "typing_noise" },
-    { se_hollow_sound,                   "hollow_sound" },
-    { se_rustling_paper,                 "rustling_paper" },
-    { se_crushing_sound,                 "crushing_sound" },
-    { se_splash,                         "splash" },
-    { se_chains_rattling_gears_turning,  "chains_rattling_gears_turning" },
-    { se_smashing_and_crushing,          "smashing_and_crushing" },
-    { se_gears_turning_chains_rattling,  "gears_turning_chains_rattling" },
-    { se_loud_splash,                    "loud_splash" },
-    { se_lound_crash,                    "lound_crash" },
-    { se_crashing_rock,                  "crashing_rock" },
-    { se_sizzling,                       "sizzling" },
-    { se_crashing_boulder,               "crashing_boulder" },
-    { se_boulder_drop,                   "boulder_drop" },
-    { se_item_tumble_downwards,          "item_tumble_downwards" },
-    { se_drain_noises,                   "drain_noises" },
-    { se_ring_in_drain,                  "ring_in_drain" },
-    { se_groans_and_moans,               "groans_and_moans" },
-    { se_scratching,                     "scratching" },
-    { se_glass_shattering,               "glass_shattering" },
-    { se_egg_cracking,                   "egg_cracking" },
-    { se_gushing_sound,                  "gushing_sound" },
-    { se_glass_crashing,                 "glass_crashing" },
-    { se_egg_splatting,                  "egg_splatting" },
-    { se_sinister_laughter,              "sinister_laughter" },
-    { se_blast,                          "blast" },
-    { se_stone_breaking,                 "stone_breaking" },
-    { se_stone_crumbling,                "stone_crumbling" },
-    { se_snakes_hissing,                 "snakes_hissing" },
-    { se_loud_pop,                       "loud_pop" },
-    { se_clanking_pipe,                  "clanking_pipe" },
-    { se_sewer_song,                     "sewer_song" },
-    { se_monster_behind_boulder,         "monster_behind_boulder" },
-    { se_wailing_of_the_banshee,         "wailing_of_the_banshee" },
-    { se_swoosh,                         "swoosh" },
-    { se_explosion,                      "explosion" },
-    { se_crashing_sound,                 "crashing_sound" },
-    { se_someone_summoning,              "someone_summoning" },
-    { se_rushing_wind_noise,             "rushing_wind_noise" },
-    { se_splat_from_engulf,              "splat_from_engulf" },
-    { se_faint_sloshing,                 "faint_sloshing" },
-    { se_crunching_sound,                "crunching_sound" },
-    { se_slurping_sound,                 "slurping_sound" },
-    { se_masticating_sound,              "masticating_sound" },
-    { se_distant_thunder,                "distant_thunder" },
-    { se_applause,                       "applause" },
-    { se_shrill_whistle,                 "shrill_whistle" },
-    { se_someone_yells,                  "someone_yells" },
-    { se_door_unlock_and_open,           "door_unlock_and_open" },
-    { se_door_open,                      "door_open" },
-    { se_door_crash_open,                "door_crash_open" },
-    { se_dry_throat_rattle,              "dry_throat_rattle" },
-    { se_cough,                          "cough" },
-    { se_angry_snakes,                   "angry_snakes" },
-    { se_zap_then_explosion,             "zap_then_explosion" },
-    { se_zap,                            "zap" },
-    { se_horn_being_played,              "horn_being_played" },
-    { se_mon_chugging_potion,            "mon_chugging_potion" },
-    { se_bugle_playing_reveille,         "bugle_playing_reveille" },
-    { se_crash_through_floor,            "crash_through_floor" },
-    { se_thump,                          "thump" },
-    { se_scream,                         "scream" },
-    { se_tumbler_click,                  "tumbler_click" },
-    { se_gear_turn,                      "gear_turn" },
-    { se_divine_music,                   "divine_music" },
-    { se_thunderclap,                    "thunderclap" },
-    { se_sad_wailing,                    "sad_wailing" },
-    { se_maniacal_laughter,              "maniacal_laughter" },
-    { se_rumbling_of_earth,              "rumbling_of_earth" },
-    { se_clanging_sound,                 "clanging_sound" },
-    { se_mutter_imprecations,            "mutter_imprecations" },
-    { se_mutter_incantation,             "mutter_incantation" },
-    { se_angry_voice,                    "angry_voice" },
-    { se_sceptor_pounding,               "sceptor_pounding" },
-    { se_courtly_conversation,           "courtly_conversation" },
-    { se_low_buzzing,                    "low_buzzing" },
-    { se_angry_drone,                    "angry_drone" },
-    { se_bees,                           "bees" },
-    { se_someone_searching,              "someone_searching" },
-    { se_guards_footsteps,               "guards_footsteps" },
-    { se_faint_chime,                    "faint_chime" },
-    { se_loud_click,                     "loud_click" },
-    { se_soft_click,                     "soft_click" },
-    { se_squeak,                         "squeak" },
-    { se_squeak_C,                       "squeak_C" },
-    { se_squeak_D_flat,                  "squeak_D_flat" },
-    { se_squeak_D,                       "squeak_D" },
-    { se_squeak_E_flat,                  "squeak_E_flat" },
-    { se_squeak_E,                       "squeak_E" },
-    { se_squeak_F,                       "squeak_F" },
-    { se_squeak_F_sharp,                 "squeak_F_sharp" },
-    { se_squeak_G,                       "squeak_G" },
-    { se_squeak_G_sharp,                 "squeak_G_sharp" },
-    { se_squeak_A,                       "squeak_A" },
-    { se_squeak_B_flat,                  "squeak_B_flat" },
-    { se_squeak_B,                       "squeak_B" },
-    { se_someone_bowling,                "someone_bowling" },
-    { se_rumbling,                       "rumbling" },
-    { se_loud_crash,                     "loud_crash" },
-    { se_deafening_roar_atmospheric,     "deafening_roar_atmospheric" },
-    { se_low_hum,                        "low_hum" },
-    { se_laughter,                       "laughter" },
-    { se_cockatrice_hiss,                "cockatrice_hiss" },
-    { se_chant,                          "chant" },
-    { se_cracking_sound,                 "cracking_sound" },
-    { se_ripping_sound,                  "ripping_sound" },
-    { se_thud,                           "thud" },
-    { se_clank,                          "clank" },
-    { se_crumbling_sound,                "crumbling_sound" },
-    { se_soft_crackling,                 "soft_crackling" },
-    { se_crackling,                      "crackling" },
-    { se_sharp_crack,                    "sharp_crack" },
-    { se_wall_of_force,                  "wall_of_force" },
-    { se_alarm,                          "alarm" },
-    { se_kick_door_it_shatters,          "kick_door_it_shatters" },
-    { se_kick_door_it_crashes_open,      "kick_door_it_crashes_open" },
-    { se_bubble_rising,                  "bubble_rising" },
-    { se_bolt_of_lightning,              "bolt_of_lightning" },
-    { se_board_squeak,                   "board_squeak" },
-    { se_board_squeaks_loudly,           "board_squeaks_loudly" },
-    { se_boing,                          "boing" },
-    { se_crashed_ceiling,                "crashed_ceiling" },
-    { se_clash,                          "clash" },
-    { se_crash_door,                     "crash_door" },
-    { se_crash,                          "crash" },
-    { se_crash_throne_destroyed,         "crash_throne_destroyed" },
-    { se_crash_something_broke,          "crash_something_broke" },
-    { se_kadoom_boulder_falls_in,        "kadoom_boulder_falls_in" },
-    { se_klunk_pipe,                     "klunk_pipe" },
-    { se_kerplunk_boulder_gone,          "kerplunk_boulder_gone" },
-    { se_klunk,                          "klunk" },
-    { se_klick,                          "klick" },
-    { se_kaboom_door_explodes,           "kaboom_door_explodes" },
-    { se_kaboom_boom_boom,               "kaboom_boom_boom" },
-    { se_kaablamm_of_mine,               "kaablamm_of_mine" },
-    { se_kaboom,                         "kaboom" },
-    { se_splat_egg,                      "splat_egg" },
-    { se_destroy_web,                    "destroy_web" },
-    { se_iron_ball_dragging_you,         "iron_ball_dragging_you" },
-    { se_iron_ball_hits_you,             "iron_ball_hits_you" },
-    { se_lid_slams_open_falls_shut,      "lid_slams_open_falls_shut" },
-    { se_chain_shatters,                 "chain_shatters" },
-    { se_furious_bubbling,               "furious_bubbling" },
-    { se_air_crackles,                   "air_crackles" },
-    { se_potion_crash_and_break,         "potion_crash_and_break" },
-    { se_hiss,                           "hiss" },
-    { se_growl,                          "growl" },
-    { se_canine_bark,                    "canine_bark" },
-    { se_canine_growl,                   "canine_growl" },
-    { se_canine_whine,                   "canine_whine" },
-    { se_canine_yip,                     "canine_yip" },
-    { se_canine_howl,                    "canine_howl" },
-    { se_feline_yowl,                    "feline_yowl" },
-    { se_feline_meow,                    "feline_meow" },
-    { se_feline_purr,                    "feline_purr" },
-    { se_feline_yip,                     "feline_yip" },
-    { se_feline_mew,                     "feline_mew" },
-    { se_roar,                           "roar" },
-    { se_snarl,                          "snarl" },
-    { se_buzz,                           "buzz" },
-    { se_squeek,                         "squeek" },
-    { se_squawk,                         "squawk" },
-    { se_squeal,                         "squeal" },
-    { se_screech,                        "screech" },
-    { se_equine_neigh,                   "equine_neigh" },
-    { se_equine_whinny,                  "equine_whinny" },
-    { se_equine_whicker,                 "equine_whicker" },
-    { se_bovine_moo,                     "bovine_moo" },
-    { se_bovine_bellow,                  "bovine_bellow" },
-    { se_wail,                           "wail" },
-    { se_groan,                          "groan" },
-    { se_grunt,                          "grunt" },
-    { se_gurgle,                         "gurgle" },
-    { se_elephant_trumpet,               "elephant_trumpet" },
-    { se_snake_rattle,                   "snake_rattle" },
-    { se_hallu_growl,                    "hallu_growl" },
+       se_mappings_init[number_of_se_entries] = {
+    { se_zero_invalid,                  "" },
+    { se_faint_splashing,               "faint_splashing" },
+    { se_crackling_of_hellfire,         "crackling_of_hellfire" },
+    { se_heart_beat,                    "heart_beat" },
+    { se_typing_noise,                  "typing_noise" },
+    { se_hollow_sound,                  "hollow_sound" },
+    { se_rustling_paper,                "rustling_paper" },
+    { se_crushing_sound,                "crushing_sound" },
+    { se_splash,                        "splash" },
+    { se_chains_rattling_gears_turning, "chains_rattling_gears_turning" },
+    { se_smashing_and_crushing,         "smashing_and_crushing" },
+    { se_gears_turning_chains_rattling, "gears_turning_chains_rattling" },
+    { se_loud_splash,                   "loud_splash" },
+    { se_lound_crash,                   "lound_crash" },
+    { se_crashing_rock,                 "crashing_rock" },
+    { se_sizzling,                      "sizzling" },
+    { se_crashing_boulder,              "crashing_boulder" },
+    { se_boulder_drop,                  "boulder_drop" },
+    { se_item_tumble_downwards,         "item_tumble_downwards" },
+    { se_drain_noises,                  "drain_noises" },
+    { se_ring_in_drain,                 "ring_in_drain" },
+    { se_groans_and_moans,              "groans_and_moans" },
+    { se_scratching,                    "scratching" },
+    { se_glass_shattering,              "glass_shattering" },
+    { se_egg_cracking,                  "egg_cracking" },
+    { se_gushing_sound,                 "gushing_sound" },
+    { se_glass_crashing,                "glass_crashing" },
+    { se_egg_splatting,                 "egg_splatting" },
+    { se_sinister_laughter,             "sinister_laughter" },
+    { se_blast,                         "blast" },
+    { se_stone_breaking,                "stone_breaking" },
+    { se_stone_crumbling,               "stone_crumbling" },
+    { se_snakes_hissing,                "snakes_hissing" },
+    { se_loud_pop,                      "loud_pop" },
+    { se_clanking_pipe,                 "clanking_pipe" },
+    { se_sewer_song,                    "sewer_song" },
+    { se_monster_behind_boulder,        "monster_behind_boulder" },
+    { se_wailing_of_the_banshee,        "wailing_of_the_banshee" },
+    { se_swoosh,                        "swoosh" },
+    { se_explosion,                     "explosion" },
+    { se_crashing_sound,                "crashing_sound" },
+    { se_someone_summoning,             "someone_summoning" },
+    { se_rushing_wind_noise,            "rushing_wind_noise" },
+    { se_splat_from_engulf,             "splat_from_engulf" },
+    { se_faint_sloshing,                "faint_sloshing" },
+    { se_crunching_sound,               "crunching_sound" },
+    { se_slurping_sound,                "slurping_sound" },
+    { se_masticating_sound,             "masticating_sound" },
+    { se_distant_thunder,               "distant_thunder" },
+    { se_applause,                      "applause" },
+    { se_shrill_whistle,                "shrill_whistle" },
+    { se_someone_yells,                 "someone_yells" },
+    { se_door_unlock_and_open,          "door_unlock_and_open" },
+    { se_door_open,                     "door_open" },
+    { se_door_crash_open,               "door_crash_open" },
+    { se_dry_throat_rattle,             "dry_throat_rattle" },
+    { se_cough,                         "cough" },
+    { se_angry_snakes,                  "angry_snakes" },
+    { se_zap_then_explosion,            "zap_then_explosion" },
+    { se_zap,                           "zap" },
+    { se_horn_being_played,             "horn_being_played" },
+    { se_mon_chugging_potion,           "mon_chugging_potion" },
+    { se_bugle_playing_reveille,        "bugle_playing_reveille" },
+    { se_crash_through_floor,           "crash_through_floor" },
+    { se_thump,                         "thump" },
+    { se_scream,                        "scream" },
+    { se_tumbler_click,                 "tumbler_click" },
+    { se_gear_turn,                     "gear_turn" },
+    { se_divine_music,                  "divine_music" },
+    { se_thunderclap,                   "thunderclap" },
+    { se_sad_wailing,                   "sad_wailing" },
+    { se_maniacal_laughter,             "maniacal_laughter" },
+    { se_rumbling_of_earth,             "rumbling_of_earth" },
+    { se_clanging_sound,                "clanging_sound" },
+    { se_mutter_imprecations,           "mutter_imprecations" },
+    { se_mutter_incantation,            "mutter_incantation" },
+    { se_angry_voice,                   "angry_voice" },
+    { se_sceptor_pounding,              "sceptor_pounding" },
+    { se_courtly_conversation,          "courtly_conversation" },
+    { se_low_buzzing,                   "low_buzzing" },
+    { se_angry_drone,                   "angry_drone" },
+    { se_bees,                          "bees" },
+    { se_someone_searching,             "someone_searching" },
+    { se_guards_footsteps,              "guards_footsteps" },
+    { se_faint_chime,                   "faint_chime" },
+    { se_loud_click,                    "loud_click" },
+    { se_soft_click,                    "soft_click" },
+    { se_squeak,                        "squeak" },
+    { se_squeak_C,                      "squeak_C" },
+    { se_squeak_D_flat,                 "squeak_D_flat" },
+    { se_squeak_D,                      "squeak_D" },
+    { se_squeak_E_flat,                 "squeak_E_flat" },
+    { se_squeak_E,                      "squeak_E" },
+    { se_squeak_F,                      "squeak_F" },
+    { se_squeak_F_sharp,                "squeak_F_sharp" },
+    { se_squeak_G,                      "squeak_G" },
+    { se_squeak_G_sharp,                "squeak_G_sharp" },
+    { se_squeak_A,                      "squeak_A" },
+    { se_squeak_B_flat,                 "squeak_B_flat" },
+    { se_squeak_B,                      "squeak_B" },
+    { se_someone_bowling,               "someone_bowling" },
+    { se_rumbling,                      "rumbling" },
+    { se_loud_crash,                    "loud_crash" },
+    { se_deafening_roar_atmospheric,    "deafening_roar_atmospheric" },
+    { se_low_hum,                       "low_hum" },
+    { se_laughter,                      "laughter" },
+    { se_cockatrice_hiss,               "cockatrice_hiss" },
+    { se_chant,                         "chant" },
+    { se_cracking_sound,                "cracking_sound" },
+    { se_ripping_sound,                 "ripping_sound" },
+    { se_thud,                          "thud" },
+    { se_clank,                         "clank" },
+    { se_crumbling_sound,               "crumbling_sound" },
+    { se_soft_crackling,                "soft_crackling" },
+    { se_crackling,                     "crackling" },
+    { se_sharp_crack,                   "sharp_crack" },
+    { se_wall_of_force,                 "wall_of_force" },
+    { se_alarm,                         "alarm" },
+    { se_kick_door_it_shatters,         "kick_door_it_shatters" },
+    { se_kick_door_it_crashes_open,     "kick_door_it_crashes_open" },
+    { se_bubble_rising,                 "bubble_rising" },
+    { se_bolt_of_lightning,             "bolt_of_lightning" },
+    { se_board_squeak,                  "board_squeak" },
+    { se_board_squeaks_loudly,          "board_squeaks_loudly" },
+    { se_boing,                         "boing" },
+    { se_crashed_ceiling,               "crashed_ceiling" },
+    { se_clash,                         "clash" },
+    { se_crash_door,                    "crash_door" },
+    { se_crash,                         "crash" },
+    { se_crash_throne_destroyed,        "crash_throne_destroyed" },
+    { se_crash_something_broke,         "crash_something_broke" },
+    { se_kadoom_boulder_falls_in,       "kadoom_boulder_falls_in" },
+    { se_klunk_pipe,                    "klunk_pipe" },
+    { se_kerplunk_boulder_gone,         "kerplunk_boulder_gone" },
+    { se_klunk,                         "klunk" },
+    { se_klick,                         "klick" },
+    { se_kaboom_door_explodes,          "kaboom_door_explodes" },
+    { se_kaboom_boom_boom,              "kaboom_boom_boom" },
+    { se_kaablamm_of_mine,              "kaablamm_of_mine" },
+    { se_kaboom,                        "kaboom" },
+    { se_splat_egg,                     "splat_egg" },
+    { se_destroy_web,                   "destroy_web" },
+    { se_iron_ball_dragging_you,        "iron_ball_dragging_you" },
+    { se_iron_ball_hits_you,            "iron_ball_hits_you" },
+    { se_lid_slams_open_falls_shut,     "lid_slams_open_falls_shut" },
+    { se_chain_shatters,                "chain_shatters" },
+    { se_furious_bubbling,              "furious_bubbling" },
+    { se_air_crackles,                  "air_crackles" },
+    { se_potion_crash_and_break,        "potion_crash_and_break" },
+    { se_hiss,                          "hiss" },
+    { se_growl,                         "growl" },
+    { se_canine_bark,                   "canine_bark" },
+    { se_canine_growl,                  "canine_growl" },
+    { se_canine_whine,                  "canine_whine" },
+    { se_canine_yip,                    "canine_yip" },
+    { se_canine_howl,                   "canine_howl" },
+    { se_canine_yowl,                   "canine_yowl" },
+    { se_canine_yelp,                   "canine_yelp" },
+    { se_feline_meow,                   "feline_meow" },
+    { se_feline_purr,                   "feline_purr" },
+    { se_feline_yip,                    "feline_yip" },
+    { se_feline_mew,                    "feline_mew" },
+    { se_feline_yowl,                   "feline_yowl" },
+    { se_feline_yelp,                   "feline_yelp" },
+    { se_roar,                          "roar" },
+    { se_snarl,                         "snarl" },
+    { se_buzz,                          "buzz" },
+    { se_squeek,                        "squeek" },
+    { se_squawk,                        "squawk" },
+    { se_squeal,                        "squeal" },
+    { se_screech,                       "screech" },
+    { se_equine_neigh,                  "equine_neigh" },
+    { se_equine_whinny,                 "equine_whinny" },
+    { se_equine_whicker,                "equine_whicker" },
+    { se_bovine_moo,                    "bovine_moo" },
+    { se_bovine_bellow,                 "bovine_bellow" },
+    { se_wail,                          "wail" },
+    { se_groan,                         "groan" },
+    { se_grunt,                         "grunt" },
+    { se_gurgle,                        "gurgle" },
+    { se_elephant_trumpet,              "elephant_trumpet" },
+    { se_snake_rattle,                  "snake_rattle" },
+    { se_yelp,                          "yelp" },
+    { se_jabberwock_burble,             "jabberwock_burble" },
+    { se_shriek,                        "shriek" },
+    { se_bone_rattle,                   "bone_rattle" },
+    { se_orc_grunt,                     "orc_grunt" },
+    { se_avian_screak,                  "avian_screak" },
 };
 
 static const char *semap_basenames[SIZE(se_mappings_init)];