diff --git a/polymer/eduke32/Makefile b/polymer/eduke32/Makefile
index 26a560dc1..afe30ecbe 100644
--- a/polymer/eduke32/Makefile
+++ b/polymer/eduke32/Makefile
@@ -117,6 +117,7 @@ GAMEOBJS=$(OBJ)/game.$o \
$(OBJ)/osdcmds.$o \
$(OBJ)/grpscan.$o \
$(OBJ)/sounds.$o \
+ $(OBJ)/soundsdyn.$o \
$(JMACTOBJ)
EDITOROBJS=$(OBJ)/astub.$o \
diff --git a/polymer/eduke32/Makefile.deps b/polymer/eduke32/Makefile.deps
index e27ea1f25..69d062600 100644
--- a/polymer/eduke32/Makefile.deps
+++ b/polymer/eduke32/Makefile.deps
@@ -18,6 +18,7 @@ duke3d_h=\
$(INC)/function.h \
$(INC)/config.h \
$(INC)/sounds.h \
+ $(INC)/soundsdyn.h \
$(INC)/rts.h \
$(INC)/_rts.h \
$(INC)/soundefs.h \
@@ -53,6 +54,7 @@ $(OBJ)/premap.$o: $(SRC)/premap.c $(duke3d_h) $(EINC)/osd.h
$(OBJ)/savegame.$o: $(SRC)/savegame.c $(duke3d_h) $(SRC)/savegame.h
$(OBJ)/sector.$o: $(SRC)/sector.c $(duke3d_h) $(SRC)/input.h
$(OBJ)/sounds.$o: $(SRC)/sounds.c $(duke3d_h)
+$(OBJ)/soundsdyn.$o: $(SRC)/soundsdyn.c $(duke3d_h)
$(OBJ)/rts.$o: $(SRC)/rts.c $(duke3d_h)
$(OBJ)/config.$o: $(SRC)/config.c $(duke3d_h) $(SRC)/jmact/scriplib.h $(INC)/_functio.h
$(OBJ)/winbits.$o: $(SRC)/winbits.c
diff --git a/polymer/eduke32/Makefile.msvc b/polymer/eduke32/Makefile.msvc
index d1a93af5c..edfc645c9 100644
--- a/polymer/eduke32/Makefile.msvc
+++ b/polymer/eduke32/Makefile.msvc
@@ -116,6 +116,7 @@ GAMEOBJS=$(OBJ)\game.$o \
$(JMACTOBJ) \
$(AUDIOLIBOBJ) \
$(OBJ)\sounds.$o \
+ $(OBJ)\soundsdyn.$o \
!ifdef DEBUG
$(OBJ)\mdump.$o
!endif
diff --git a/polymer/eduke32/eduke32.vcxproj b/polymer/eduke32/eduke32.vcxproj
index 38c3aada3..84e089f95 100644
--- a/polymer/eduke32/eduke32.vcxproj
+++ b/polymer/eduke32/eduke32.vcxproj
@@ -156,6 +156,7 @@
+
@@ -262,6 +263,7 @@
+
diff --git a/polymer/eduke32/eduke32.vcxproj.filters b/polymer/eduke32/eduke32.vcxproj.filters
index 16601a3a9..155458524 100644
--- a/polymer/eduke32/eduke32.vcxproj.filters
+++ b/polymer/eduke32/eduke32.vcxproj.filters
@@ -204,6 +204,9 @@
eduke32\headers
+
+ eduke32\headers
+
eduke32\headers
@@ -563,6 +566,9 @@
eduke32\source
+
+ eduke32\source
+
eduke32\source
diff --git a/polymer/eduke32/source/duke3d.h b/polymer/eduke32/source/duke3d.h
index ac10fbf73..f8924d55a 100644
--- a/polymer/eduke32/source/duke3d.h
+++ b/polymer/eduke32/source/duke3d.h
@@ -57,7 +57,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define VOLUMEONE (g_Shareware == 1)
// increase by 3, because atomic GRP adds 1, and Shareware adds 2
-#define BYTEVERSION_JF 276
+#define BYTEVERSION_JF 279
#define BYTEVERSION_13 27
#define BYTEVERSION_14 116
@@ -119,7 +119,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "control.h"
#include "_rts.h"
#include "rts.h"
-#include "soundefs.h"
+#include "soundsdyn.h"
#include "music.h"
#include "player.h"
#include "actors.h"
diff --git a/polymer/eduke32/source/game.c b/polymer/eduke32/source/game.c
index 7ce026b7f..925c77b89 100644
--- a/polymer/eduke32/source/game.c
+++ b/polymer/eduke32/source/game.c
@@ -10763,6 +10763,7 @@ static void G_Startup(void)
#endif
G_InitDynamicTiles();
+ G_InitDynamicSounds();
G_PostCreateGameState();
if (g_netServer || ud.multimode > 1) G_CheckGametype();
diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c
index 815a9dfca..73bdec757 100644
--- a/polymer/eduke32/source/gamedef.c
+++ b/polymer/eduke32/source/gamedef.c
@@ -93,6 +93,7 @@ static struct { uint32_t keyw; uint32_t date; } g_keywdate[] =
{ CON_ROTATESPRITEA, 20130324 },
{ CON_ACTIVATE, 20130522 },
{ CON_SCREENTEXT, 20130529 },
+ { CON_DYNAMICSOUNDREMAP, 20130530 },
};
#endif
@@ -111,7 +112,7 @@ static intptr_t *g_caseScriptPtr=NULL;
static intptr_t *previous_event=NULL;
static int32_t g_numCases = 0;
static int32_t g_checkingSwitch = 0, g_currentEvent = -1;
-static int32_t g_labelsOnly = 0, g_skipKeywordCheck = 0, g_dynamicTileMapping = 0;
+static int32_t g_labelsOnly = 0, g_skipKeywordCheck = 0, g_dynamicTileMapping = 0, g_dynamicSoundMapping = 0;
static int32_t g_numBraces = 0;
static int32_t C_ParseCommand(int32_t loop);
@@ -589,6 +590,7 @@ const char *keyw[] =
"activate", // 368
"qstrdim", // 369
"screentext", // 370
+ "dynamicsoundremap", // 371
""
};
#endif
@@ -1187,6 +1189,7 @@ void C_InitHashes()
hash_init(&h_arrays);
hash_init(&h_labels);
inithashnames();
+ initsoundhashnames();
hash_init(&h_keywords);
hash_init(§orH);
@@ -4146,6 +4149,26 @@ static int32_t C_ParseCommand(int32_t loop)
#endif
continue;
+ case CON_DYNAMICSOUNDREMAP:
+ g_scriptPtr--;
+ if (g_dynamicSoundMapping)
+ {
+ initprintf("%s:%d: warning: duplicate dynamicsoundremap statement\n",g_szScriptFileName,g_lineNumber);
+ g_numCompilerWarnings++;
+ }
+ else
+#ifdef DYNSOUNDREMAP_ENABLE
+ initprintf("Using dynamic sound remapping\n");
+
+ g_dynamicSoundMapping = 1;
+#else
+ {
+ initprintf("%s:%d: warning: dynamic sound remapping is disabled in this build\n",g_szScriptFileName,g_lineNumber);
+ g_numCompilerWarnings++;
+ }
+#endif
+ continue;
+
case CON_RANDVAR:
case CON_ZSHOOT:
case CON_EZSHOOT:
@@ -5808,6 +5831,11 @@ repeatcase:
case CON_DEFINESOUND:
g_scriptPtr--;
C_GetNextValue(LABEL_DEFINE);
+
+ // Ideally we could keep the value of i from C_GetNextValue() instead of having to hash_find() again.
+ // This depends on tempbuf remaining in place after C_GetNextValue():
+ j = hash_find(&h_labels,tempbuf);
+
k = *(g_scriptPtr-1);
if ((unsigned)k >= MAXSOUNDS)
{
@@ -5875,6 +5903,9 @@ repeatcase:
if (k > g_maxSoundPos)
g_maxSoundPos = k;
+
+ if (k >= 0 && k < MAXSOUNDS && g_dynamicSoundMapping && j >= 0 && (labeltype[j] & LABEL_DEFINE))
+ G_ProcessDynamicSoundMapping(label+(j<<6),k);
continue;
case CON_ENDEVENT:
@@ -6383,6 +6414,7 @@ void C_Compile(const char *filenam)
hash_free(&h_keywords);
freehashnames();
+ freesoundhashnames();
hash_free(§orH);
hash_free(&wallH);
diff --git a/polymer/eduke32/source/gamedef.h b/polymer/eduke32/source/gamedef.h
index 1ae51f32f..940ff5dda 100644
--- a/polymer/eduke32/source/gamedef.h
+++ b/polymer/eduke32/source/gamedef.h
@@ -943,6 +943,7 @@ enum ScriptKeywords_t
CON_ACTIVATE, // 368
CON_QSTRDIM, // 369
CON_SCREENTEXT, // 370
+ CON_DYNAMICSOUNDREMAP, // 371
CON_END
};
#endif
diff --git a/polymer/eduke32/source/gamevars.c b/polymer/eduke32/source/gamevars.c
index 9fb1c9dc1..55dbd9b9f 100644
--- a/polymer/eduke32/source/gamevars.c
+++ b/polymer/eduke32/source/gamevars.c
@@ -1079,84 +1079,84 @@ static weapondata_t weapondefaults[MAX_WEAPONS] = {
KNEE_WEAPON, 0, 0, 7, 14, 0,
WEAPON_NOVISIBLE | WEAPON_RANDOMRESTART | WEAPON_AUTOMATIC,
KNEE__STATIC, 0, 0, 0, 0, 0, 0,
- 0, EJECT_CLIP, INSERT_CLIP, 0, 0
+ 0, EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, 0, 0
},
{
PISTOL_WEAPON, /*NAM?20:*/12, /*NAM?50:*/27, 2, 5, 0,
/*(NAM?WEAPON_HOLSTER_CLEARS_CLIP:0) |*/ WEAPON_RELOAD_TIMING,
- SHOTSPARK1__STATIC, 2, SHELL__STATIC, 0, 0, PISTOL_FIRE, 0, 0,
- EJECT_CLIP, INSERT_CLIP, INSERT_CLIP, 255+(95<<8)
+ SHOTSPARK1__STATIC, 2, SHELL__STATIC, 0, 0, PISTOL_FIRE__STATIC, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, INSERT_CLIP__STATIC, 255+(95<<8)
},
{
SHOTGUN_WEAPON, 0, 13, 4, 30, 0,
WEAPON_CHECKATRELOAD,
- SHOTGUN__STATIC, 24, SHOTGUNSHELL__STATIC, 7, 0, SHOTGUN_FIRE, 15, SHOTGUN_COCK,
- EJECT_CLIP, INSERT_CLIP, SHOTGUN_COCK, 255+(95<<8)
+ SHOTGUN__STATIC, 24, SHOTGUNSHELL__STATIC, 7, 0, SHOTGUN_FIRE__STATIC, 15, SHOTGUN_COCK__STATIC,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SHOTGUN_COCK__STATIC, 255+(95<<8)
},
{
CHAINGUN_WEAPON, 0, 0, 3, 12, 3,
WEAPON_AUTOMATIC | WEAPON_FIREEVERYTHIRD | WEAPON_AMMOPERSHOT | WEAPON_SPAWNTYPE3 | WEAPON_RESET,
- CHAINGUN__STATIC, 1, SHELL__STATIC, 0, 0, CHAINGUN_FIRE, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 255+(95<<8)
+ CHAINGUN__STATIC, 1, SHELL__STATIC, 0, 0, CHAINGUN_FIRE__STATIC, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 255+(95<<8)
},
{
RPG_WEAPON, 0, 0, 4, 20, 0,
0,
RPG__STATIC, 0, 0, 0, 0, 0, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 255+(95<<8)
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 255+(95<<8)
},
{
HANDBOMB_WEAPON, 0, 30, 6, 19, 12,
WEAPON_THROWIT,
HEAVYHBOMB__STATIC, 0, 0, 0, 0, 0, 0,
- 0, EJECT_CLIP, INSERT_CLIP, 0, 0
+ 0, EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, 0, 0
},
{
SHRINKER_WEAPON, 0, 0, 10, /*NAM?30:*/12, 0,
WEAPON_GLOWS,
- SHRINKER__STATIC, 0, 0, 0, SHRINKER_FIRE, 0, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 128+(255<<8)+(128<<16)
+ SHRINKER__STATIC, 0, 0, 0, SHRINKER_FIRE__STATIC, 0, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 128+(255<<8)+(128<<16)
},
{
DEVISTATOR_WEAPON, 0, 0, 3, 6, 5,
WEAPON_FIREEVERYOTHER | WEAPON_AMMOPERSHOT,
- RPG__STATIC, 0, 0, 2, CAT_FIRE, 0, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 255+(95<<8)
+ RPG__STATIC, 0, 0, 2, CAT_FIRE__STATIC, 0, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 255+(95<<8)
},
{
TRIPBOMB_WEAPON, 0, 16, 3, 16, 7,
WEAPON_NOVISIBLE | WEAPON_STANDSTILL | WEAPON_CHECKATRELOAD,
HANDHOLDINGLASER__STATIC, 0, 0, 0, 0, 0, 0,
- 0, EJECT_CLIP, INSERT_CLIP, 0, 0
+ 0, EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, 0, 0
},
{
FREEZE_WEAPON, 0, 0, 3, 5, 0,
WEAPON_RESET,
- FREEZEBLAST__STATIC, 0, 0, 0, CAT_FIRE, CAT_FIRE, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 128+(128<<8)+(255<<16)
+ FREEZEBLAST__STATIC, 0, 0, 0, CAT_FIRE__STATIC, CAT_FIRE__STATIC, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 128+(128<<8)+(255<<16)
},
{
HANDREMOTE_WEAPON, 0, 10, 2, 10, 0,
WEAPON_BOMB_TRIGGER | WEAPON_NOVISIBLE,
0, 0, 0, 0, 0, 0, 0,
- 0, EJECT_CLIP, INSERT_CLIP, 0, 0
+ 0, EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, 0, 0
},
{
GROW_WEAPON, 0, 0, 3, /*NAM?30:*/5, 0,
WEAPON_GLOWS,
- GROWSPARK__STATIC, /*NAM?2:*/0, /*NAM?SHELL:*/0, 0, 0, /*NAM?0:*/EXPANDERSHOOT, 0, 0,
- EJECT_CLIP, INSERT_CLIP, SELECT_WEAPON, 255+(95<<8)
+ GROWSPARK__STATIC, /*NAM?2:*/0, /*NAM?SHELL:*/0, 0, 0, /*NAM?0:*/EXPANDERSHOOT__STATIC, 0, 0,
+ EJECT_CLIP__STATIC, INSERT_CLIP__STATIC, SELECT_WEAPON__STATIC, 255+(95<<8)
},
};
@@ -1181,6 +1181,23 @@ static int32_t G_StaticToDynamicTile(int32_t tile)
default: return tile;
}
}
+static int32_t G_StaticToDynamicSound(int32_t sound)
+{
+ switch (sound)
+ {
+ case CAT_FIRE__STATIC: return CAT_FIRE;
+ case CHAINGUN_FIRE__STATIC: return CHAINGUN_FIRE;
+ case EJECT_CLIP__STATIC: return EJECT_CLIP;
+ case EXPANDERSHOOT__STATIC: return EXPANDERSHOOT;
+ case INSERT_CLIP__STATIC: return INSERT_CLIP;
+ case PISTOL_FIRE__STATIC: return PISTOL_FIRE;
+ case SELECT_WEAPON__STATIC: return SELECT_WEAPON;
+ case SHOTGUN_FIRE__STATIC: return SHOTGUN_FIRE;
+ case SHOTGUN_COCK__STATIC: return SHOTGUN_COCK;
+ case SHRINKER_FIRE__STATIC: return SHRINKER_FIRE;
+ default: return sound;
+ }
+}
#ifdef LUNATIC
# define ADDWEAPONVAR(Weapidx, Membname) do { \
@@ -1225,6 +1242,13 @@ static void Gv_AddSystemVars(void)
weapondefaults[i].Shoots = G_StaticToDynamicTile(weapondefaults[i].Shoots);
weapondefaults[i].Spawn = G_StaticToDynamicTile(weapondefaults[i].Spawn);
+ weapondefaults[i].InitialSound = G_StaticToDynamicSound(weapondefaults[i].InitialSound);
+ weapondefaults[i].FireSound = G_StaticToDynamicSound(weapondefaults[i].FireSound);
+ weapondefaults[i].ReloadSound1 = G_StaticToDynamicSound(weapondefaults[i].ReloadSound1);
+ weapondefaults[i].Sound2Sound = G_StaticToDynamicSound(weapondefaults[i].Sound2Sound);
+ weapondefaults[i].ReloadSound2 = G_StaticToDynamicSound(weapondefaults[i].ReloadSound2);
+ weapondefaults[i].SelectSound = G_StaticToDynamicSound(weapondefaults[i].SelectSound);
+
ADDWEAPONVAR(i, WorksLike);
ADDWEAPONVAR(i, Clip);
ADDWEAPONVAR(i, Reload);
diff --git a/polymer/eduke32/source/namesdyn.c b/polymer/eduke32/source/namesdyn.c
index 8bb9267bb..ece85c075 100644
--- a/polymer/eduke32/source/namesdyn.c
+++ b/polymer/eduke32/source/namesdyn.c
@@ -20,8 +20,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
//-------------------------------------------------------------------------
-// Maybe this should be called "hacks.c" instead of "namesdyn.c"...
-
#include "compat.h"
#include "build.h"
@@ -782,7 +780,7 @@ LUNATIC_EXTERN struct dynitem g_dynTileList[] =
{ "RESERVEDSLOT10", DVPTR(RESERVEDSLOT10), RESERVEDSLOT10__STATIC },
{ "RESERVEDSLOT11", DVPTR(RESERVEDSLOT11), RESERVEDSLOT11__STATIC },
{ "RESERVEDSLOT12", DVPTR(RESERVEDSLOT12), RESERVEDSLOT12__STATIC },
- { NULL, NULL, 0 },
+ { NULL, NULL, -1 },
};
#ifdef DYNTILEREMAP_ENABLE
@@ -1554,7 +1552,7 @@ void inithashnames(void)
hash_init(&h_names);
- for (i=0; g_dynTileList[i].staticval; i++)
+ for (i=0; g_dynTileList[i].staticval >= 0; i++)
hash_add(&h_names, g_dynTileList[i].str, i, 0);
}
@@ -1573,7 +1571,7 @@ void G_InitDynamicTiles(void)
Bmemset(DynamicTileMap, 0, sizeof(DynamicTileMap));
- for (i=0; g_dynTileList[i].staticval; i++)
+ for (i=0; g_dynTileList[i].staticval >= 0; i++)
#ifdef DYNTILEREMAP_ENABLE
DynamicTileMap[*(g_dynTileList[i].dynvalptr)] = g_dynTileList[i].staticval;
#else
diff --git a/polymer/eduke32/source/savegame.c b/polymer/eduke32/source/savegame.c
index 0126b91dd..4d066d624 100644
--- a/polymer/eduke32/source/savegame.c
+++ b/polymer/eduke32/source/savegame.c
@@ -948,6 +948,7 @@ static const dataspec_t svgm_secwsp[] =
{ DS_SAVEFN|DS_LOADFN, (void *)&sv_postspriteext, 0, 1 },
#endif
{ 0, &DynamicTileMap[0], sizeof(DynamicTileMap[0]), MAXTILES }, // NOCHK?
+ { 0, &DynamicSoundMap[0], sizeof(DynamicSoundMap[0]), MAXSOUNDS }, // NOCHK?
{ DS_NOCHK, &g_numCyclers, sizeof(g_numCyclers), 1 },
{ DS_CNT(g_numCyclers), &cyclers[0][0], sizeof(cyclers[0]), (intptr_t)&g_numCyclers },
{ DS_NOCHK, &g_numAnimWalls, sizeof(g_numAnimWalls), 1 },
diff --git a/polymer/eduke32/source/sounds.c b/polymer/eduke32/source/sounds.c
index fc7a2f5a4..b1be44241 100644
--- a/polymer/eduke32/source/sounds.c
+++ b/polymer/eduke32/source/sounds.c
@@ -163,31 +163,56 @@ void S_MusicVolume(int32_t volume)
MUSIC_SetVolume(volume);
}
+static int32_t S_StaticToDynamicMenuSound(int32_t sound)
+{
+ switch (sound)
+ {
+ case LASERTRIP_EXPLODE__STATIC: return LASERTRIP_EXPLODE;
+ case DUKE_GRUNT__STATIC: return DUKE_GRUNT;
+ case DUKE_LAND_HURT__STATIC: return DUKE_LAND_HURT;
+ case CHAINGUN_FIRE__STATIC: return CHAINGUN_FIRE;
+ case SQUISHED__STATIC: return SQUISHED;
+ case KICK_HIT__STATIC: return KICK_HIT;
+ case PISTOL_RICOCHET__STATIC: return PISTOL_RICOCHET;
+ case PISTOL_BODYHIT__STATIC: return PISTOL_BODYHIT;
+ case PISTOL_FIRE__STATIC: return PISTOL_FIRE;
+ case SHOTGUN_FIRE__STATIC: return SHOTGUN_FIRE;
+ case BOS1_WALK__STATIC: return BOS1_WALK;
+ case RPG_EXPLODE__STATIC: return RPG_EXPLODE;
+ case PIPEBOMB_BOUNCE__STATIC: return PIPEBOMB_BOUNCE;
+ case PIPEBOMB_EXPLODE__STATIC: return PIPEBOMB_EXPLODE;
+ case NITEVISION_ONOFF__STATIC: return NITEVISION_ONOFF;
+ case RPG_SHOOT__STATIC: return RPG_SHOOT;
+ case SELECT_WEAPON__STATIC: return SELECT_WEAPON;
+ default: return sound;
+ }
+}
+
void S_MenuSound(void)
{
static int32_t SoundNum=0;
static const uint8_t menusnds[] =
{
- LASERTRIP_EXPLODE,
- DUKE_GRUNT,
- DUKE_LAND_HURT,
- CHAINGUN_FIRE,
- SQUISHED,
- KICK_HIT,
- PISTOL_RICOCHET,
- PISTOL_BODYHIT,
- PISTOL_FIRE,
- SHOTGUN_FIRE,
- BOS1_WALK,
- RPG_EXPLODE,
- PIPEBOMB_BOUNCE,
- PIPEBOMB_EXPLODE,
- NITEVISION_ONOFF,
- RPG_SHOOT,
- SELECT_WEAPON
+ LASERTRIP_EXPLODE__STATIC,
+ DUKE_GRUNT__STATIC,
+ DUKE_LAND_HURT__STATIC,
+ CHAINGUN_FIRE__STATIC,
+ SQUISHED__STATIC,
+ KICK_HIT__STATIC,
+ PISTOL_RICOCHET__STATIC,
+ PISTOL_BODYHIT__STATIC,
+ PISTOL_FIRE__STATIC,
+ SHOTGUN_FIRE__STATIC,
+ BOS1_WALK__STATIC,
+ RPG_EXPLODE__STATIC,
+ PIPEBOMB_BOUNCE__STATIC,
+ PIPEBOMB_EXPLODE__STATIC,
+ NITEVISION_ONOFF__STATIC,
+ RPG_SHOOT__STATIC,
+ SELECT_WEAPON__STATIC,
};
- S_PlaySound(menusnds[SoundNum++ % (sizeof(menusnds)/sizeof(menusnds[0]))]);
+ S_PlaySound(S_StaticToDynamicMenuSound(menusnds[SoundNum++ % (sizeof(menusnds)/sizeof(menusnds[0]))]));
}
int32_t S_PlayMusic(const char *fn, const int32_t sel)
@@ -523,11 +548,11 @@ sound_further_processing:
!cansee(cam->x,cam->y,cam->z-(24<<8),camsect, SX,SY,SZ-(24<<8),SECT))
sndist += sndist>>5;
- switch (num)
+ switch (DYNAMICSOUNDMAP(num))
{
- case PIPEBOMB_EXPLODE:
- case LASERTRIP_EXPLODE:
- case RPG_EXPLODE:
+ case PIPEBOMB_EXPLODE__STATIC:
+ case LASERTRIP_EXPLODE__STATIC:
+ case RPG_EXPLODE__STATIC:
explosion = 1;
if (sndist > 6144)
sndist = 6144;
diff --git a/polymer/eduke32/source/soundsdyn.c b/polymer/eduke32/source/soundsdyn.c
new file mode 100644
index 000000000..60832cc0f
--- /dev/null
+++ b/polymer/eduke32/source/soundsdyn.c
@@ -0,0 +1,900 @@
+//-------------------------------------------------------------------------
+/*
+Copyright (C) 2013 EDuke32 developers and contributors
+
+This file is part of EDuke32.
+
+EDuke32 is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License version 2
+as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+//-------------------------------------------------------------------------
+
+#include "compat.h"
+#include "build.h"
+
+#include "namesdyn.h"
+#include "sounds.h"
+#include "soundsdyn.h"
+#include "global.h"
+
+#ifdef DYNSOUNDREMAP_ENABLE
+# define DVPTR(x) &x
+#else
+# define DVPTR(x) NULL
+#endif
+
+int16_t DynamicSoundMap[MAXSOUNDS];
+
+struct dynitem
+{
+ const char *str;
+ int32_t *dynvalptr;
+ const int16_t staticval;
+};
+
+LUNATIC_EXTERN struct dynitem g_dynSoundList[] =
+{
+ { "KICK_HIT", DVPTR(KICK_HIT), KICK_HIT__STATIC },
+ { "PISTOL_RICOCHET", DVPTR(PISTOL_RICOCHET), PISTOL_RICOCHET__STATIC },
+ { "PISTOL_BODYHIT", DVPTR(PISTOL_BODYHIT), PISTOL_BODYHIT__STATIC },
+ { "PISTOL_FIRE", DVPTR(PISTOL_FIRE), PISTOL_FIRE__STATIC },
+ { "EJECT_CLIP", DVPTR(EJECT_CLIP), EJECT_CLIP__STATIC },
+ { "INSERT_CLIP", DVPTR(INSERT_CLIP), INSERT_CLIP__STATIC },
+ { "CHAINGUN_FIRE", DVPTR(CHAINGUN_FIRE), CHAINGUN_FIRE__STATIC },
+ { "RPG_SHOOT", DVPTR(RPG_SHOOT), RPG_SHOOT__STATIC },
+ { "POOLBALLHIT", DVPTR(POOLBALLHIT), POOLBALLHIT__STATIC },
+ { "RPG_EXPLODE", DVPTR(RPG_EXPLODE), RPG_EXPLODE__STATIC },
+ { "CAT_FIRE", DVPTR(CAT_FIRE), CAT_FIRE__STATIC },
+ { "SHRINKER_FIRE", DVPTR(SHRINKER_FIRE), SHRINKER_FIRE__STATIC },
+ { "ACTOR_SHRINKING", DVPTR(ACTOR_SHRINKING), ACTOR_SHRINKING__STATIC },
+ { "PIPEBOMB_BOUNCE", DVPTR(PIPEBOMB_BOUNCE), PIPEBOMB_BOUNCE__STATIC },
+ { "PIPEBOMB_EXPLODE", DVPTR(PIPEBOMB_EXPLODE), PIPEBOMB_EXPLODE__STATIC },
+ { "LASERTRIP_ONWALL", DVPTR(LASERTRIP_ONWALL), LASERTRIP_ONWALL__STATIC },
+ { "LASERTRIP_ARMING", DVPTR(LASERTRIP_ARMING), LASERTRIP_ARMING__STATIC },
+ { "LASERTRIP_EXPLODE", DVPTR(LASERTRIP_EXPLODE), LASERTRIP_EXPLODE__STATIC },
+ { "VENT_BUST", DVPTR(VENT_BUST), VENT_BUST__STATIC },
+ { "GLASS_BREAKING", DVPTR(GLASS_BREAKING), GLASS_BREAKING__STATIC },
+ { "GLASS_HEAVYBREAK", DVPTR(GLASS_HEAVYBREAK), GLASS_HEAVYBREAK__STATIC },
+ { "SHORT_CIRCUIT", DVPTR(SHORT_CIRCUIT), SHORT_CIRCUIT__STATIC },
+ { "ITEM_SPLASH", DVPTR(ITEM_SPLASH), ITEM_SPLASH__STATIC },
+ { "DUKE_BREATHING", DVPTR(DUKE_BREATHING), DUKE_BREATHING__STATIC },
+ { "DUKE_EXHALING", DVPTR(DUKE_EXHALING), DUKE_EXHALING__STATIC },
+ { "DUKE_GASP", DVPTR(DUKE_GASP), DUKE_GASP__STATIC },
+ { "SLIM_RECOG", DVPTR(SLIM_RECOG), SLIM_RECOG__STATIC },
+// { "ENDSEQVOL3SND1", DVPTR(ENDSEQVOL3SND1), ENDSEQVOL3SND1__STATIC },
+ { "DUKE_URINATE", DVPTR(DUKE_URINATE), DUKE_URINATE__STATIC },
+ { "ENDSEQVOL3SND2", DVPTR(ENDSEQVOL3SND2), ENDSEQVOL3SND2__STATIC },
+ { "ENDSEQVOL3SND3", DVPTR(ENDSEQVOL3SND3), ENDSEQVOL3SND3__STATIC },
+ { "DUKE_PASSWIND", DVPTR(DUKE_PASSWIND), DUKE_PASSWIND__STATIC },
+ { "DUKE_CRACK", DVPTR(DUKE_CRACK), DUKE_CRACK__STATIC },
+ { "SLIM_ATTACK", DVPTR(SLIM_ATTACK), SLIM_ATTACK__STATIC },
+ { "SOMETHINGHITFORCE", DVPTR(SOMETHINGHITFORCE), SOMETHINGHITFORCE__STATIC },
+ { "DUKE_DRINKING", DVPTR(DUKE_DRINKING), DUKE_DRINKING__STATIC },
+ { "DUKE_KILLED1", DVPTR(DUKE_KILLED1), DUKE_KILLED1__STATIC },
+ { "DUKE_GRUNT", DVPTR(DUKE_GRUNT), DUKE_GRUNT__STATIC },
+ { "DUKE_HARTBEAT", DVPTR(DUKE_HARTBEAT), DUKE_HARTBEAT__STATIC },
+ { "DUKE_ONWATER", DVPTR(DUKE_ONWATER), DUKE_ONWATER__STATIC },
+ { "DUKE_DEAD", DVPTR(DUKE_DEAD), DUKE_DEAD__STATIC },
+ { "DUKE_LAND", DVPTR(DUKE_LAND), DUKE_LAND__STATIC },
+ { "DUKE_WALKINDUCTS", DVPTR(DUKE_WALKINDUCTS), DUKE_WALKINDUCTS__STATIC },
+ { "DUKE_GLAD", DVPTR(DUKE_GLAD), DUKE_GLAD__STATIC },
+ { "DUKE_YES", DVPTR(DUKE_YES), DUKE_YES__STATIC },
+ { "DUKE_HEHE", DVPTR(DUKE_HEHE), DUKE_HEHE__STATIC },
+ { "DUKE_SHUCKS", DVPTR(DUKE_SHUCKS), DUKE_SHUCKS__STATIC },
+ { "DUKE_UNDERWATER", DVPTR(DUKE_UNDERWATER), DUKE_UNDERWATER__STATIC },
+ { "DUKE_JETPACK_ON", DVPTR(DUKE_JETPACK_ON), DUKE_JETPACK_ON__STATIC },
+ { "DUKE_JETPACK_IDLE", DVPTR(DUKE_JETPACK_IDLE), DUKE_JETPACK_IDLE__STATIC },
+ { "DUKE_JETPACK_OFF", DVPTR(DUKE_JETPACK_OFF), DUKE_JETPACK_OFF__STATIC },
+ { "LIZTROOP_GROWL", DVPTR(LIZTROOP_GROWL), LIZTROOP_GROWL__STATIC },
+ { "LIZTROOP_TALK1", DVPTR(LIZTROOP_TALK1), LIZTROOP_TALK1__STATIC },
+ { "LIZTROOP_TALK2", DVPTR(LIZTROOP_TALK2), LIZTROOP_TALK2__STATIC },
+ { "LIZTROOP_TALK3", DVPTR(LIZTROOP_TALK3), LIZTROOP_TALK3__STATIC },
+ { "DUKETALKTOBOSS", DVPTR(DUKETALKTOBOSS), DUKETALKTOBOSS__STATIC },
+ { "LIZCAPT_GROWL", DVPTR(LIZCAPT_GROWL), LIZCAPT_GROWL__STATIC },
+ { "LIZCAPT_TALK1", DVPTR(LIZCAPT_TALK1), LIZCAPT_TALK1__STATIC },
+ { "LIZCAPT_TALK2", DVPTR(LIZCAPT_TALK2), LIZCAPT_TALK2__STATIC },
+ { "LIZCAPT_TALK3", DVPTR(LIZCAPT_TALK3), LIZCAPT_TALK3__STATIC },
+ { "LIZARD_BEG", DVPTR(LIZARD_BEG), LIZARD_BEG__STATIC },
+ { "LIZARD_PAIN", DVPTR(LIZARD_PAIN), LIZARD_PAIN__STATIC },
+ { "LIZARD_DEATH", DVPTR(LIZARD_DEATH), LIZARD_DEATH__STATIC },
+ { "LIZARD_SPIT", DVPTR(LIZARD_SPIT), LIZARD_SPIT__STATIC },
+ { "DRONE1_HISSRATTLE", DVPTR(DRONE1_HISSRATTLE), DRONE1_HISSRATTLE__STATIC },
+ { "DRONE1_HISSSCREECH", DVPTR(DRONE1_HISSSCREECH), DRONE1_HISSSCREECH__STATIC },
+ { "DUKE_TIP2", DVPTR(DUKE_TIP2), DUKE_TIP2__STATIC },
+ { "FLESH_BURNING", DVPTR(FLESH_BURNING), FLESH_BURNING__STATIC },
+ { "SQUISHED", DVPTR(SQUISHED), SQUISHED__STATIC },
+ { "TELEPORTER", DVPTR(TELEPORTER), TELEPORTER__STATIC },
+ { "ELEVATOR_ON", DVPTR(ELEVATOR_ON), ELEVATOR_ON__STATIC },
+ { "DUKE_KILLED3", DVPTR(DUKE_KILLED3), DUKE_KILLED3__STATIC },
+ { "ELEVATOR_OFF", DVPTR(ELEVATOR_OFF), ELEVATOR_OFF__STATIC },
+ { "DOOR_OPERATE1", DVPTR(DOOR_OPERATE1), DOOR_OPERATE1__STATIC },
+ { "SUBWAY", DVPTR(SUBWAY), SUBWAY__STATIC },
+ { "SWITCH_ON", DVPTR(SWITCH_ON), SWITCH_ON__STATIC },
+ { "FAN", DVPTR(FAN), FAN__STATIC },
+ { "DUKE_GETWEAPON3", DVPTR(DUKE_GETWEAPON3), DUKE_GETWEAPON3__STATIC },
+ { "FLUSH_TOILET", DVPTR(FLUSH_TOILET), FLUSH_TOILET__STATIC },
+ { "HOVER_CRAFT", DVPTR(HOVER_CRAFT), HOVER_CRAFT__STATIC },
+ { "EARTHQUAKE", DVPTR(EARTHQUAKE), EARTHQUAKE__STATIC },
+ { "INTRUDER_ALERT", DVPTR(INTRUDER_ALERT), INTRUDER_ALERT__STATIC },
+ { "END_OF_LEVEL_WARN", DVPTR(END_OF_LEVEL_WARN), END_OF_LEVEL_WARN__STATIC },
+ { "ENGINE_OPERATING", DVPTR(ENGINE_OPERATING), ENGINE_OPERATING__STATIC },
+ { "REACTOR_ON", DVPTR(REACTOR_ON), REACTOR_ON__STATIC },
+ { "COMPUTER_AMBIENCE", DVPTR(COMPUTER_AMBIENCE), COMPUTER_AMBIENCE__STATIC },
+ { "GEARS_GRINDING", DVPTR(GEARS_GRINDING), GEARS_GRINDING__STATIC },
+ { "BUBBLE_AMBIENCE", DVPTR(BUBBLE_AMBIENCE), BUBBLE_AMBIENCE__STATIC },
+ { "MACHINE_AMBIENCE", DVPTR(MACHINE_AMBIENCE), MACHINE_AMBIENCE__STATIC },
+ { "SEWER_AMBIENCE", DVPTR(SEWER_AMBIENCE), SEWER_AMBIENCE__STATIC },
+ { "WIND_AMBIENCE", DVPTR(WIND_AMBIENCE), WIND_AMBIENCE__STATIC },
+ { "SOMETHING_DRIPPING", DVPTR(SOMETHING_DRIPPING), SOMETHING_DRIPPING__STATIC },
+ { "STEAM_HISSING", DVPTR(STEAM_HISSING), STEAM_HISSING__STATIC },
+ { "THEATER_BREATH", DVPTR(THEATER_BREATH), THEATER_BREATH__STATIC },
+ { "BAR_MUSIC", DVPTR(BAR_MUSIC), BAR_MUSIC__STATIC },
+ { "BOS1_ROAM", DVPTR(BOS1_ROAM), BOS1_ROAM__STATIC },
+ { "BOS1_RECOG", DVPTR(BOS1_RECOG), BOS1_RECOG__STATIC },
+ { "BOS1_ATTACK1", DVPTR(BOS1_ATTACK1), BOS1_ATTACK1__STATIC },
+ { "BOS1_PAIN", DVPTR(BOS1_PAIN), BOS1_PAIN__STATIC },
+ { "BOS1_DYING", DVPTR(BOS1_DYING), BOS1_DYING__STATIC },
+ { "BOS2_ROAM", DVPTR(BOS2_ROAM), BOS2_ROAM__STATIC },
+ { "BOS2_RECOG", DVPTR(BOS2_RECOG), BOS2_RECOG__STATIC },
+ { "BOS2_ATTACK", DVPTR(BOS2_ATTACK), BOS2_ATTACK__STATIC },
+ { "BOS2_PAIN", DVPTR(BOS2_PAIN), BOS2_PAIN__STATIC },
+ { "BOS2_DYING", DVPTR(BOS2_DYING), BOS2_DYING__STATIC },
+ { "GETATOMICHEALTH", DVPTR(GETATOMICHEALTH), GETATOMICHEALTH__STATIC },
+ { "DUKE_GETWEAPON2", DVPTR(DUKE_GETWEAPON2), DUKE_GETWEAPON2__STATIC },
+ { "BOS3_DYING", DVPTR(BOS3_DYING), BOS3_DYING__STATIC },
+ { "SHOTGUN_FIRE", DVPTR(SHOTGUN_FIRE), SHOTGUN_FIRE__STATIC },
+ { "PRED_ROAM", DVPTR(PRED_ROAM), PRED_ROAM__STATIC },
+ { "PRED_RECOG", DVPTR(PRED_RECOG), PRED_RECOG__STATIC },
+ { "PRED_ATTACK", DVPTR(PRED_ATTACK), PRED_ATTACK__STATIC },
+ { "PRED_PAIN", DVPTR(PRED_PAIN), PRED_PAIN__STATIC },
+ { "PRED_DYING", DVPTR(PRED_DYING), PRED_DYING__STATIC },
+ { "CAPT_ROAM", DVPTR(CAPT_ROAM), CAPT_ROAM__STATIC },
+ { "CAPT_ATTACK", DVPTR(CAPT_ATTACK), CAPT_ATTACK__STATIC },
+ { "CAPT_RECOG", DVPTR(CAPT_RECOG), CAPT_RECOG__STATIC },
+ { "CAPT_PAIN", DVPTR(CAPT_PAIN), CAPT_PAIN__STATIC },
+ { "CAPT_DYING", DVPTR(CAPT_DYING), CAPT_DYING__STATIC },
+ { "PIG_ROAM", DVPTR(PIG_ROAM), PIG_ROAM__STATIC },
+ { "PIG_RECOG", DVPTR(PIG_RECOG), PIG_RECOG__STATIC },
+ { "PIG_ATTACK", DVPTR(PIG_ATTACK), PIG_ATTACK__STATIC },
+ { "PIG_PAIN", DVPTR(PIG_PAIN), PIG_PAIN__STATIC },
+ { "PIG_DYING", DVPTR(PIG_DYING), PIG_DYING__STATIC },
+ { "RECO_ROAM", DVPTR(RECO_ROAM), RECO_ROAM__STATIC },
+ { "RECO_RECOG", DVPTR(RECO_RECOG), RECO_RECOG__STATIC },
+ { "RECO_ATTACK", DVPTR(RECO_ATTACK), RECO_ATTACK__STATIC },
+ { "RECO_PAIN", DVPTR(RECO_PAIN), RECO_PAIN__STATIC },
+ { "RECO_DYING", DVPTR(RECO_DYING), RECO_DYING__STATIC },
+ { "DRON_ROAM", DVPTR(DRON_ROAM), DRON_ROAM__STATIC },
+ { "DRON_RECOG", DVPTR(DRON_RECOG), DRON_RECOG__STATIC },
+ { "DRON_ATTACK1", DVPTR(DRON_ATTACK1), DRON_ATTACK1__STATIC },
+ { "DRON_PAIN", DVPTR(DRON_PAIN), DRON_PAIN__STATIC },
+ { "DRON_DYING", DVPTR(DRON_DYING), DRON_DYING__STATIC },
+ { "COMM_ROAM", DVPTR(COMM_ROAM), COMM_ROAM__STATIC },
+ { "COMM_RECOG", DVPTR(COMM_RECOG), COMM_RECOG__STATIC },
+ { "COMM_ATTACK", DVPTR(COMM_ATTACK), COMM_ATTACK__STATIC },
+ { "COMM_PAIN", DVPTR(COMM_PAIN), COMM_PAIN__STATIC },
+ { "COMM_DYING", DVPTR(COMM_DYING), COMM_DYING__STATIC },
+ { "OCTA_ROAM", DVPTR(OCTA_ROAM), OCTA_ROAM__STATIC },
+ { "OCTA_RECOG", DVPTR(OCTA_RECOG), OCTA_RECOG__STATIC },
+ { "OCTA_ATTACK1", DVPTR(OCTA_ATTACK1), OCTA_ATTACK1__STATIC },
+ { "OCTA_PAIN", DVPTR(OCTA_PAIN), OCTA_PAIN__STATIC },
+ { "OCTA_DYING", DVPTR(OCTA_DYING), OCTA_DYING__STATIC },
+ { "TURR_ROAM", DVPTR(TURR_ROAM), TURR_ROAM__STATIC },
+ { "TURR_RECOG", DVPTR(TURR_RECOG), TURR_RECOG__STATIC },
+ { "TURR_ATTACK", DVPTR(TURR_ATTACK), TURR_ATTACK__STATIC },
+ { "DUMPSTER_MOVE", DVPTR(DUMPSTER_MOVE), DUMPSTER_MOVE__STATIC },
+ { "SLIM_DYING", DVPTR(SLIM_DYING), SLIM_DYING__STATIC },
+ { "BOS3_ROAM", DVPTR(BOS3_ROAM), BOS3_ROAM__STATIC },
+ { "BOS3_RECOG", DVPTR(BOS3_RECOG), BOS3_RECOG__STATIC },
+ { "BOS3_ATTACK1", DVPTR(BOS3_ATTACK1), BOS3_ATTACK1__STATIC },
+ { "BOS3_PAIN", DVPTR(BOS3_PAIN), BOS3_PAIN__STATIC },
+ { "BOS1_ATTACK2", DVPTR(BOS1_ATTACK2), BOS1_ATTACK2__STATIC },
+ { "COMM_SPIN", DVPTR(COMM_SPIN), COMM_SPIN__STATIC },
+ { "BOS1_WALK", DVPTR(BOS1_WALK), BOS1_WALK__STATIC },
+ { "DRON_ATTACK2", DVPTR(DRON_ATTACK2), DRON_ATTACK2__STATIC },
+ { "THUD", DVPTR(THUD), THUD__STATIC },
+ { "OCTA_ATTACK2", DVPTR(OCTA_ATTACK2), OCTA_ATTACK2__STATIC },
+ { "WIERDSHOT_FLY", DVPTR(WIERDSHOT_FLY), WIERDSHOT_FLY__STATIC },
+ { "TURR_PAIN", DVPTR(TURR_PAIN), TURR_PAIN__STATIC },
+ { "TURR_DYING", DVPTR(TURR_DYING), TURR_DYING__STATIC },
+ { "SLIM_ROAM", DVPTR(SLIM_ROAM), SLIM_ROAM__STATIC },
+ { "LADY_SCREAM", DVPTR(LADY_SCREAM), LADY_SCREAM__STATIC },
+ { "DOOR_OPERATE2", DVPTR(DOOR_OPERATE2), DOOR_OPERATE2__STATIC },
+ { "DOOR_OPERATE3", DVPTR(DOOR_OPERATE3), DOOR_OPERATE3__STATIC },
+ { "DOOR_OPERATE4", DVPTR(DOOR_OPERATE4), DOOR_OPERATE4__STATIC },
+ { "BORNTOBEWILDSND", DVPTR(BORNTOBEWILDSND), BORNTOBEWILDSND__STATIC },
+ { "SHOTGUN_COCK", DVPTR(SHOTGUN_COCK), SHOTGUN_COCK__STATIC },
+ { "GENERIC_AMBIENCE1", DVPTR(GENERIC_AMBIENCE1), GENERIC_AMBIENCE1__STATIC },
+ { "GENERIC_AMBIENCE2", DVPTR(GENERIC_AMBIENCE2), GENERIC_AMBIENCE2__STATIC },
+ { "GENERIC_AMBIENCE3", DVPTR(GENERIC_AMBIENCE3), GENERIC_AMBIENCE3__STATIC },
+ { "GENERIC_AMBIENCE4", DVPTR(GENERIC_AMBIENCE4), GENERIC_AMBIENCE4__STATIC },
+ { "GENERIC_AMBIENCE5", DVPTR(GENERIC_AMBIENCE5), GENERIC_AMBIENCE5__STATIC },
+ { "GENERIC_AMBIENCE6", DVPTR(GENERIC_AMBIENCE6), GENERIC_AMBIENCE6__STATIC },
+ { "BOS3_ATTACK2", DVPTR(BOS3_ATTACK2), BOS3_ATTACK2__STATIC },
+ { "GENERIC_AMBIENCE17", DVPTR(GENERIC_AMBIENCE17), GENERIC_AMBIENCE17__STATIC },
+ { "GENERIC_AMBIENCE18", DVPTR(GENERIC_AMBIENCE18), GENERIC_AMBIENCE18__STATIC },
+ { "GENERIC_AMBIENCE19", DVPTR(GENERIC_AMBIENCE19), GENERIC_AMBIENCE19__STATIC },
+ { "GENERIC_AMBIENCE20", DVPTR(GENERIC_AMBIENCE20), GENERIC_AMBIENCE20__STATIC },
+ { "GENERIC_AMBIENCE21", DVPTR(GENERIC_AMBIENCE21), GENERIC_AMBIENCE21__STATIC },
+ { "GENERIC_AMBIENCE22", DVPTR(GENERIC_AMBIENCE22), GENERIC_AMBIENCE22__STATIC },
+ { "SECRETLEVELSND", DVPTR(SECRETLEVELSND), SECRETLEVELSND__STATIC },
+ { "GENERIC_AMBIENCE8", DVPTR(GENERIC_AMBIENCE8), GENERIC_AMBIENCE8__STATIC },
+ { "GENERIC_AMBIENCE9", DVPTR(GENERIC_AMBIENCE9), GENERIC_AMBIENCE9__STATIC },
+ { "GENERIC_AMBIENCE10", DVPTR(GENERIC_AMBIENCE10), GENERIC_AMBIENCE10__STATIC },
+ { "GENERIC_AMBIENCE11", DVPTR(GENERIC_AMBIENCE11), GENERIC_AMBIENCE11__STATIC },
+ { "GENERIC_AMBIENCE12", DVPTR(GENERIC_AMBIENCE12), GENERIC_AMBIENCE12__STATIC },
+ { "GENERIC_AMBIENCE13", DVPTR(GENERIC_AMBIENCE13), GENERIC_AMBIENCE13__STATIC },
+ { "GENERIC_AMBIENCE14", DVPTR(GENERIC_AMBIENCE14), GENERIC_AMBIENCE14__STATIC },
+ { "GENERIC_AMBIENCE15", DVPTR(GENERIC_AMBIENCE15), GENERIC_AMBIENCE15__STATIC },
+ { "GENERIC_AMBIENCE16", DVPTR(GENERIC_AMBIENCE16), GENERIC_AMBIENCE16__STATIC },
+ { "FIRE_CRACKLE", DVPTR(FIRE_CRACKLE), FIRE_CRACKLE__STATIC },
+ { "BONUS_SPEECH1", DVPTR(BONUS_SPEECH1), BONUS_SPEECH1__STATIC },
+ { "BONUS_SPEECH2", DVPTR(BONUS_SPEECH2), BONUS_SPEECH2__STATIC },
+ { "BONUS_SPEECH3", DVPTR(BONUS_SPEECH3), BONUS_SPEECH3__STATIC },
+ { "PIG_CAPTURE_DUKE", DVPTR(PIG_CAPTURE_DUKE), PIG_CAPTURE_DUKE__STATIC },
+ { "BONUS_SPEECH4", DVPTR(BONUS_SPEECH4), BONUS_SPEECH4__STATIC },
+ { "DUKE_LAND_HURT", DVPTR(DUKE_LAND_HURT), DUKE_LAND_HURT__STATIC },
+ { "DUKE_HIT_STRIPPER1", DVPTR(DUKE_HIT_STRIPPER1), DUKE_HIT_STRIPPER1__STATIC },
+ { "DUKE_TIP1", DVPTR(DUKE_TIP1), DUKE_TIP1__STATIC },
+ { "DUKE_KILLED2", DVPTR(DUKE_KILLED2), DUKE_KILLED2__STATIC },
+ { "PRED_ROAM2", DVPTR(PRED_ROAM2), PRED_ROAM2__STATIC },
+ { "PIG_ROAM2", DVPTR(PIG_ROAM2), PIG_ROAM2__STATIC },
+ { "DUKE_GETWEAPON1", DVPTR(DUKE_GETWEAPON1), DUKE_GETWEAPON1__STATIC },
+ { "DUKE_SEARCH2", DVPTR(DUKE_SEARCH2), DUKE_SEARCH2__STATIC },
+ { "DUKE_CRACK2", DVPTR(DUKE_CRACK2), DUKE_CRACK2__STATIC },
+ { "DUKE_SEARCH", DVPTR(DUKE_SEARCH), DUKE_SEARCH__STATIC },
+ { "DUKE_GET", DVPTR(DUKE_GET), DUKE_GET__STATIC },
+ { "DUKE_LONGTERM_PAIN", DVPTR(DUKE_LONGTERM_PAIN), DUKE_LONGTERM_PAIN__STATIC },
+ { "MONITOR_ACTIVE", DVPTR(MONITOR_ACTIVE), MONITOR_ACTIVE__STATIC },
+ { "NITEVISION_ONOFF", DVPTR(NITEVISION_ONOFF), NITEVISION_ONOFF__STATIC },
+ { "DUKE_HIT_STRIPPER2", DVPTR(DUKE_HIT_STRIPPER2), DUKE_HIT_STRIPPER2__STATIC },
+ { "DUKE_CRACK_FIRST", DVPTR(DUKE_CRACK_FIRST), DUKE_CRACK_FIRST__STATIC },
+ { "DUKE_USEMEDKIT", DVPTR(DUKE_USEMEDKIT), DUKE_USEMEDKIT__STATIC },
+ { "DUKE_TAKEPILLS", DVPTR(DUKE_TAKEPILLS), DUKE_TAKEPILLS__STATIC },
+ { "DUKE_PISSRELIEF", DVPTR(DUKE_PISSRELIEF), DUKE_PISSRELIEF__STATIC },
+ { "SELECT_WEAPON", DVPTR(SELECT_WEAPON), SELECT_WEAPON__STATIC },
+ { "WATER_GURGLE", DVPTR(WATER_GURGLE), WATER_GURGLE__STATIC },
+ { "DUKE_GETWEAPON4", DVPTR(DUKE_GETWEAPON4), DUKE_GETWEAPON4__STATIC },
+ { "JIBBED_ACTOR1", DVPTR(JIBBED_ACTOR1), JIBBED_ACTOR1__STATIC },
+ { "JIBBED_ACTOR2", DVPTR(JIBBED_ACTOR2), JIBBED_ACTOR2__STATIC },
+ { "JIBBED_ACTOR3", DVPTR(JIBBED_ACTOR3), JIBBED_ACTOR3__STATIC },
+ { "JIBBED_ACTOR4", DVPTR(JIBBED_ACTOR4), JIBBED_ACTOR4__STATIC },
+ { "JIBBED_ACTOR5", DVPTR(JIBBED_ACTOR5), JIBBED_ACTOR5__STATIC },
+ { "JIBBED_ACTOR6", DVPTR(JIBBED_ACTOR6), JIBBED_ACTOR6__STATIC },
+ { "JIBBED_ACTOR7", DVPTR(JIBBED_ACTOR7), JIBBED_ACTOR7__STATIC },
+ { "DUKE_GOTHEALTHATLOW", DVPTR(DUKE_GOTHEALTHATLOW), DUKE_GOTHEALTHATLOW__STATIC },
+ { "BOSSTALKTODUKE", DVPTR(BOSSTALKTODUKE), BOSSTALKTODUKE__STATIC },
+ { "WAR_AMBIENCE1", DVPTR(WAR_AMBIENCE1), WAR_AMBIENCE1__STATIC },
+ { "WAR_AMBIENCE2", DVPTR(WAR_AMBIENCE2), WAR_AMBIENCE2__STATIC },
+ { "WAR_AMBIENCE3", DVPTR(WAR_AMBIENCE3), WAR_AMBIENCE3__STATIC },
+ { "WAR_AMBIENCE4", DVPTR(WAR_AMBIENCE4), WAR_AMBIENCE4__STATIC },
+ { "WAR_AMBIENCE5", DVPTR(WAR_AMBIENCE5), WAR_AMBIENCE5__STATIC },
+ { "WAR_AMBIENCE6", DVPTR(WAR_AMBIENCE6), WAR_AMBIENCE6__STATIC },
+ { "WAR_AMBIENCE7", DVPTR(WAR_AMBIENCE7), WAR_AMBIENCE7__STATIC },
+ { "WAR_AMBIENCE8", DVPTR(WAR_AMBIENCE8), WAR_AMBIENCE8__STATIC },
+ { "WAR_AMBIENCE9", DVPTR(WAR_AMBIENCE9), WAR_AMBIENCE9__STATIC },
+ { "WAR_AMBIENCE10", DVPTR(WAR_AMBIENCE10), WAR_AMBIENCE10__STATIC },
+ { "ALIEN_TALK1", DVPTR(ALIEN_TALK1), ALIEN_TALK1__STATIC },
+ { "ALIEN_TALK2", DVPTR(ALIEN_TALK2), ALIEN_TALK2__STATIC },
+ { "EXITMENUSOUND", DVPTR(EXITMENUSOUND), EXITMENUSOUND__STATIC },
+ { "FLY_BY", DVPTR(FLY_BY), FLY_BY__STATIC },
+ { "DUKE_SCREAM", DVPTR(DUKE_SCREAM), DUKE_SCREAM__STATIC },
+ { "SHRINKER_HIT", DVPTR(SHRINKER_HIT), SHRINKER_HIT__STATIC },
+ { "RATTY", DVPTR(RATTY), RATTY__STATIC },
+ { "INTO_MENU", DVPTR(INTO_MENU), INTO_MENU__STATIC },
+ { "BONUSMUSIC", DVPTR(BONUSMUSIC), BONUSMUSIC__STATIC },
+ { "DUKE_BOOBY", DVPTR(DUKE_BOOBY), DUKE_BOOBY__STATIC },
+ { "DUKE_TALKTOBOSSFALL", DVPTR(DUKE_TALKTOBOSSFALL), DUKE_TALKTOBOSSFALL__STATIC },
+ { "DUKE_LOOKINTOMIRROR", DVPTR(DUKE_LOOKINTOMIRROR), DUKE_LOOKINTOMIRROR__STATIC },
+ { "PIG_ROAM3", DVPTR(PIG_ROAM3), PIG_ROAM3__STATIC },
+ { "KILLME", DVPTR(KILLME), KILLME__STATIC },
+ { "DRON_JETSND", DVPTR(DRON_JETSND), DRON_JETSND__STATIC },
+ { "SPACE_DOOR1", DVPTR(SPACE_DOOR1), SPACE_DOOR1__STATIC },
+ { "SPACE_DOOR2", DVPTR(SPACE_DOOR2), SPACE_DOOR2__STATIC },
+ { "SPACE_DOOR3", DVPTR(SPACE_DOOR3), SPACE_DOOR3__STATIC },
+ { "SPACE_DOOR4", DVPTR(SPACE_DOOR4), SPACE_DOOR4__STATIC },
+ { "SPACE_DOOR5", DVPTR(SPACE_DOOR5), SPACE_DOOR5__STATIC },
+ { "ALIEN_ELEVATOR1", DVPTR(ALIEN_ELEVATOR1), ALIEN_ELEVATOR1__STATIC },
+ { "VAULT_DOOR", DVPTR(VAULT_DOOR), VAULT_DOOR__STATIC },
+ { "JIBBED_ACTOR13", DVPTR(JIBBED_ACTOR13), JIBBED_ACTOR13__STATIC },
+ { "DUKE_GETWEAPON6", DVPTR(DUKE_GETWEAPON6), DUKE_GETWEAPON6__STATIC },
+ { "JIBBED_ACTOR8", DVPTR(JIBBED_ACTOR8), JIBBED_ACTOR8__STATIC },
+ { "JIBBED_ACTOR9", DVPTR(JIBBED_ACTOR9), JIBBED_ACTOR9__STATIC },
+ { "JIBBED_ACTOR10", DVPTR(JIBBED_ACTOR10), JIBBED_ACTOR10__STATIC },
+ { "JIBBED_ACTOR11", DVPTR(JIBBED_ACTOR11), JIBBED_ACTOR11__STATIC },
+ { "JIBBED_ACTOR12", DVPTR(JIBBED_ACTOR12), JIBBED_ACTOR12__STATIC },
+ { "DUKE_KILLED4", DVPTR(DUKE_KILLED4), DUKE_KILLED4__STATIC },
+ { "DUKE_KILLED5", DVPTR(DUKE_KILLED5), DUKE_KILLED5__STATIC },
+ { "ALIEN_SWITCH1", DVPTR(ALIEN_SWITCH1), ALIEN_SWITCH1__STATIC },
+ { "DUKE_STEPONFECES", DVPTR(DUKE_STEPONFECES), DUKE_STEPONFECES__STATIC },
+ { "DUKE_LONGTERM_PAIN2", DVPTR(DUKE_LONGTERM_PAIN2), DUKE_LONGTERM_PAIN2__STATIC },
+ { "DUKE_LONGTERM_PAIN3", DVPTR(DUKE_LONGTERM_PAIN3), DUKE_LONGTERM_PAIN3__STATIC },
+ { "DUKE_LONGTERM_PAIN4", DVPTR(DUKE_LONGTERM_PAIN4), DUKE_LONGTERM_PAIN4__STATIC },
+ { "COMPANB2", DVPTR(COMPANB2), COMPANB2__STATIC },
+ { "KTIT", DVPTR(KTIT), KTIT__STATIC },
+ { "HELICOP_IDLE", DVPTR(HELICOP_IDLE), HELICOP_IDLE__STATIC },
+ { "STEPNIT", DVPTR(STEPNIT), STEPNIT__STATIC },
+ { "SPACE_AMBIENCE1", DVPTR(SPACE_AMBIENCE1), SPACE_AMBIENCE1__STATIC },
+ { "SPACE_AMBIENCE2", DVPTR(SPACE_AMBIENCE2), SPACE_AMBIENCE2__STATIC },
+ { "SLIM_HATCH", DVPTR(SLIM_HATCH), SLIM_HATCH__STATIC },
+ { "RIPHEADNECK", DVPTR(RIPHEADNECK), RIPHEADNECK__STATIC },
+ { "FOUNDJONES", DVPTR(FOUNDJONES), FOUNDJONES__STATIC },
+ { "ALIEN_DOOR1", DVPTR(ALIEN_DOOR1), ALIEN_DOOR1__STATIC },
+ { "ALIEN_DOOR2", DVPTR(ALIEN_DOOR2), ALIEN_DOOR2__STATIC },
+ { "ENDSEQVOL3SND4", DVPTR(ENDSEQVOL3SND4), ENDSEQVOL3SND4__STATIC },
+ { "ENDSEQVOL3SND5", DVPTR(ENDSEQVOL3SND5), ENDSEQVOL3SND5__STATIC },
+ { "ENDSEQVOL3SND6", DVPTR(ENDSEQVOL3SND6), ENDSEQVOL3SND6__STATIC },
+ { "ENDSEQVOL3SND7", DVPTR(ENDSEQVOL3SND7), ENDSEQVOL3SND7__STATIC },
+ { "ENDSEQVOL3SND8", DVPTR(ENDSEQVOL3SND8), ENDSEQVOL3SND8__STATIC },
+ { "ENDSEQVOL3SND9", DVPTR(ENDSEQVOL3SND9), ENDSEQVOL3SND9__STATIC },
+ { "WHIPYOURASS", DVPTR(WHIPYOURASS), WHIPYOURASS__STATIC },
+ { "ENDSEQVOL2SND1", DVPTR(ENDSEQVOL2SND1), ENDSEQVOL2SND1__STATIC },
+ { "ENDSEQVOL2SND2", DVPTR(ENDSEQVOL2SND2), ENDSEQVOL2SND2__STATIC },
+ { "ENDSEQVOL2SND3", DVPTR(ENDSEQVOL2SND3), ENDSEQVOL2SND3__STATIC },
+ { "ENDSEQVOL2SND4", DVPTR(ENDSEQVOL2SND4), ENDSEQVOL2SND4__STATIC },
+ { "ENDSEQVOL2SND5", DVPTR(ENDSEQVOL2SND5), ENDSEQVOL2SND5__STATIC },
+ { "ENDSEQVOL2SND6", DVPTR(ENDSEQVOL2SND6), ENDSEQVOL2SND6__STATIC },
+ { "ENDSEQVOL2SND7", DVPTR(ENDSEQVOL2SND7), ENDSEQVOL2SND7__STATIC },
+ { "GENERIC_AMBIENCE23", DVPTR(GENERIC_AMBIENCE23), GENERIC_AMBIENCE23__STATIC },
+ { "SOMETHINGFROZE", DVPTR(SOMETHINGFROZE), SOMETHINGFROZE__STATIC },
+ { "DUKE_LONGTERM_PAIN5", DVPTR(DUKE_LONGTERM_PAIN5), DUKE_LONGTERM_PAIN5__STATIC },
+ { "DUKE_LONGTERM_PAIN6", DVPTR(DUKE_LONGTERM_PAIN6), DUKE_LONGTERM_PAIN6__STATIC },
+ { "DUKE_LONGTERM_PAIN7", DVPTR(DUKE_LONGTERM_PAIN7), DUKE_LONGTERM_PAIN7__STATIC },
+ { "DUKE_LONGTERM_PAIN8", DVPTR(DUKE_LONGTERM_PAIN8), DUKE_LONGTERM_PAIN8__STATIC },
+ { "WIND_REPEAT", DVPTR(WIND_REPEAT), WIND_REPEAT__STATIC },
+ { "MYENEMY_ROAM", DVPTR(MYENEMY_ROAM), MYENEMY_ROAM__STATIC },
+ { "MYENEMY_HURT", DVPTR(MYENEMY_HURT), MYENEMY_HURT__STATIC },
+ { "MYENEMY_DEAD", DVPTR(MYENEMY_DEAD), MYENEMY_DEAD__STATIC },
+ { "MYENEMY_SHOOT", DVPTR(MYENEMY_SHOOT), MYENEMY_SHOOT__STATIC },
+ { "STORE_MUSIC", DVPTR(STORE_MUSIC), STORE_MUSIC__STATIC },
+ { "STORE_MUSIC_BROKE", DVPTR(STORE_MUSIC_BROKE), STORE_MUSIC_BROKE__STATIC },
+ { "ACTOR_GROWING", DVPTR(ACTOR_GROWING), ACTOR_GROWING__STATIC },
+ { "NEWBEAST_ROAM", DVPTR(NEWBEAST_ROAM), NEWBEAST_ROAM__STATIC },
+ { "NEWBEAST_RECOG", DVPTR(NEWBEAST_RECOG), NEWBEAST_RECOG__STATIC },
+ { "NEWBEAST_ATTACK", DVPTR(NEWBEAST_ATTACK), NEWBEAST_ATTACK__STATIC },
+ { "NEWBEAST_PAIN", DVPTR(NEWBEAST_PAIN), NEWBEAST_PAIN__STATIC },
+ { "NEWBEAST_DYING", DVPTR(NEWBEAST_DYING), NEWBEAST_DYING__STATIC },
+ { "NEWBEAST_SPIT", DVPTR(NEWBEAST_SPIT), NEWBEAST_SPIT__STATIC },
+ { "VOL4_1", DVPTR(VOL4_1), VOL4_1__STATIC },
+ { "SUPERMARKET", DVPTR(SUPERMARKET), SUPERMARKET__STATIC },
+ { "MOUSEANNOY", DVPTR(MOUSEANNOY), MOUSEANNOY__STATIC },
+ { "BOOKEM", DVPTR(BOOKEM), BOOKEM__STATIC },
+ { "SUPERMARKETCRY", DVPTR(SUPERMARKETCRY), SUPERMARKETCRY__STATIC },
+ { "DESTRUCT", DVPTR(DESTRUCT), DESTRUCT__STATIC },
+ { "EATFOOD", DVPTR(EATFOOD), EATFOOD__STATIC },
+ { "MAKEMYDAY", DVPTR(MAKEMYDAY), MAKEMYDAY__STATIC },
+ { "WITNESSSTAND", DVPTR(WITNESSSTAND), WITNESSSTAND__STATIC },
+ { "VACATIONSPEECH", DVPTR(VACATIONSPEECH), VACATIONSPEECH__STATIC },
+ { "YIPPEE1", DVPTR(YIPPEE1), YIPPEE1__STATIC },
+ { "YOHOO1", DVPTR(YOHOO1), YOHOO1__STATIC },
+ { "YOHOO2", DVPTR(YOHOO2), YOHOO2__STATIC },
+ { "DOLPHINSND", DVPTR(DOLPHINSND), DOLPHINSND__STATIC },
+ { "TOUGHGALSND1", DVPTR(TOUGHGALSND1), TOUGHGALSND1__STATIC },
+ { "TOUGHGALSND2", DVPTR(TOUGHGALSND2), TOUGHGALSND2__STATIC },
+ { "TOUGHGALSND3", DVPTR(TOUGHGALSND3), TOUGHGALSND3__STATIC },
+ { "TOUGHGALSND4", DVPTR(TOUGHGALSND4), TOUGHGALSND4__STATIC },
+ { "TANK_ROAM", DVPTR(TANK_ROAM), TANK_ROAM__STATIC },
+ { "BOS4_ROAM", DVPTR(BOS4_ROAM), BOS4_ROAM__STATIC },
+ { "BOS4_RECOG", DVPTR(BOS4_RECOG), BOS4_RECOG__STATIC },
+ { "BOS4_ATTACK", DVPTR(BOS4_ATTACK), BOS4_ATTACK__STATIC },
+ { "BOS4_PAIN", DVPTR(BOS4_PAIN), BOS4_PAIN__STATIC },
+ { "BOS4_DYING", DVPTR(BOS4_DYING), BOS4_DYING__STATIC },
+ { "NEWBEAST_ATTACKMISS", DVPTR(NEWBEAST_ATTACKMISS), NEWBEAST_ATTACKMISS__STATIC },
+ { "VOL4_2", DVPTR(VOL4_2), VOL4_2__STATIC },
+ { "COOKINGDEEPFRIER", DVPTR(COOKINGDEEPFRIER), COOKINGDEEPFRIER__STATIC },
+ { "WHINING_DOG", DVPTR(WHINING_DOG), WHINING_DOG__STATIC },
+ { "DEAD_DOG", DVPTR(DEAD_DOG), DEAD_DOG__STATIC },
+ { "LIGHTNING_SLAP", DVPTR(LIGHTNING_SLAP), LIGHTNING_SLAP__STATIC },
+ { "THUNDER", DVPTR(THUNDER), THUNDER__STATIC },
+ { "HAPPYMOUSESND1", DVPTR(HAPPYMOUSESND1), HAPPYMOUSESND1__STATIC },
+ { "HAPPYMOUSESND2", DVPTR(HAPPYMOUSESND2), HAPPYMOUSESND2__STATIC },
+ { "HAPPYMOUSESND3", DVPTR(HAPPYMOUSESND3), HAPPYMOUSESND3__STATIC },
+ { "HAPPYMOUSESND4", DVPTR(HAPPYMOUSESND4), HAPPYMOUSESND4__STATIC },
+ { "ALARM", DVPTR(ALARM), ALARM__STATIC },
+ { "RAIN", DVPTR(RAIN), RAIN__STATIC },
+ { "DTAG_GREENRUN", DVPTR(DTAG_GREENRUN), DTAG_GREENRUN__STATIC },
+ { "DTAG_BROWNRUN", DVPTR(DTAG_BROWNRUN), DTAG_BROWNRUN__STATIC },
+ { "DTAG_GREENSCORE", DVPTR(DTAG_GREENSCORE), DTAG_GREENSCORE__STATIC },
+ { "DTAG_BROWNSCORE", DVPTR(DTAG_BROWNSCORE), DTAG_BROWNSCORE__STATIC },
+ { "INTRO4_1", DVPTR(INTRO4_1), INTRO4_1__STATIC },
+ { "INTRO4_2", DVPTR(INTRO4_2), INTRO4_2__STATIC },
+ { "INTRO4_3", DVPTR(INTRO4_3), INTRO4_3__STATIC },
+ { "INTRO4_4", DVPTR(INTRO4_4), INTRO4_4__STATIC },
+ { "INTRO4_5", DVPTR(INTRO4_5), INTRO4_5__STATIC },
+ { "INTRO4_6", DVPTR(INTRO4_6), INTRO4_6__STATIC },
+ { "SCREECH", DVPTR(SCREECH), SCREECH__STATIC },
+ { "BOSS4_DEADSPEECH", DVPTR(BOSS4_DEADSPEECH), BOSS4_DEADSPEECH__STATIC },
+ { "BOSS4_FIRSTSEE", DVPTR(BOSS4_FIRSTSEE), BOSS4_FIRSTSEE__STATIC },
+ { "PARTY_SPEECH", DVPTR(PARTY_SPEECH), PARTY_SPEECH__STATIC },
+ { "POSTAL_SPEECH", DVPTR(POSTAL_SPEECH), POSTAL_SPEECH__STATIC },
+ { "TGSPEECH", DVPTR(TGSPEECH), TGSPEECH__STATIC },
+ { "DOGROOMSPEECH", DVPTR(DOGROOMSPEECH), DOGROOMSPEECH__STATIC },
+ { "SMACKED", DVPTR(SMACKED), SMACKED__STATIC },
+ { "MDEVSPEECH", DVPTR(MDEVSPEECH), MDEVSPEECH__STATIC },
+ { "AREA51SPEECH", DVPTR(AREA51SPEECH), AREA51SPEECH__STATIC },
+ { "JEEPSOUND", DVPTR(JEEPSOUND), JEEPSOUND__STATIC },
+ { "BIGDOORSLAM", DVPTR(BIGDOORSLAM), BIGDOORSLAM__STATIC },
+ { "BOS4_LAY", DVPTR(BOS4_LAY), BOS4_LAY__STATIC },
+ { "WAVESOUND", DVPTR(WAVESOUND), WAVESOUND__STATIC },
+ { "ILLBEBACK", DVPTR(ILLBEBACK), ILLBEBACK__STATIC },
+ { "VOL4ENDSND1", DVPTR(VOL4ENDSND1), VOL4ENDSND1__STATIC },
+ { "VOL4ENDSND2", DVPTR(VOL4ENDSND2), VOL4ENDSND2__STATIC },
+ { "EXPANDERHIT", DVPTR(EXPANDERHIT), EXPANDERHIT__STATIC },
+ { "SNAKESPEECH", DVPTR(SNAKESPEECH), SNAKESPEECH__STATIC },
+ { "EXPANDERSHOOT", DVPTR(EXPANDERSHOOT), EXPANDERSHOOT__STATIC },
+ { "GETBACKTOWORK", DVPTR(GETBACKTOWORK), GETBACKTOWORK__STATIC },
+ { "JIBBED_ACTOR14", DVPTR(JIBBED_ACTOR14), JIBBED_ACTOR14__STATIC },
+ { "JIBBED_ACTOR15", DVPTR(JIBBED_ACTOR15), JIBBED_ACTOR15__STATIC },
+ { "INTRO4_B", DVPTR(INTRO4_B), INTRO4_B__STATIC },
+ { "BIGBANG", DVPTR(BIGBANG), BIGBANG__STATIC },
+ { "HORNSND", DVPTR(HORNSND), HORNSND__STATIC },
+ { "BELLSND", DVPTR(BELLSND), BELLSND__STATIC },
+ { "GOAWAY", DVPTR(GOAWAY), GOAWAY__STATIC },
+ { "JOKE", DVPTR(JOKE), JOKE__STATIC },
+ { NULL, NULL, -1 },
+ };
+
+#ifdef DYNSOUNDREMAP_ENABLE
+
+int32_t KICK_HIT = KICK_HIT__STATIC;
+int32_t PISTOL_RICOCHET = PISTOL_RICOCHET__STATIC;
+int32_t PISTOL_BODYHIT = PISTOL_BODYHIT__STATIC;
+int32_t PISTOL_FIRE = PISTOL_FIRE__STATIC;
+int32_t EJECT_CLIP = EJECT_CLIP__STATIC;
+int32_t INSERT_CLIP = INSERT_CLIP__STATIC;
+int32_t CHAINGUN_FIRE = CHAINGUN_FIRE__STATIC;
+int32_t RPG_SHOOT = RPG_SHOOT__STATIC;
+int32_t POOLBALLHIT = POOLBALLHIT__STATIC;
+int32_t RPG_EXPLODE = RPG_EXPLODE__STATIC;
+int32_t CAT_FIRE = CAT_FIRE__STATIC;
+int32_t SHRINKER_FIRE = SHRINKER_FIRE__STATIC;
+int32_t ACTOR_SHRINKING = ACTOR_SHRINKING__STATIC;
+int32_t PIPEBOMB_BOUNCE = PIPEBOMB_BOUNCE__STATIC;
+int32_t PIPEBOMB_EXPLODE = PIPEBOMB_EXPLODE__STATIC;
+int32_t LASERTRIP_ONWALL = LASERTRIP_ONWALL__STATIC;
+int32_t LASERTRIP_ARMING = LASERTRIP_ARMING__STATIC;
+int32_t LASERTRIP_EXPLODE = LASERTRIP_EXPLODE__STATIC;
+int32_t VENT_BUST = VENT_BUST__STATIC;
+int32_t GLASS_BREAKING = GLASS_BREAKING__STATIC;
+int32_t GLASS_HEAVYBREAK = GLASS_HEAVYBREAK__STATIC;
+int32_t SHORT_CIRCUIT = SHORT_CIRCUIT__STATIC;
+int32_t ITEM_SPLASH = ITEM_SPLASH__STATIC;
+int32_t DUKE_BREATHING = DUKE_BREATHING__STATIC;
+int32_t DUKE_EXHALING = DUKE_EXHALING__STATIC;
+int32_t DUKE_GASP = DUKE_GASP__STATIC;
+int32_t SLIM_RECOG = SLIM_RECOG__STATIC;
+// int32_t ENDSEQVOL3SND1 = ENDSEQVOL3SND1__STATIC;
+int32_t DUKE_URINATE = DUKE_URINATE__STATIC;
+int32_t ENDSEQVOL3SND2 = ENDSEQVOL3SND2__STATIC;
+int32_t ENDSEQVOL3SND3 = ENDSEQVOL3SND3__STATIC;
+int32_t DUKE_PASSWIND = DUKE_PASSWIND__STATIC;
+int32_t DUKE_CRACK = DUKE_CRACK__STATIC;
+int32_t SLIM_ATTACK = SLIM_ATTACK__STATIC;
+int32_t SOMETHINGHITFORCE = SOMETHINGHITFORCE__STATIC;
+int32_t DUKE_DRINKING = DUKE_DRINKING__STATIC;
+int32_t DUKE_KILLED1 = DUKE_KILLED1__STATIC;
+int32_t DUKE_GRUNT = DUKE_GRUNT__STATIC;
+int32_t DUKE_HARTBEAT = DUKE_HARTBEAT__STATIC;
+int32_t DUKE_ONWATER = DUKE_ONWATER__STATIC;
+int32_t DUKE_DEAD = DUKE_DEAD__STATIC;
+int32_t DUKE_LAND = DUKE_LAND__STATIC;
+int32_t DUKE_WALKINDUCTS = DUKE_WALKINDUCTS__STATIC;
+int32_t DUKE_GLAD = DUKE_GLAD__STATIC;
+int32_t DUKE_YES = DUKE_YES__STATIC;
+int32_t DUKE_HEHE = DUKE_HEHE__STATIC;
+int32_t DUKE_SHUCKS = DUKE_SHUCKS__STATIC;
+int32_t DUKE_UNDERWATER = DUKE_UNDERWATER__STATIC;
+int32_t DUKE_JETPACK_ON = DUKE_JETPACK_ON__STATIC;
+int32_t DUKE_JETPACK_IDLE = DUKE_JETPACK_IDLE__STATIC;
+int32_t DUKE_JETPACK_OFF = DUKE_JETPACK_OFF__STATIC;
+int32_t LIZTROOP_GROWL = LIZTROOP_GROWL__STATIC;
+int32_t LIZTROOP_TALK1 = LIZTROOP_TALK1__STATIC;
+int32_t LIZTROOP_TALK2 = LIZTROOP_TALK2__STATIC;
+int32_t LIZTROOP_TALK3 = LIZTROOP_TALK3__STATIC;
+int32_t DUKETALKTOBOSS = DUKETALKTOBOSS__STATIC;
+int32_t LIZCAPT_GROWL = LIZCAPT_GROWL__STATIC;
+int32_t LIZCAPT_TALK1 = LIZCAPT_TALK1__STATIC;
+int32_t LIZCAPT_TALK2 = LIZCAPT_TALK2__STATIC;
+int32_t LIZCAPT_TALK3 = LIZCAPT_TALK3__STATIC;
+int32_t LIZARD_BEG = LIZARD_BEG__STATIC;
+int32_t LIZARD_PAIN = LIZARD_PAIN__STATIC;
+int32_t LIZARD_DEATH = LIZARD_DEATH__STATIC;
+int32_t LIZARD_SPIT = LIZARD_SPIT__STATIC;
+int32_t DRONE1_HISSRATTLE = DRONE1_HISSRATTLE__STATIC;
+int32_t DRONE1_HISSSCREECH = DRONE1_HISSSCREECH__STATIC;
+int32_t DUKE_TIP2 = DUKE_TIP2__STATIC;
+int32_t FLESH_BURNING = FLESH_BURNING__STATIC;
+int32_t SQUISHED = SQUISHED__STATIC;
+int32_t TELEPORTER = TELEPORTER__STATIC;
+int32_t ELEVATOR_ON = ELEVATOR_ON__STATIC;
+int32_t DUKE_KILLED3 = DUKE_KILLED3__STATIC;
+int32_t ELEVATOR_OFF = ELEVATOR_OFF__STATIC;
+int32_t DOOR_OPERATE1 = DOOR_OPERATE1__STATIC;
+int32_t SUBWAY = SUBWAY__STATIC;
+int32_t SWITCH_ON = SWITCH_ON__STATIC;
+int32_t FAN = FAN__STATIC;
+int32_t DUKE_GETWEAPON3 = DUKE_GETWEAPON3__STATIC;
+int32_t FLUSH_TOILET = FLUSH_TOILET__STATIC;
+int32_t HOVER_CRAFT = HOVER_CRAFT__STATIC;
+int32_t EARTHQUAKE = EARTHQUAKE__STATIC;
+int32_t INTRUDER_ALERT = INTRUDER_ALERT__STATIC;
+int32_t END_OF_LEVEL_WARN = END_OF_LEVEL_WARN__STATIC;
+int32_t ENGINE_OPERATING = ENGINE_OPERATING__STATIC;
+int32_t REACTOR_ON = REACTOR_ON__STATIC;
+int32_t COMPUTER_AMBIENCE = COMPUTER_AMBIENCE__STATIC;
+int32_t GEARS_GRINDING = GEARS_GRINDING__STATIC;
+int32_t BUBBLE_AMBIENCE = BUBBLE_AMBIENCE__STATIC;
+int32_t MACHINE_AMBIENCE = MACHINE_AMBIENCE__STATIC;
+int32_t SEWER_AMBIENCE = SEWER_AMBIENCE__STATIC;
+int32_t WIND_AMBIENCE = WIND_AMBIENCE__STATIC;
+int32_t SOMETHING_DRIPPING = SOMETHING_DRIPPING__STATIC;
+int32_t STEAM_HISSING = STEAM_HISSING__STATIC;
+int32_t THEATER_BREATH = THEATER_BREATH__STATIC;
+int32_t BAR_MUSIC = BAR_MUSIC__STATIC;
+int32_t BOS1_ROAM = BOS1_ROAM__STATIC;
+int32_t BOS1_RECOG = BOS1_RECOG__STATIC;
+int32_t BOS1_ATTACK1 = BOS1_ATTACK1__STATIC;
+int32_t BOS1_PAIN = BOS1_PAIN__STATIC;
+int32_t BOS1_DYING = BOS1_DYING__STATIC;
+int32_t BOS2_ROAM = BOS2_ROAM__STATIC;
+int32_t BOS2_RECOG = BOS2_RECOG__STATIC;
+int32_t BOS2_ATTACK = BOS2_ATTACK__STATIC;
+int32_t BOS2_PAIN = BOS2_PAIN__STATIC;
+int32_t BOS2_DYING = BOS2_DYING__STATIC;
+int32_t GETATOMICHEALTH = GETATOMICHEALTH__STATIC;
+int32_t DUKE_GETWEAPON2 = DUKE_GETWEAPON2__STATIC;
+int32_t BOS3_DYING = BOS3_DYING__STATIC;
+int32_t SHOTGUN_FIRE = SHOTGUN_FIRE__STATIC;
+int32_t PRED_ROAM = PRED_ROAM__STATIC;
+int32_t PRED_RECOG = PRED_RECOG__STATIC;
+int32_t PRED_ATTACK = PRED_ATTACK__STATIC;
+int32_t PRED_PAIN = PRED_PAIN__STATIC;
+int32_t PRED_DYING = PRED_DYING__STATIC;
+int32_t CAPT_ROAM = CAPT_ROAM__STATIC;
+int32_t CAPT_ATTACK = CAPT_ATTACK__STATIC;
+int32_t CAPT_RECOG = CAPT_RECOG__STATIC;
+int32_t CAPT_PAIN = CAPT_PAIN__STATIC;
+int32_t CAPT_DYING = CAPT_DYING__STATIC;
+int32_t PIG_ROAM = PIG_ROAM__STATIC;
+int32_t PIG_RECOG = PIG_RECOG__STATIC;
+int32_t PIG_ATTACK = PIG_ATTACK__STATIC;
+int32_t PIG_PAIN = PIG_PAIN__STATIC;
+int32_t PIG_DYING = PIG_DYING__STATIC;
+int32_t RECO_ROAM = RECO_ROAM__STATIC;
+int32_t RECO_RECOG = RECO_RECOG__STATIC;
+int32_t RECO_ATTACK = RECO_ATTACK__STATIC;
+int32_t RECO_PAIN = RECO_PAIN__STATIC;
+int32_t RECO_DYING = RECO_DYING__STATIC;
+int32_t DRON_ROAM = DRON_ROAM__STATIC;
+int32_t DRON_RECOG = DRON_RECOG__STATIC;
+int32_t DRON_ATTACK1 = DRON_ATTACK1__STATIC;
+int32_t DRON_PAIN = DRON_PAIN__STATIC;
+int32_t DRON_DYING = DRON_DYING__STATIC;
+int32_t COMM_ROAM = COMM_ROAM__STATIC;
+int32_t COMM_RECOG = COMM_RECOG__STATIC;
+int32_t COMM_ATTACK = COMM_ATTACK__STATIC;
+int32_t COMM_PAIN = COMM_PAIN__STATIC;
+int32_t COMM_DYING = COMM_DYING__STATIC;
+int32_t OCTA_ROAM = OCTA_ROAM__STATIC;
+int32_t OCTA_RECOG = OCTA_RECOG__STATIC;
+int32_t OCTA_ATTACK1 = OCTA_ATTACK1__STATIC;
+int32_t OCTA_PAIN = OCTA_PAIN__STATIC;
+int32_t OCTA_DYING = OCTA_DYING__STATIC;
+int32_t TURR_ROAM = TURR_ROAM__STATIC;
+int32_t TURR_RECOG = TURR_RECOG__STATIC;
+int32_t TURR_ATTACK = TURR_ATTACK__STATIC;
+int32_t DUMPSTER_MOVE = DUMPSTER_MOVE__STATIC;
+int32_t SLIM_DYING = SLIM_DYING__STATIC;
+int32_t BOS3_ROAM = BOS3_ROAM__STATIC;
+int32_t BOS3_RECOG = BOS3_RECOG__STATIC;
+int32_t BOS3_ATTACK1 = BOS3_ATTACK1__STATIC;
+int32_t BOS3_PAIN = BOS3_PAIN__STATIC;
+int32_t BOS1_ATTACK2 = BOS1_ATTACK2__STATIC;
+int32_t COMM_SPIN = COMM_SPIN__STATIC;
+int32_t BOS1_WALK = BOS1_WALK__STATIC;
+int32_t DRON_ATTACK2 = DRON_ATTACK2__STATIC;
+int32_t THUD = THUD__STATIC;
+int32_t OCTA_ATTACK2 = OCTA_ATTACK2__STATIC;
+int32_t WIERDSHOT_FLY = WIERDSHOT_FLY__STATIC;
+int32_t TURR_PAIN = TURR_PAIN__STATIC;
+int32_t TURR_DYING = TURR_DYING__STATIC;
+int32_t SLIM_ROAM = SLIM_ROAM__STATIC;
+int32_t LADY_SCREAM = LADY_SCREAM__STATIC;
+int32_t DOOR_OPERATE2 = DOOR_OPERATE2__STATIC;
+int32_t DOOR_OPERATE3 = DOOR_OPERATE3__STATIC;
+int32_t DOOR_OPERATE4 = DOOR_OPERATE4__STATIC;
+int32_t BORNTOBEWILDSND = BORNTOBEWILDSND__STATIC;
+int32_t SHOTGUN_COCK = SHOTGUN_COCK__STATIC;
+int32_t GENERIC_AMBIENCE1 = GENERIC_AMBIENCE1__STATIC;
+int32_t GENERIC_AMBIENCE2 = GENERIC_AMBIENCE2__STATIC;
+int32_t GENERIC_AMBIENCE3 = GENERIC_AMBIENCE3__STATIC;
+int32_t GENERIC_AMBIENCE4 = GENERIC_AMBIENCE4__STATIC;
+int32_t GENERIC_AMBIENCE5 = GENERIC_AMBIENCE5__STATIC;
+int32_t GENERIC_AMBIENCE6 = GENERIC_AMBIENCE6__STATIC;
+int32_t BOS3_ATTACK2 = BOS3_ATTACK2__STATIC;
+int32_t GENERIC_AMBIENCE17 = GENERIC_AMBIENCE17__STATIC;
+int32_t GENERIC_AMBIENCE18 = GENERIC_AMBIENCE18__STATIC;
+int32_t GENERIC_AMBIENCE19 = GENERIC_AMBIENCE19__STATIC;
+int32_t GENERIC_AMBIENCE20 = GENERIC_AMBIENCE20__STATIC;
+int32_t GENERIC_AMBIENCE21 = GENERIC_AMBIENCE21__STATIC;
+int32_t GENERIC_AMBIENCE22 = GENERIC_AMBIENCE22__STATIC;
+int32_t SECRETLEVELSND = SECRETLEVELSND__STATIC;
+int32_t GENERIC_AMBIENCE8 = GENERIC_AMBIENCE8__STATIC;
+int32_t GENERIC_AMBIENCE9 = GENERIC_AMBIENCE9__STATIC;
+int32_t GENERIC_AMBIENCE10 = GENERIC_AMBIENCE10__STATIC;
+int32_t GENERIC_AMBIENCE11 = GENERIC_AMBIENCE11__STATIC;
+int32_t GENERIC_AMBIENCE12 = GENERIC_AMBIENCE12__STATIC;
+int32_t GENERIC_AMBIENCE13 = GENERIC_AMBIENCE13__STATIC;
+int32_t GENERIC_AMBIENCE14 = GENERIC_AMBIENCE14__STATIC;
+int32_t GENERIC_AMBIENCE15 = GENERIC_AMBIENCE15__STATIC;
+int32_t GENERIC_AMBIENCE16 = GENERIC_AMBIENCE16__STATIC;
+int32_t FIRE_CRACKLE = FIRE_CRACKLE__STATIC;
+int32_t BONUS_SPEECH1 = BONUS_SPEECH1__STATIC;
+int32_t BONUS_SPEECH2 = BONUS_SPEECH2__STATIC;
+int32_t BONUS_SPEECH3 = BONUS_SPEECH3__STATIC;
+int32_t PIG_CAPTURE_DUKE = PIG_CAPTURE_DUKE__STATIC;
+int32_t BONUS_SPEECH4 = BONUS_SPEECH4__STATIC;
+int32_t DUKE_LAND_HURT = DUKE_LAND_HURT__STATIC;
+int32_t DUKE_HIT_STRIPPER1 = DUKE_HIT_STRIPPER1__STATIC;
+int32_t DUKE_TIP1 = DUKE_TIP1__STATIC;
+int32_t DUKE_KILLED2 = DUKE_KILLED2__STATIC;
+int32_t PRED_ROAM2 = PRED_ROAM2__STATIC;
+int32_t PIG_ROAM2 = PIG_ROAM2__STATIC;
+int32_t DUKE_GETWEAPON1 = DUKE_GETWEAPON1__STATIC;
+int32_t DUKE_SEARCH2 = DUKE_SEARCH2__STATIC;
+int32_t DUKE_CRACK2 = DUKE_CRACK2__STATIC;
+int32_t DUKE_SEARCH = DUKE_SEARCH__STATIC;
+int32_t DUKE_GET = DUKE_GET__STATIC;
+int32_t DUKE_LONGTERM_PAIN = DUKE_LONGTERM_PAIN__STATIC;
+int32_t MONITOR_ACTIVE = MONITOR_ACTIVE__STATIC;
+int32_t NITEVISION_ONOFF = NITEVISION_ONOFF__STATIC;
+int32_t DUKE_HIT_STRIPPER2 = DUKE_HIT_STRIPPER2__STATIC;
+int32_t DUKE_CRACK_FIRST = DUKE_CRACK_FIRST__STATIC;
+int32_t DUKE_USEMEDKIT = DUKE_USEMEDKIT__STATIC;
+int32_t DUKE_TAKEPILLS = DUKE_TAKEPILLS__STATIC;
+int32_t DUKE_PISSRELIEF = DUKE_PISSRELIEF__STATIC;
+int32_t SELECT_WEAPON = SELECT_WEAPON__STATIC;
+int32_t WATER_GURGLE = WATER_GURGLE__STATIC;
+int32_t DUKE_GETWEAPON4 = DUKE_GETWEAPON4__STATIC;
+int32_t JIBBED_ACTOR1 = JIBBED_ACTOR1__STATIC;
+int32_t JIBBED_ACTOR2 = JIBBED_ACTOR2__STATIC;
+int32_t JIBBED_ACTOR3 = JIBBED_ACTOR3__STATIC;
+int32_t JIBBED_ACTOR4 = JIBBED_ACTOR4__STATIC;
+int32_t JIBBED_ACTOR5 = JIBBED_ACTOR5__STATIC;
+int32_t JIBBED_ACTOR6 = JIBBED_ACTOR6__STATIC;
+int32_t JIBBED_ACTOR7 = JIBBED_ACTOR7__STATIC;
+int32_t DUKE_GOTHEALTHATLOW = DUKE_GOTHEALTHATLOW__STATIC;
+int32_t BOSSTALKTODUKE = BOSSTALKTODUKE__STATIC;
+int32_t WAR_AMBIENCE1 = WAR_AMBIENCE1__STATIC;
+int32_t WAR_AMBIENCE2 = WAR_AMBIENCE2__STATIC;
+int32_t WAR_AMBIENCE3 = WAR_AMBIENCE3__STATIC;
+int32_t WAR_AMBIENCE4 = WAR_AMBIENCE4__STATIC;
+int32_t WAR_AMBIENCE5 = WAR_AMBIENCE5__STATIC;
+int32_t WAR_AMBIENCE6 = WAR_AMBIENCE6__STATIC;
+int32_t WAR_AMBIENCE7 = WAR_AMBIENCE7__STATIC;
+int32_t WAR_AMBIENCE8 = WAR_AMBIENCE8__STATIC;
+int32_t WAR_AMBIENCE9 = WAR_AMBIENCE9__STATIC;
+int32_t WAR_AMBIENCE10 = WAR_AMBIENCE10__STATIC;
+int32_t ALIEN_TALK1 = ALIEN_TALK1__STATIC;
+int32_t ALIEN_TALK2 = ALIEN_TALK2__STATIC;
+int32_t EXITMENUSOUND = EXITMENUSOUND__STATIC;
+int32_t FLY_BY = FLY_BY__STATIC;
+int32_t DUKE_SCREAM = DUKE_SCREAM__STATIC;
+int32_t SHRINKER_HIT = SHRINKER_HIT__STATIC;
+int32_t RATTY = RATTY__STATIC;
+int32_t INTO_MENU = INTO_MENU__STATIC;
+int32_t BONUSMUSIC = BONUSMUSIC__STATIC;
+int32_t DUKE_BOOBY = DUKE_BOOBY__STATIC;
+int32_t DUKE_TALKTOBOSSFALL = DUKE_TALKTOBOSSFALL__STATIC;
+int32_t DUKE_LOOKINTOMIRROR = DUKE_LOOKINTOMIRROR__STATIC;
+int32_t PIG_ROAM3 = PIG_ROAM3__STATIC;
+int32_t KILLME = KILLME__STATIC;
+int32_t DRON_JETSND = DRON_JETSND__STATIC;
+int32_t SPACE_DOOR1 = SPACE_DOOR1__STATIC;
+int32_t SPACE_DOOR2 = SPACE_DOOR2__STATIC;
+int32_t SPACE_DOOR3 = SPACE_DOOR3__STATIC;
+int32_t SPACE_DOOR4 = SPACE_DOOR4__STATIC;
+int32_t SPACE_DOOR5 = SPACE_DOOR5__STATIC;
+int32_t ALIEN_ELEVATOR1 = ALIEN_ELEVATOR1__STATIC;
+int32_t VAULT_DOOR = VAULT_DOOR__STATIC;
+int32_t JIBBED_ACTOR13 = JIBBED_ACTOR13__STATIC;
+int32_t DUKE_GETWEAPON6 = DUKE_GETWEAPON6__STATIC;
+int32_t JIBBED_ACTOR8 = JIBBED_ACTOR8__STATIC;
+int32_t JIBBED_ACTOR9 = JIBBED_ACTOR9__STATIC;
+int32_t JIBBED_ACTOR10 = JIBBED_ACTOR10__STATIC;
+int32_t JIBBED_ACTOR11 = JIBBED_ACTOR11__STATIC;
+int32_t JIBBED_ACTOR12 = JIBBED_ACTOR12__STATIC;
+int32_t DUKE_KILLED4 = DUKE_KILLED4__STATIC;
+int32_t DUKE_KILLED5 = DUKE_KILLED5__STATIC;
+int32_t ALIEN_SWITCH1 = ALIEN_SWITCH1__STATIC;
+int32_t DUKE_STEPONFECES = DUKE_STEPONFECES__STATIC;
+int32_t DUKE_LONGTERM_PAIN2 = DUKE_LONGTERM_PAIN2__STATIC;
+int32_t DUKE_LONGTERM_PAIN3 = DUKE_LONGTERM_PAIN3__STATIC;
+int32_t DUKE_LONGTERM_PAIN4 = DUKE_LONGTERM_PAIN4__STATIC;
+int32_t COMPANB2 = COMPANB2__STATIC;
+int32_t KTIT = KTIT__STATIC;
+int32_t HELICOP_IDLE = HELICOP_IDLE__STATIC;
+int32_t STEPNIT = STEPNIT__STATIC;
+int32_t SPACE_AMBIENCE1 = SPACE_AMBIENCE1__STATIC;
+int32_t SPACE_AMBIENCE2 = SPACE_AMBIENCE2__STATIC;
+int32_t SLIM_HATCH = SLIM_HATCH__STATIC;
+int32_t RIPHEADNECK = RIPHEADNECK__STATIC;
+int32_t FOUNDJONES = FOUNDJONES__STATIC;
+int32_t ALIEN_DOOR1 = ALIEN_DOOR1__STATIC;
+int32_t ALIEN_DOOR2 = ALIEN_DOOR2__STATIC;
+int32_t ENDSEQVOL3SND4 = ENDSEQVOL3SND4__STATIC;
+int32_t ENDSEQVOL3SND5 = ENDSEQVOL3SND5__STATIC;
+int32_t ENDSEQVOL3SND6 = ENDSEQVOL3SND6__STATIC;
+int32_t ENDSEQVOL3SND7 = ENDSEQVOL3SND7__STATIC;
+int32_t ENDSEQVOL3SND8 = ENDSEQVOL3SND8__STATIC;
+int32_t ENDSEQVOL3SND9 = ENDSEQVOL3SND9__STATIC;
+int32_t WHIPYOURASS = WHIPYOURASS__STATIC;
+int32_t ENDSEQVOL2SND1 = ENDSEQVOL2SND1__STATIC;
+int32_t ENDSEQVOL2SND2 = ENDSEQVOL2SND2__STATIC;
+int32_t ENDSEQVOL2SND3 = ENDSEQVOL2SND3__STATIC;
+int32_t ENDSEQVOL2SND4 = ENDSEQVOL2SND4__STATIC;
+int32_t ENDSEQVOL2SND5 = ENDSEQVOL2SND5__STATIC;
+int32_t ENDSEQVOL2SND6 = ENDSEQVOL2SND6__STATIC;
+int32_t ENDSEQVOL2SND7 = ENDSEQVOL2SND7__STATIC;
+int32_t GENERIC_AMBIENCE23 = GENERIC_AMBIENCE23__STATIC;
+int32_t SOMETHINGFROZE = SOMETHINGFROZE__STATIC;
+int32_t DUKE_LONGTERM_PAIN5 = DUKE_LONGTERM_PAIN5__STATIC;
+int32_t DUKE_LONGTERM_PAIN6 = DUKE_LONGTERM_PAIN6__STATIC;
+int32_t DUKE_LONGTERM_PAIN7 = DUKE_LONGTERM_PAIN7__STATIC;
+int32_t DUKE_LONGTERM_PAIN8 = DUKE_LONGTERM_PAIN8__STATIC;
+int32_t WIND_REPEAT = WIND_REPEAT__STATIC;
+int32_t MYENEMY_ROAM = MYENEMY_ROAM__STATIC;
+int32_t MYENEMY_HURT = MYENEMY_HURT__STATIC;
+int32_t MYENEMY_DEAD = MYENEMY_DEAD__STATIC;
+int32_t MYENEMY_SHOOT = MYENEMY_SHOOT__STATIC;
+int32_t STORE_MUSIC = STORE_MUSIC__STATIC;
+int32_t STORE_MUSIC_BROKE = STORE_MUSIC_BROKE__STATIC;
+int32_t ACTOR_GROWING = ACTOR_GROWING__STATIC;
+int32_t NEWBEAST_ROAM = NEWBEAST_ROAM__STATIC;
+int32_t NEWBEAST_RECOG = NEWBEAST_RECOG__STATIC;
+int32_t NEWBEAST_ATTACK = NEWBEAST_ATTACK__STATIC;
+int32_t NEWBEAST_PAIN = NEWBEAST_PAIN__STATIC;
+int32_t NEWBEAST_DYING = NEWBEAST_DYING__STATIC;
+int32_t NEWBEAST_SPIT = NEWBEAST_SPIT__STATIC;
+int32_t VOL4_1 = VOL4_1__STATIC;
+int32_t SUPERMARKET = SUPERMARKET__STATIC;
+int32_t MOUSEANNOY = MOUSEANNOY__STATIC;
+int32_t BOOKEM = BOOKEM__STATIC;
+int32_t SUPERMARKETCRY = SUPERMARKETCRY__STATIC;
+int32_t DESTRUCT = DESTRUCT__STATIC;
+int32_t EATFOOD = EATFOOD__STATIC;
+int32_t MAKEMYDAY = MAKEMYDAY__STATIC;
+int32_t WITNESSSTAND = WITNESSSTAND__STATIC;
+int32_t VACATIONSPEECH = VACATIONSPEECH__STATIC;
+int32_t YIPPEE1 = YIPPEE1__STATIC;
+int32_t YOHOO1 = YOHOO1__STATIC;
+int32_t YOHOO2 = YOHOO2__STATIC;
+int32_t DOLPHINSND = DOLPHINSND__STATIC;
+int32_t TOUGHGALSND1 = TOUGHGALSND1__STATIC;
+int32_t TOUGHGALSND2 = TOUGHGALSND2__STATIC;
+int32_t TOUGHGALSND3 = TOUGHGALSND3__STATIC;
+int32_t TOUGHGALSND4 = TOUGHGALSND4__STATIC;
+int32_t TANK_ROAM = TANK_ROAM__STATIC;
+int32_t BOS4_ROAM = BOS4_ROAM__STATIC;
+int32_t BOS4_RECOG = BOS4_RECOG__STATIC;
+int32_t BOS4_ATTACK = BOS4_ATTACK__STATIC;
+int32_t BOS4_PAIN = BOS4_PAIN__STATIC;
+int32_t BOS4_DYING = BOS4_DYING__STATIC;
+int32_t NEWBEAST_ATTACKMISS = NEWBEAST_ATTACKMISS__STATIC;
+int32_t VOL4_2 = VOL4_2__STATIC;
+int32_t COOKINGDEEPFRIER = COOKINGDEEPFRIER__STATIC;
+int32_t WHINING_DOG = WHINING_DOG__STATIC;
+int32_t DEAD_DOG = DEAD_DOG__STATIC;
+int32_t LIGHTNING_SLAP = LIGHTNING_SLAP__STATIC;
+int32_t THUNDER = THUNDER__STATIC;
+int32_t HAPPYMOUSESND1 = HAPPYMOUSESND1__STATIC;
+int32_t HAPPYMOUSESND2 = HAPPYMOUSESND2__STATIC;
+int32_t HAPPYMOUSESND3 = HAPPYMOUSESND3__STATIC;
+int32_t HAPPYMOUSESND4 = HAPPYMOUSESND4__STATIC;
+int32_t ALARM = ALARM__STATIC;
+int32_t RAIN = RAIN__STATIC;
+int32_t DTAG_GREENRUN = DTAG_GREENRUN__STATIC;
+int32_t DTAG_BROWNRUN = DTAG_BROWNRUN__STATIC;
+int32_t DTAG_GREENSCORE = DTAG_GREENSCORE__STATIC;
+int32_t DTAG_BROWNSCORE = DTAG_BROWNSCORE__STATIC;
+int32_t INTRO4_1 = INTRO4_1__STATIC;
+int32_t INTRO4_2 = INTRO4_2__STATIC;
+int32_t INTRO4_3 = INTRO4_3__STATIC;
+int32_t INTRO4_4 = INTRO4_4__STATIC;
+int32_t INTRO4_5 = INTRO4_5__STATIC;
+int32_t INTRO4_6 = INTRO4_6__STATIC;
+int32_t SCREECH = SCREECH__STATIC;
+int32_t BOSS4_DEADSPEECH = BOSS4_DEADSPEECH__STATIC;
+int32_t BOSS4_FIRSTSEE = BOSS4_FIRSTSEE__STATIC;
+int32_t PARTY_SPEECH = PARTY_SPEECH__STATIC;
+int32_t POSTAL_SPEECH = POSTAL_SPEECH__STATIC;
+int32_t TGSPEECH = TGSPEECH__STATIC;
+int32_t DOGROOMSPEECH = DOGROOMSPEECH__STATIC;
+int32_t SMACKED = SMACKED__STATIC;
+int32_t MDEVSPEECH = MDEVSPEECH__STATIC;
+int32_t AREA51SPEECH = AREA51SPEECH__STATIC;
+int32_t JEEPSOUND = JEEPSOUND__STATIC;
+int32_t BIGDOORSLAM = BIGDOORSLAM__STATIC;
+int32_t BOS4_LAY = BOS4_LAY__STATIC;
+int32_t WAVESOUND = WAVESOUND__STATIC;
+int32_t ILLBEBACK = ILLBEBACK__STATIC;
+int32_t VOL4ENDSND1 = VOL4ENDSND1__STATIC;
+int32_t VOL4ENDSND2 = VOL4ENDSND2__STATIC;
+int32_t EXPANDERHIT = EXPANDERHIT__STATIC;
+int32_t SNAKESPEECH = SNAKESPEECH__STATIC;
+int32_t EXPANDERSHOOT = EXPANDERSHOOT__STATIC;
+int32_t GETBACKTOWORK = GETBACKTOWORK__STATIC;
+int32_t JIBBED_ACTOR14 = JIBBED_ACTOR14__STATIC;
+int32_t JIBBED_ACTOR15 = JIBBED_ACTOR15__STATIC;
+int32_t INTRO4_B = INTRO4_B__STATIC;
+int32_t BIGBANG = BIGBANG__STATIC;
+int32_t HORNSND = HORNSND__STATIC;
+int32_t BELLSND = BELLSND__STATIC;
+int32_t GOAWAY = GOAWAY__STATIC;
+int32_t JOKE = JOKE__STATIC;
+
+#if !defined LUNATIC
+static hashtable_t h_names = {512, NULL};
+
+void G_ProcessDynamicSoundMapping(const char *szLabel, int32_t lValue)
+{
+ int32_t i;
+
+ if ((unsigned)lValue >= MAXSOUNDS || !szLabel)
+ return;
+
+ i = hash_find(&h_names,szLabel);
+ if (i>=0)
+ {
+ struct dynitem *di = &g_dynSoundList[i];
+#ifdef DEBUGGINGAIDS
+ if (di->staticval != lValue)
+ OSD_Printf("REMAP %s (%d) --> %d\n", di->str, di->staticval, lValue);
+#endif
+ *di->dynvalptr = lValue;
+ }
+}
+
+void initsoundhashnames(void)
+{
+ int32_t i;
+
+ hash_init(&h_names);
+
+ for (i=0; g_dynSoundList[i].staticval >= 0; i++)
+ hash_add(&h_names, g_dynSoundList[i].str, i, 0);
+}
+
+void freesoundhashnames(void)
+{
+ hash_free(&h_names);
+}
+#endif
+#endif
+
+// This is run after all CON define's have been processed to set up the
+// dynamic->static sound mapping.
+void G_InitDynamicSounds(void)
+{
+ int32_t i;
+
+ Bmemset(DynamicSoundMap, 0, sizeof(DynamicSoundMap));
+
+ for (i=0; g_dynSoundList[i].staticval >= 0; i++)
+#ifdef DYNSOUNDREMAP_ENABLE
+ DynamicSoundMap[*(g_dynSoundList[i].dynvalptr)] = g_dynSoundList[i].staticval;
+#else
+ DynamicSoundMap[g_dynSoundList[i].staticval] = g_dynSoundList[i].staticval;
+#endif
+
+}
diff --git a/polymer/eduke32/source/soundsdyn.h b/polymer/eduke32/source/soundsdyn.h
new file mode 100644
index 000000000..9ed91eaf1
--- /dev/null
+++ b/polymer/eduke32/source/soundsdyn.h
@@ -0,0 +1,846 @@
+//-------------------------------------------------------------------------
+/*
+Copyright (C) 2013 EDuke32 developers and contributors
+
+This file is part of EDuke32.
+
+EDuke32 is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License version 2
+as published by the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+//-------------------------------------------------------------------------
+
+#define DYNSOUNDREMAP_ENABLE
+
+
+#define KICK_HIT__STATIC 0
+#define PISTOL_RICOCHET__STATIC 1
+#define PISTOL_BODYHIT__STATIC 2
+#define PISTOL_FIRE__STATIC 3
+#define EJECT_CLIP__STATIC 4
+#define INSERT_CLIP__STATIC 5
+#define CHAINGUN_FIRE__STATIC 6
+#define RPG_SHOOT__STATIC 7
+#define POOLBALLHIT__STATIC 8
+#define RPG_EXPLODE__STATIC 9
+#define CAT_FIRE__STATIC 10
+#define SHRINKER_FIRE__STATIC 11
+#define ACTOR_SHRINKING__STATIC 12
+#define PIPEBOMB_BOUNCE__STATIC 13
+#define PIPEBOMB_EXPLODE__STATIC 14
+#define LASERTRIP_ONWALL__STATIC 15
+#define LASERTRIP_ARMING__STATIC 16
+#define LASERTRIP_EXPLODE__STATIC 17
+#define VENT_BUST__STATIC 18
+#define GLASS_BREAKING__STATIC 19
+#define GLASS_HEAVYBREAK__STATIC 20
+#define SHORT_CIRCUIT__STATIC 21
+#define ITEM_SPLASH__STATIC 22
+#define DUKE_BREATHING__STATIC 23
+#define DUKE_EXHALING__STATIC 24
+#define DUKE_GASP__STATIC 25
+#define SLIM_RECOG__STATIC 26
+// #define ENDSEQVOL3SND1__STATIC 27
+#define DUKE_URINATE__STATIC 28
+#define ENDSEQVOL3SND2__STATIC 29
+#define ENDSEQVOL3SND3__STATIC 30
+#define DUKE_PASSWIND__STATIC 32
+#define DUKE_CRACK__STATIC 33
+#define SLIM_ATTACK__STATIC 34
+#define SOMETHINGHITFORCE__STATIC 35
+#define DUKE_DRINKING__STATIC 36
+#define DUKE_KILLED1__STATIC 37
+#define DUKE_GRUNT__STATIC 38
+#define DUKE_HARTBEAT__STATIC 39
+#define DUKE_ONWATER__STATIC 40
+#define DUKE_DEAD__STATIC 41
+#define DUKE_LAND__STATIC 42
+#define DUKE_WALKINDUCTS__STATIC 43
+#define DUKE_GLAD__STATIC 44
+#define DUKE_YES__STATIC 45
+#define DUKE_HEHE__STATIC 46
+#define DUKE_SHUCKS__STATIC 47
+#define DUKE_UNDERWATER__STATIC 48
+#define DUKE_JETPACK_ON__STATIC 49
+#define DUKE_JETPACK_IDLE__STATIC 50
+#define DUKE_JETPACK_OFF__STATIC 51
+#define LIZTROOP_GROWL__STATIC 52
+#define LIZTROOP_TALK1__STATIC 53
+#define LIZTROOP_TALK2__STATIC 54
+#define LIZTROOP_TALK3__STATIC 55
+#define DUKETALKTOBOSS__STATIC 56
+#define LIZCAPT_GROWL__STATIC 57
+#define LIZCAPT_TALK1__STATIC 58
+#define LIZCAPT_TALK2__STATIC 59
+#define LIZCAPT_TALK3__STATIC 60
+#define LIZARD_BEG__STATIC 61
+#define LIZARD_PAIN__STATIC 62
+#define LIZARD_DEATH__STATIC 63
+#define LIZARD_SPIT__STATIC 64
+#define DRONE1_HISSRATTLE__STATIC 65
+#define DRONE1_HISSSCREECH__STATIC 66
+#define DUKE_TIP2__STATIC 67
+#define FLESH_BURNING__STATIC 68
+#define SQUISHED__STATIC 69
+#define TELEPORTER__STATIC 70
+#define ELEVATOR_ON__STATIC 71
+#define DUKE_KILLED3__STATIC 72
+#define ELEVATOR_OFF__STATIC 73
+#define DOOR_OPERATE1__STATIC 74
+#define SUBWAY__STATIC 75
+#define SWITCH_ON__STATIC 76
+#define FAN__STATIC 77
+#define DUKE_GETWEAPON3__STATIC 78
+#define FLUSH_TOILET__STATIC 79
+#define HOVER_CRAFT__STATIC 80
+#define EARTHQUAKE__STATIC 81
+#define INTRUDER_ALERT__STATIC 82
+#define END_OF_LEVEL_WARN__STATIC 83
+#define ENGINE_OPERATING__STATIC 84
+#define REACTOR_ON__STATIC 85
+#define COMPUTER_AMBIENCE__STATIC 86
+#define GEARS_GRINDING__STATIC 87
+#define BUBBLE_AMBIENCE__STATIC 88
+#define MACHINE_AMBIENCE__STATIC 89
+#define SEWER_AMBIENCE__STATIC 90
+#define WIND_AMBIENCE__STATIC 91
+#define SOMETHING_DRIPPING__STATIC 92
+#define STEAM_HISSING__STATIC 93
+#define THEATER_BREATH__STATIC 94
+#define BAR_MUSIC__STATIC 95
+#define BOS1_ROAM__STATIC 96
+#define BOS1_RECOG__STATIC 97
+#define BOS1_ATTACK1__STATIC 98
+#define BOS1_PAIN__STATIC 99
+#define BOS1_DYING__STATIC 100
+#define BOS2_ROAM__STATIC 101
+#define BOS2_RECOG__STATIC 102
+#define BOS2_ATTACK__STATIC 103
+#define BOS2_PAIN__STATIC 104
+#define BOS2_DYING__STATIC 105
+#define GETATOMICHEALTH__STATIC 106
+#define DUKE_GETWEAPON2__STATIC 107
+#define BOS3_DYING__STATIC 108
+#define SHOTGUN_FIRE__STATIC 109
+#define PRED_ROAM__STATIC 110
+#define PRED_RECOG__STATIC 111
+#define PRED_ATTACK__STATIC 112
+#define PRED_PAIN__STATIC 113
+#define PRED_DYING__STATIC 114
+#define CAPT_ROAM__STATIC 115
+#define CAPT_ATTACK__STATIC 116
+#define CAPT_RECOG__STATIC 117
+#define CAPT_PAIN__STATIC 118
+#define CAPT_DYING__STATIC 119
+#define PIG_ROAM__STATIC 120
+#define PIG_RECOG__STATIC 121
+#define PIG_ATTACK__STATIC 122
+#define PIG_PAIN__STATIC 123
+#define PIG_DYING__STATIC 124
+#define RECO_ROAM__STATIC 125
+#define RECO_RECOG__STATIC 126
+#define RECO_ATTACK__STATIC 127
+#define RECO_PAIN__STATIC 128
+#define RECO_DYING__STATIC 129
+#define DRON_ROAM__STATIC 130
+#define DRON_RECOG__STATIC 131
+#define DRON_ATTACK1__STATIC 132
+#define DRON_PAIN__STATIC 133
+#define DRON_DYING__STATIC 134
+#define COMM_ROAM__STATIC 135
+#define COMM_RECOG__STATIC 136
+#define COMM_ATTACK__STATIC 137
+#define COMM_PAIN__STATIC 138
+#define COMM_DYING__STATIC 139
+#define OCTA_ROAM__STATIC 140
+#define OCTA_RECOG__STATIC 141
+#define OCTA_ATTACK1__STATIC 142
+#define OCTA_PAIN__STATIC 143
+#define OCTA_DYING__STATIC 144
+#define TURR_ROAM__STATIC 145
+#define TURR_RECOG__STATIC 146
+#define TURR_ATTACK__STATIC 147
+#define DUMPSTER_MOVE__STATIC 148
+#define SLIM_DYING__STATIC 149
+#define BOS3_ROAM__STATIC 150
+#define BOS3_RECOG__STATIC 151
+#define BOS3_ATTACK1__STATIC 152
+#define BOS3_PAIN__STATIC 153
+#define BOS1_ATTACK2__STATIC 154
+#define COMM_SPIN__STATIC 155
+#define BOS1_WALK__STATIC 156
+#define DRON_ATTACK2__STATIC 157
+#define THUD__STATIC 158
+#define OCTA_ATTACK2__STATIC 159
+#define WIERDSHOT_FLY__STATIC 160
+#define TURR_PAIN__STATIC 161
+#define TURR_DYING__STATIC 162
+#define SLIM_ROAM__STATIC 163
+#define LADY_SCREAM__STATIC 164
+#define DOOR_OPERATE2__STATIC 165
+#define DOOR_OPERATE3__STATIC 166
+#define DOOR_OPERATE4__STATIC 167
+#define BORNTOBEWILDSND__STATIC 168
+#define SHOTGUN_COCK__STATIC 169
+#define GENERIC_AMBIENCE1__STATIC 170
+#define GENERIC_AMBIENCE2__STATIC 171
+#define GENERIC_AMBIENCE3__STATIC 172
+#define GENERIC_AMBIENCE4__STATIC 173
+#define GENERIC_AMBIENCE5__STATIC 174
+#define GENERIC_AMBIENCE6__STATIC 175
+#define BOS3_ATTACK2__STATIC 176
+#define GENERIC_AMBIENCE17__STATIC 177
+#define GENERIC_AMBIENCE18__STATIC 178
+#define GENERIC_AMBIENCE19__STATIC 179
+#define GENERIC_AMBIENCE20__STATIC 180
+#define GENERIC_AMBIENCE21__STATIC 181
+#define GENERIC_AMBIENCE22__STATIC 182
+#define SECRETLEVELSND__STATIC 183
+#define GENERIC_AMBIENCE8__STATIC 184
+#define GENERIC_AMBIENCE9__STATIC 185
+#define GENERIC_AMBIENCE10__STATIC 186
+#define GENERIC_AMBIENCE11__STATIC 187
+#define GENERIC_AMBIENCE12__STATIC 188
+#define GENERIC_AMBIENCE13__STATIC 189
+#define GENERIC_AMBIENCE14__STATIC 190
+#define GENERIC_AMBIENCE15__STATIC 192
+#define GENERIC_AMBIENCE16__STATIC 193
+#define FIRE_CRACKLE__STATIC 194
+#define BONUS_SPEECH1__STATIC 195
+#define BONUS_SPEECH2__STATIC 196
+#define BONUS_SPEECH3__STATIC 197
+#define PIG_CAPTURE_DUKE__STATIC 198
+#define BONUS_SPEECH4__STATIC 199
+#define DUKE_LAND_HURT__STATIC 200
+#define DUKE_HIT_STRIPPER1__STATIC 201
+#define DUKE_TIP1__STATIC 202
+#define DUKE_KILLED2__STATIC 203
+#define PRED_ROAM2__STATIC 204
+#define PIG_ROAM2__STATIC 205
+#define DUKE_GETWEAPON1__STATIC 206
+#define DUKE_SEARCH2__STATIC 207
+#define DUKE_CRACK2__STATIC 208
+#define DUKE_SEARCH__STATIC 209
+#define DUKE_GET__STATIC 210
+#define DUKE_LONGTERM_PAIN__STATIC 211
+#define MONITOR_ACTIVE__STATIC 212
+#define NITEVISION_ONOFF__STATIC 213
+#define DUKE_HIT_STRIPPER2__STATIC 214
+#define DUKE_CRACK_FIRST__STATIC 215
+#define DUKE_USEMEDKIT__STATIC 216
+#define DUKE_TAKEPILLS__STATIC 217
+#define DUKE_PISSRELIEF__STATIC 218
+#define SELECT_WEAPON__STATIC 219
+#define WATER_GURGLE__STATIC 220
+#define DUKE_GETWEAPON4__STATIC 221
+#define JIBBED_ACTOR1__STATIC 222
+#define JIBBED_ACTOR2__STATIC 223
+#define JIBBED_ACTOR3__STATIC 224
+#define JIBBED_ACTOR4__STATIC 225
+#define JIBBED_ACTOR5__STATIC 226
+#define JIBBED_ACTOR6__STATIC 227
+#define JIBBED_ACTOR7__STATIC 228
+#define DUKE_GOTHEALTHATLOW__STATIC 229
+#define BOSSTALKTODUKE__STATIC 230
+#define WAR_AMBIENCE1__STATIC 231
+#define WAR_AMBIENCE2__STATIC 232
+#define WAR_AMBIENCE3__STATIC 233
+#define WAR_AMBIENCE4__STATIC 234
+#define WAR_AMBIENCE5__STATIC 235
+#define WAR_AMBIENCE6__STATIC 236
+#define WAR_AMBIENCE7__STATIC 237
+#define WAR_AMBIENCE8__STATIC 238
+#define WAR_AMBIENCE9__STATIC 239
+#define WAR_AMBIENCE10__STATIC 240
+#define ALIEN_TALK1__STATIC 241
+#define ALIEN_TALK2__STATIC 242
+#define EXITMENUSOUND__STATIC 243
+#define FLY_BY__STATIC 244
+#define DUKE_SCREAM__STATIC 245
+#define SHRINKER_HIT__STATIC 246
+#define RATTY__STATIC 247
+#define INTO_MENU__STATIC 248
+#define BONUSMUSIC__STATIC 249
+#define DUKE_BOOBY__STATIC 250
+#define DUKE_TALKTOBOSSFALL__STATIC 251
+#define DUKE_LOOKINTOMIRROR__STATIC 252
+#define PIG_ROAM3__STATIC 253
+#define KILLME__STATIC 254
+#define DRON_JETSND__STATIC 255
+#define SPACE_DOOR1__STATIC 256
+#define SPACE_DOOR2__STATIC 257
+#define SPACE_DOOR3__STATIC 258
+#define SPACE_DOOR4__STATIC 259
+#define SPACE_DOOR5__STATIC 260
+#define ALIEN_ELEVATOR1__STATIC 261
+#define VAULT_DOOR__STATIC 262
+#define JIBBED_ACTOR13__STATIC 263
+#define DUKE_GETWEAPON6__STATIC 264
+#define JIBBED_ACTOR8__STATIC 265
+#define JIBBED_ACTOR9__STATIC 266
+#define JIBBED_ACTOR10__STATIC 267
+#define JIBBED_ACTOR11__STATIC 268
+#define JIBBED_ACTOR12__STATIC 269
+#define DUKE_KILLED4__STATIC 270
+#define DUKE_KILLED5__STATIC 271
+#define ALIEN_SWITCH1__STATIC 272
+#define DUKE_STEPONFECES__STATIC 273
+#define DUKE_LONGTERM_PAIN2__STATIC 274
+#define DUKE_LONGTERM_PAIN3__STATIC 275
+#define DUKE_LONGTERM_PAIN4__STATIC 276
+#define COMPANB2__STATIC 277
+#define KTIT__STATIC 278
+#define HELICOP_IDLE__STATIC 279
+#define STEPNIT__STATIC 280
+#define SPACE_AMBIENCE1__STATIC 281
+#define SPACE_AMBIENCE2__STATIC 282
+#define SLIM_HATCH__STATIC 283
+#define RIPHEADNECK__STATIC 284
+#define FOUNDJONES__STATIC 285
+#define ALIEN_DOOR1__STATIC 286
+#define ALIEN_DOOR2__STATIC 287
+#define ENDSEQVOL3SND4__STATIC 288
+#define ENDSEQVOL3SND5__STATIC 289
+#define ENDSEQVOL3SND6__STATIC 290
+#define ENDSEQVOL3SND7__STATIC 291
+#define ENDSEQVOL3SND8__STATIC 292
+#define ENDSEQVOL3SND9__STATIC 293
+#define WHIPYOURASS__STATIC 294
+#define ENDSEQVOL2SND1__STATIC 295
+#define ENDSEQVOL2SND2__STATIC 296
+#define ENDSEQVOL2SND3__STATIC 297
+#define ENDSEQVOL2SND4__STATIC 298
+#define ENDSEQVOL2SND5__STATIC 299
+#define ENDSEQVOL2SND6__STATIC 300
+#define ENDSEQVOL2SND7__STATIC 301
+#define GENERIC_AMBIENCE23__STATIC 302
+#define SOMETHINGFROZE__STATIC 303
+#define DUKE_LONGTERM_PAIN5__STATIC 304
+#define DUKE_LONGTERM_PAIN6__STATIC 305
+#define DUKE_LONGTERM_PAIN7__STATIC 306
+#define DUKE_LONGTERM_PAIN8__STATIC 307
+#define WIND_REPEAT__STATIC 308
+#define MYENEMY_ROAM__STATIC 309
+#define MYENEMY_HURT__STATIC 310
+#define MYENEMY_DEAD__STATIC 311
+#define MYENEMY_SHOOT__STATIC 312
+#define STORE_MUSIC__STATIC 313
+#define STORE_MUSIC_BROKE__STATIC 314
+#define ACTOR_GROWING__STATIC 315
+#define NEWBEAST_ROAM__STATIC 316
+#define NEWBEAST_RECOG__STATIC 317
+#define NEWBEAST_ATTACK__STATIC 318
+#define NEWBEAST_PAIN__STATIC 319
+#define NEWBEAST_DYING__STATIC 320
+#define NEWBEAST_SPIT__STATIC 321
+#define VOL4_1__STATIC 322
+#define SUPERMARKET__STATIC 323
+#define MOUSEANNOY__STATIC 324
+#define BOOKEM__STATIC 325
+#define SUPERMARKETCRY__STATIC 326
+#define DESTRUCT__STATIC 327
+#define EATFOOD__STATIC 328
+#define MAKEMYDAY__STATIC 329
+#define WITNESSSTAND__STATIC 330
+#define VACATIONSPEECH__STATIC 331
+#define YIPPEE1__STATIC 332
+#define YOHOO1__STATIC 333
+#define YOHOO2__STATIC 334
+#define DOLPHINSND__STATIC 335
+#define TOUGHGALSND1__STATIC 336
+#define TOUGHGALSND2__STATIC 337
+#define TOUGHGALSND3__STATIC 338
+#define TOUGHGALSND4__STATIC 339
+#define TANK_ROAM__STATIC 340
+#define BOS4_ROAM__STATIC 341
+#define BOS4_RECOG__STATIC 342
+#define BOS4_ATTACK__STATIC 343
+#define BOS4_PAIN__STATIC 344
+#define BOS4_DYING__STATIC 345
+#define NEWBEAST_ATTACKMISS__STATIC 346
+#define VOL4_2__STATIC 347
+#define COOKINGDEEPFRIER__STATIC 348
+#define WHINING_DOG__STATIC 349
+#define DEAD_DOG__STATIC 350
+#define LIGHTNING_SLAP__STATIC 351
+#define THUNDER__STATIC 352
+#define HAPPYMOUSESND1__STATIC 353
+#define HAPPYMOUSESND2__STATIC 354
+#define HAPPYMOUSESND3__STATIC 355
+#define HAPPYMOUSESND4__STATIC 356
+#define ALARM__STATIC 357
+#define RAIN__STATIC 358
+#define DTAG_GREENRUN__STATIC 359
+#define DTAG_BROWNRUN__STATIC 360
+#define DTAG_GREENSCORE__STATIC 361
+#define DTAG_BROWNSCORE__STATIC 362
+#define INTRO4_1__STATIC 363
+#define INTRO4_2__STATIC 364
+#define INTRO4_3__STATIC 365
+#define INTRO4_4__STATIC 366
+#define INTRO4_5__STATIC 367
+#define INTRO4_6__STATIC 368
+#define SCREECH__STATIC 369
+#define BOSS4_DEADSPEECH__STATIC 370
+#define BOSS4_FIRSTSEE__STATIC 371
+#define PARTY_SPEECH__STATIC 372
+#define POSTAL_SPEECH__STATIC 373
+#define TGSPEECH__STATIC 374
+#define DOGROOMSPEECH__STATIC 375
+#define SMACKED__STATIC 376
+#define MDEVSPEECH__STATIC 377
+#define AREA51SPEECH__STATIC 378
+#define JEEPSOUND__STATIC 379
+#define BIGDOORSLAM__STATIC 380
+#define BOS4_LAY__STATIC 381
+#define WAVESOUND__STATIC 382
+#define ILLBEBACK__STATIC 383
+#define VOL4ENDSND1__STATIC 384
+#define VOL4ENDSND2__STATIC 385
+#define EXPANDERHIT__STATIC 386
+#define SNAKESPEECH__STATIC 387
+#define EXPANDERSHOOT__STATIC 388
+#define GETBACKTOWORK__STATIC 389
+#define JIBBED_ACTOR14__STATIC 390
+#define JIBBED_ACTOR15__STATIC 391
+#define INTRO4_B__STATIC 392
+#define BIGBANG__STATIC 393
+#define HORNSND__STATIC 394
+#define BELLSND__STATIC 395
+#define GOAWAY__STATIC 396
+#define JOKE__STATIC 397
+
+extern int16_t DynamicSoundMap[MAXSOUNDS];
+
+void G_InitDynamicSounds(void);
+
+#ifdef DYNSOUNDREMAP_ENABLE
+
+void G_ProcessDynamicSoundMapping(const char *szLabel, int32_t lValue);
+
+#if !defined LUNATIC
+void initsoundhashnames(void);
+void freesoundhashnames(void);
+#endif
+
+extern int32_t KICK_HIT;
+extern int32_t PISTOL_RICOCHET;
+extern int32_t PISTOL_BODYHIT;
+extern int32_t PISTOL_FIRE;
+extern int32_t EJECT_CLIP;
+extern int32_t INSERT_CLIP;
+extern int32_t CHAINGUN_FIRE;
+extern int32_t RPG_SHOOT;
+extern int32_t POOLBALLHIT;
+extern int32_t RPG_EXPLODE;
+extern int32_t CAT_FIRE;
+extern int32_t SHRINKER_FIRE;
+extern int32_t ACTOR_SHRINKING;
+extern int32_t PIPEBOMB_BOUNCE;
+extern int32_t PIPEBOMB_EXPLODE;
+extern int32_t LASERTRIP_ONWALL;
+extern int32_t LASERTRIP_ARMING;
+extern int32_t LASERTRIP_EXPLODE;
+extern int32_t VENT_BUST;
+extern int32_t GLASS_BREAKING;
+extern int32_t GLASS_HEAVYBREAK;
+extern int32_t SHORT_CIRCUIT;
+extern int32_t ITEM_SPLASH;
+extern int32_t DUKE_BREATHING;
+extern int32_t DUKE_EXHALING;
+extern int32_t DUKE_GASP;
+extern int32_t SLIM_RECOG;
+// extern int32_t ENDSEQVOL3SND1;
+extern int32_t DUKE_URINATE;
+extern int32_t ENDSEQVOL3SND2;
+extern int32_t ENDSEQVOL3SND3;
+extern int32_t DUKE_PASSWIND;
+extern int32_t DUKE_CRACK;
+extern int32_t SLIM_ATTACK;
+extern int32_t SOMETHINGHITFORCE;
+extern int32_t DUKE_DRINKING;
+extern int32_t DUKE_KILLED1;
+extern int32_t DUKE_GRUNT;
+extern int32_t DUKE_HARTBEAT;
+extern int32_t DUKE_ONWATER;
+extern int32_t DUKE_DEAD;
+extern int32_t DUKE_LAND;
+extern int32_t DUKE_WALKINDUCTS;
+extern int32_t DUKE_GLAD;
+extern int32_t DUKE_YES;
+extern int32_t DUKE_HEHE;
+extern int32_t DUKE_SHUCKS;
+extern int32_t DUKE_UNDERWATER;
+extern int32_t DUKE_JETPACK_ON;
+extern int32_t DUKE_JETPACK_IDLE;
+extern int32_t DUKE_JETPACK_OFF;
+extern int32_t LIZTROOP_GROWL;
+extern int32_t LIZTROOP_TALK1;
+extern int32_t LIZTROOP_TALK2;
+extern int32_t LIZTROOP_TALK3;
+extern int32_t DUKETALKTOBOSS;
+extern int32_t LIZCAPT_GROWL;
+extern int32_t LIZCAPT_TALK1;
+extern int32_t LIZCAPT_TALK2;
+extern int32_t LIZCAPT_TALK3;
+extern int32_t LIZARD_BEG;
+extern int32_t LIZARD_PAIN;
+extern int32_t LIZARD_DEATH;
+extern int32_t LIZARD_SPIT;
+extern int32_t DRONE1_HISSRATTLE;
+extern int32_t DRONE1_HISSSCREECH;
+extern int32_t DUKE_TIP2;
+extern int32_t FLESH_BURNING;
+extern int32_t SQUISHED;
+extern int32_t TELEPORTER;
+extern int32_t ELEVATOR_ON;
+extern int32_t DUKE_KILLED3;
+extern int32_t ELEVATOR_OFF;
+extern int32_t DOOR_OPERATE1;
+extern int32_t SUBWAY;
+extern int32_t SWITCH_ON;
+extern int32_t FAN;
+extern int32_t DUKE_GETWEAPON3;
+extern int32_t FLUSH_TOILET;
+extern int32_t HOVER_CRAFT;
+extern int32_t EARTHQUAKE;
+extern int32_t INTRUDER_ALERT;
+extern int32_t END_OF_LEVEL_WARN;
+extern int32_t ENGINE_OPERATING;
+extern int32_t REACTOR_ON;
+extern int32_t COMPUTER_AMBIENCE;
+extern int32_t GEARS_GRINDING;
+extern int32_t BUBBLE_AMBIENCE;
+extern int32_t MACHINE_AMBIENCE;
+extern int32_t SEWER_AMBIENCE;
+extern int32_t WIND_AMBIENCE;
+extern int32_t SOMETHING_DRIPPING;
+extern int32_t STEAM_HISSING;
+extern int32_t THEATER_BREATH;
+extern int32_t BAR_MUSIC;
+extern int32_t BOS1_ROAM;
+extern int32_t BOS1_RECOG;
+extern int32_t BOS1_ATTACK1;
+extern int32_t BOS1_PAIN;
+extern int32_t BOS1_DYING;
+extern int32_t BOS2_ROAM;
+extern int32_t BOS2_RECOG;
+extern int32_t BOS2_ATTACK;
+extern int32_t BOS2_PAIN;
+extern int32_t BOS2_DYING;
+extern int32_t GETATOMICHEALTH;
+extern int32_t DUKE_GETWEAPON2;
+extern int32_t BOS3_DYING;
+extern int32_t SHOTGUN_FIRE;
+extern int32_t PRED_ROAM;
+extern int32_t PRED_RECOG;
+extern int32_t PRED_ATTACK;
+extern int32_t PRED_PAIN;
+extern int32_t PRED_DYING;
+extern int32_t CAPT_ROAM;
+extern int32_t CAPT_ATTACK;
+extern int32_t CAPT_RECOG;
+extern int32_t CAPT_PAIN;
+extern int32_t CAPT_DYING;
+extern int32_t PIG_ROAM;
+extern int32_t PIG_RECOG;
+extern int32_t PIG_ATTACK;
+extern int32_t PIG_PAIN;
+extern int32_t PIG_DYING;
+extern int32_t RECO_ROAM;
+extern int32_t RECO_RECOG;
+extern int32_t RECO_ATTACK;
+extern int32_t RECO_PAIN;
+extern int32_t RECO_DYING;
+extern int32_t DRON_ROAM;
+extern int32_t DRON_RECOG;
+extern int32_t DRON_ATTACK1;
+extern int32_t DRON_PAIN;
+extern int32_t DRON_DYING;
+extern int32_t COMM_ROAM;
+extern int32_t COMM_RECOG;
+extern int32_t COMM_ATTACK;
+extern int32_t COMM_PAIN;
+extern int32_t COMM_DYING;
+extern int32_t OCTA_ROAM;
+extern int32_t OCTA_RECOG;
+extern int32_t OCTA_ATTACK1;
+extern int32_t OCTA_PAIN;
+extern int32_t OCTA_DYING;
+extern int32_t TURR_ROAM;
+extern int32_t TURR_RECOG;
+extern int32_t TURR_ATTACK;
+extern int32_t DUMPSTER_MOVE;
+extern int32_t SLIM_DYING;
+extern int32_t BOS3_ROAM;
+extern int32_t BOS3_RECOG;
+extern int32_t BOS3_ATTACK1;
+extern int32_t BOS3_PAIN;
+extern int32_t BOS1_ATTACK2;
+extern int32_t COMM_SPIN;
+extern int32_t BOS1_WALK;
+extern int32_t DRON_ATTACK2;
+extern int32_t THUD;
+extern int32_t OCTA_ATTACK2;
+extern int32_t WIERDSHOT_FLY;
+extern int32_t TURR_PAIN;
+extern int32_t TURR_DYING;
+extern int32_t SLIM_ROAM;
+extern int32_t LADY_SCREAM;
+extern int32_t DOOR_OPERATE2;
+extern int32_t DOOR_OPERATE3;
+extern int32_t DOOR_OPERATE4;
+extern int32_t BORNTOBEWILDSND;
+extern int32_t SHOTGUN_COCK;
+extern int32_t GENERIC_AMBIENCE1;
+extern int32_t GENERIC_AMBIENCE2;
+extern int32_t GENERIC_AMBIENCE3;
+extern int32_t GENERIC_AMBIENCE4;
+extern int32_t GENERIC_AMBIENCE5;
+extern int32_t GENERIC_AMBIENCE6;
+extern int32_t BOS3_ATTACK2;
+extern int32_t GENERIC_AMBIENCE17;
+extern int32_t GENERIC_AMBIENCE18;
+extern int32_t GENERIC_AMBIENCE19;
+extern int32_t GENERIC_AMBIENCE20;
+extern int32_t GENERIC_AMBIENCE21;
+extern int32_t GENERIC_AMBIENCE22;
+extern int32_t SECRETLEVELSND;
+extern int32_t GENERIC_AMBIENCE8;
+extern int32_t GENERIC_AMBIENCE9;
+extern int32_t GENERIC_AMBIENCE10;
+extern int32_t GENERIC_AMBIENCE11;
+extern int32_t GENERIC_AMBIENCE12;
+extern int32_t GENERIC_AMBIENCE13;
+extern int32_t GENERIC_AMBIENCE14;
+extern int32_t GENERIC_AMBIENCE15;
+extern int32_t GENERIC_AMBIENCE16;
+extern int32_t FIRE_CRACKLE;
+extern int32_t BONUS_SPEECH1;
+extern int32_t BONUS_SPEECH2;
+extern int32_t BONUS_SPEECH3;
+extern int32_t PIG_CAPTURE_DUKE;
+extern int32_t BONUS_SPEECH4;
+extern int32_t DUKE_LAND_HURT;
+extern int32_t DUKE_HIT_STRIPPER1;
+extern int32_t DUKE_TIP1;
+extern int32_t DUKE_KILLED2;
+extern int32_t PRED_ROAM2;
+extern int32_t PIG_ROAM2;
+extern int32_t DUKE_GETWEAPON1;
+extern int32_t DUKE_SEARCH2;
+extern int32_t DUKE_CRACK2;
+extern int32_t DUKE_SEARCH;
+extern int32_t DUKE_GET;
+extern int32_t DUKE_LONGTERM_PAIN;
+extern int32_t MONITOR_ACTIVE;
+extern int32_t NITEVISION_ONOFF;
+extern int32_t DUKE_HIT_STRIPPER2;
+extern int32_t DUKE_CRACK_FIRST;
+extern int32_t DUKE_USEMEDKIT;
+extern int32_t DUKE_TAKEPILLS;
+extern int32_t DUKE_PISSRELIEF;
+extern int32_t SELECT_WEAPON;
+extern int32_t WATER_GURGLE;
+extern int32_t DUKE_GETWEAPON4;
+extern int32_t JIBBED_ACTOR1;
+extern int32_t JIBBED_ACTOR2;
+extern int32_t JIBBED_ACTOR3;
+extern int32_t JIBBED_ACTOR4;
+extern int32_t JIBBED_ACTOR5;
+extern int32_t JIBBED_ACTOR6;
+extern int32_t JIBBED_ACTOR7;
+extern int32_t DUKE_GOTHEALTHATLOW;
+extern int32_t BOSSTALKTODUKE;
+extern int32_t WAR_AMBIENCE1;
+extern int32_t WAR_AMBIENCE2;
+extern int32_t WAR_AMBIENCE3;
+extern int32_t WAR_AMBIENCE4;
+extern int32_t WAR_AMBIENCE5;
+extern int32_t WAR_AMBIENCE6;
+extern int32_t WAR_AMBIENCE7;
+extern int32_t WAR_AMBIENCE8;
+extern int32_t WAR_AMBIENCE9;
+extern int32_t WAR_AMBIENCE10;
+extern int32_t ALIEN_TALK1;
+extern int32_t ALIEN_TALK2;
+extern int32_t EXITMENUSOUND;
+extern int32_t FLY_BY;
+extern int32_t DUKE_SCREAM;
+extern int32_t SHRINKER_HIT;
+extern int32_t RATTY;
+extern int32_t INTO_MENU;
+extern int32_t BONUSMUSIC;
+extern int32_t DUKE_BOOBY;
+extern int32_t DUKE_TALKTOBOSSFALL;
+extern int32_t DUKE_LOOKINTOMIRROR;
+extern int32_t PIG_ROAM3;
+extern int32_t KILLME;
+extern int32_t DRON_JETSND;
+extern int32_t SPACE_DOOR1;
+extern int32_t SPACE_DOOR2;
+extern int32_t SPACE_DOOR3;
+extern int32_t SPACE_DOOR4;
+extern int32_t SPACE_DOOR5;
+extern int32_t ALIEN_ELEVATOR1;
+extern int32_t VAULT_DOOR;
+extern int32_t JIBBED_ACTOR13;
+extern int32_t DUKE_GETWEAPON6;
+extern int32_t JIBBED_ACTOR8;
+extern int32_t JIBBED_ACTOR9;
+extern int32_t JIBBED_ACTOR10;
+extern int32_t JIBBED_ACTOR11;
+extern int32_t JIBBED_ACTOR12;
+extern int32_t DUKE_KILLED4;
+extern int32_t DUKE_KILLED5;
+extern int32_t ALIEN_SWITCH1;
+extern int32_t DUKE_STEPONFECES;
+extern int32_t DUKE_LONGTERM_PAIN2;
+extern int32_t DUKE_LONGTERM_PAIN3;
+extern int32_t DUKE_LONGTERM_PAIN4;
+extern int32_t COMPANB2;
+extern int32_t KTIT;
+extern int32_t HELICOP_IDLE;
+extern int32_t STEPNIT;
+extern int32_t SPACE_AMBIENCE1;
+extern int32_t SPACE_AMBIENCE2;
+extern int32_t SLIM_HATCH;
+extern int32_t RIPHEADNECK;
+extern int32_t FOUNDJONES;
+extern int32_t ALIEN_DOOR1;
+extern int32_t ALIEN_DOOR2;
+extern int32_t ENDSEQVOL3SND4;
+extern int32_t ENDSEQVOL3SND5;
+extern int32_t ENDSEQVOL3SND6;
+extern int32_t ENDSEQVOL3SND7;
+extern int32_t ENDSEQVOL3SND8;
+extern int32_t ENDSEQVOL3SND9;
+extern int32_t WHIPYOURASS;
+extern int32_t ENDSEQVOL2SND1;
+extern int32_t ENDSEQVOL2SND2;
+extern int32_t ENDSEQVOL2SND3;
+extern int32_t ENDSEQVOL2SND4;
+extern int32_t ENDSEQVOL2SND5;
+extern int32_t ENDSEQVOL2SND6;
+extern int32_t ENDSEQVOL2SND7;
+extern int32_t GENERIC_AMBIENCE23;
+extern int32_t SOMETHINGFROZE;
+extern int32_t DUKE_LONGTERM_PAIN5;
+extern int32_t DUKE_LONGTERM_PAIN6;
+extern int32_t DUKE_LONGTERM_PAIN7;
+extern int32_t DUKE_LONGTERM_PAIN8;
+extern int32_t WIND_REPEAT;
+extern int32_t MYENEMY_ROAM;
+extern int32_t MYENEMY_HURT;
+extern int32_t MYENEMY_DEAD;
+extern int32_t MYENEMY_SHOOT;
+extern int32_t STORE_MUSIC;
+extern int32_t STORE_MUSIC_BROKE;
+extern int32_t ACTOR_GROWING;
+extern int32_t NEWBEAST_ROAM;
+extern int32_t NEWBEAST_RECOG;
+extern int32_t NEWBEAST_ATTACK;
+extern int32_t NEWBEAST_PAIN;
+extern int32_t NEWBEAST_DYING;
+extern int32_t NEWBEAST_SPIT;
+extern int32_t VOL4_1;
+extern int32_t SUPERMARKET;
+extern int32_t MOUSEANNOY;
+extern int32_t BOOKEM;
+extern int32_t SUPERMARKETCRY;
+extern int32_t DESTRUCT;
+extern int32_t EATFOOD;
+extern int32_t MAKEMYDAY;
+extern int32_t WITNESSSTAND;
+extern int32_t VACATIONSPEECH;
+extern int32_t YIPPEE1;
+extern int32_t YOHOO1;
+extern int32_t YOHOO2;
+extern int32_t DOLPHINSND;
+extern int32_t TOUGHGALSND1;
+extern int32_t TOUGHGALSND2;
+extern int32_t TOUGHGALSND3;
+extern int32_t TOUGHGALSND4;
+extern int32_t TANK_ROAM;
+extern int32_t BOS4_ROAM;
+extern int32_t BOS4_RECOG;
+extern int32_t BOS4_ATTACK;
+extern int32_t BOS4_PAIN;
+extern int32_t BOS4_DYING;
+extern int32_t NEWBEAST_ATTACKMISS;
+extern int32_t VOL4_2;
+extern int32_t COOKINGDEEPFRIER;
+extern int32_t WHINING_DOG;
+extern int32_t DEAD_DOG;
+extern int32_t LIGHTNING_SLAP;
+extern int32_t THUNDER;
+extern int32_t HAPPYMOUSESND1;
+extern int32_t HAPPYMOUSESND2;
+extern int32_t HAPPYMOUSESND3;
+extern int32_t HAPPYMOUSESND4;
+extern int32_t ALARM;
+extern int32_t RAIN;
+extern int32_t DTAG_GREENRUN;
+extern int32_t DTAG_BROWNRUN;
+extern int32_t DTAG_GREENSCORE;
+extern int32_t DTAG_BROWNSCORE;
+extern int32_t INTRO4_1;
+extern int32_t INTRO4_2;
+extern int32_t INTRO4_3;
+extern int32_t INTRO4_4;
+extern int32_t INTRO4_5;
+extern int32_t INTRO4_6;
+extern int32_t SCREECH;
+extern int32_t BOSS4_DEADSPEECH;
+extern int32_t BOSS4_FIRSTSEE;
+extern int32_t PARTY_SPEECH;
+extern int32_t POSTAL_SPEECH;
+extern int32_t TGSPEECH;
+extern int32_t DOGROOMSPEECH;
+extern int32_t SMACKED;
+extern int32_t MDEVSPEECH;
+extern int32_t AREA51SPEECH;
+extern int32_t JEEPSOUND;
+extern int32_t BIGDOORSLAM;
+extern int32_t BOS4_LAY;
+extern int32_t WAVESOUND;
+extern int32_t ILLBEBACK;
+extern int32_t VOL4ENDSND1;
+extern int32_t VOL4ENDSND2;
+extern int32_t EXPANDERHIT;
+extern int32_t SNAKESPEECH;
+extern int32_t EXPANDERSHOOT;
+extern int32_t GETBACKTOWORK;
+extern int32_t JIBBED_ACTOR14;
+extern int32_t JIBBED_ACTOR15;
+extern int32_t INTRO4_B;
+extern int32_t BIGBANG;
+extern int32_t HORNSND;
+extern int32_t BELLSND;
+extern int32_t GOAWAY;
+extern int32_t JOKE;
+
+#define DYNAMICSOUNDMAP(Soundnum) (DynamicSoundMap[Soundnum])
+
+#else /* if !defined DYNSOUNDREMAP_ENABLE */
+
+#define G_ProcessDynamicSoundMapping(x, y) ((void)(0))
+
+#define initsoundhashnames() ((void)0)
+#define freesoundhashnames() ((void)0)
+
+#include "soundefs.h"
+
+#define DYNAMICSOUNDMAP(Soundnum) (Soundnum)
+
+#endif