mirror of
https://github.com/DrBeef/Raze.git
synced 2024-12-02 09:02:35 +00:00
386 lines
18 KiB
C++
386 lines
18 KiB
C++
//-------------------------------------------------------------------------
|
|
/*
|
|
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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
*/
|
|
//-------------------------------------------------------------------------
|
|
#include "ns.h" // Must come before everything else!
|
|
|
|
#include "compat.h"
|
|
#include "build.h"
|
|
|
|
#include "namesdyn.h"
|
|
#include "sounds.h"
|
|
#include "soundsdyn.h"
|
|
#include "global.h"
|
|
|
|
BEGIN_DUKE_NS
|
|
|
|
#ifdef DYNSOUNDREMAP_ENABLE
|
|
# define DVPTR(x) &x
|
|
#else
|
|
# define DVPTR(x) NULL
|
|
#endif
|
|
|
|
int16_t DynamicSoundMap[MAXSOUNDS];
|
|
|
|
struct sdynitem
|
|
{
|
|
const char *str;
|
|
int32_t *dynvalptr;
|
|
const int16_t staticval;
|
|
};
|
|
|
|
static struct sdynitem 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 },
|
|
{ "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_GASP", DVPTR(DUKE_GASP), DUKE_GASP__STATIC },
|
|
{ "SLIM_RECOG", DVPTR(SLIM_RECOG), SLIM_RECOG__STATIC },
|
|
{ "DUKE_URINATE", DVPTR(DUKE_URINATE), DUKE_URINATE__STATIC },
|
|
{ "ENDSEQVOL3SND2", DVPTR(ENDSEQVOL3SND2), ENDSEQVOL3SND2__STATIC },
|
|
{ "ENDSEQVOL3SND3", DVPTR(ENDSEQVOL3SND3), ENDSEQVOL3SND3__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_GRUNT", DVPTR(DUKE_GRUNT), DUKE_GRUNT__STATIC },
|
|
{ "DUKE_HARTBEAT", DVPTR(DUKE_HARTBEAT), DUKE_HARTBEAT__STATIC },
|
|
{ "DUKE_ONWATER", DVPTR(DUKE_ONWATER), DUKE_ONWATER__STATIC },
|
|
{ "DUKE_LAND", DVPTR(DUKE_LAND), DUKE_LAND__STATIC },
|
|
{ "DUKE_WALKINDUCTS", DVPTR(DUKE_WALKINDUCTS), DUKE_WALKINDUCTS__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 },
|
|
{ "DUKETALKTOBOSS", DVPTR(DUKETALKTOBOSS), DUKETALKTOBOSS__STATIC },
|
|
{ "SQUISHED", DVPTR(SQUISHED), SQUISHED__STATIC },
|
|
{ "TELEPORTER", DVPTR(TELEPORTER), TELEPORTER__STATIC },
|
|
{ "ELEVATOR_ON", DVPTR(ELEVATOR_ON), ELEVATOR_ON__STATIC },
|
|
{ "ELEVATOR_OFF", DVPTR(ELEVATOR_OFF), ELEVATOR_OFF__STATIC },
|
|
{ "SUBWAY", DVPTR(SUBWAY), SUBWAY__STATIC },
|
|
{ "SWITCH_ON", DVPTR(SWITCH_ON), SWITCH_ON__STATIC },
|
|
{ "FLUSH_TOILET", DVPTR(FLUSH_TOILET), FLUSH_TOILET__STATIC },
|
|
{ "EARTHQUAKE", DVPTR(EARTHQUAKE), EARTHQUAKE__STATIC },
|
|
{ "END_OF_LEVEL_WARN", DVPTR(END_OF_LEVEL_WARN), END_OF_LEVEL_WARN__STATIC },
|
|
{ "WIND_AMBIENCE", DVPTR(WIND_AMBIENCE), WIND_AMBIENCE__STATIC },
|
|
{ "SOMETHING_DRIPPING", DVPTR(SOMETHING_DRIPPING), SOMETHING_DRIPPING__STATIC },
|
|
{ "BOS1_RECOG", DVPTR(BOS1_RECOG), BOS1_RECOG__STATIC },
|
|
{ "BOS2_RECOG", DVPTR(BOS2_RECOG), BOS2_RECOG__STATIC },
|
|
{ "DUKE_GETWEAPON2", DVPTR(DUKE_GETWEAPON2), DUKE_GETWEAPON2__STATIC },
|
|
{ "SHOTGUN_FIRE", DVPTR(SHOTGUN_FIRE), SHOTGUN_FIRE__STATIC },
|
|
{ "PRED_RECOG", DVPTR(PRED_RECOG), PRED_RECOG__STATIC },
|
|
{ "CAPT_RECOG", DVPTR(CAPT_RECOG), CAPT_RECOG__STATIC },
|
|
{ "PIG_RECOG", DVPTR(PIG_RECOG), PIG_RECOG__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 },
|
|
{ "DRON_RECOG", DVPTR(DRON_RECOG), DRON_RECOG__STATIC },
|
|
{ "COMM_RECOG", DVPTR(COMM_RECOG), COMM_RECOG__STATIC },
|
|
{ "OCTA_RECOG", DVPTR(OCTA_RECOG), OCTA_RECOG__STATIC },
|
|
{ "TURR_RECOG", DVPTR(TURR_RECOG), TURR_RECOG__STATIC },
|
|
{ "SLIM_DYING", DVPTR(SLIM_DYING), SLIM_DYING__STATIC },
|
|
{ "BOS3_RECOG", DVPTR(BOS3_RECOG), BOS3_RECOG__STATIC },
|
|
{ "BOS1_WALK", DVPTR(BOS1_WALK), BOS1_WALK__STATIC },
|
|
{ "THUD", DVPTR(THUD), THUD__STATIC },
|
|
{ "WIERDSHOT_FLY", DVPTR(WIERDSHOT_FLY), WIERDSHOT_FLY__STATIC },
|
|
{ "SLIM_ROAM", DVPTR(SLIM_ROAM), SLIM_ROAM__STATIC },
|
|
{ "SHOTGUN_COCK", DVPTR(SHOTGUN_COCK), SHOTGUN_COCK__STATIC },
|
|
{ "GENERIC_AMBIENCE17", DVPTR(GENERIC_AMBIENCE17), GENERIC_AMBIENCE17__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 },
|
|
{ "BONUS_SPEECH4", DVPTR(BONUS_SPEECH4), BONUS_SPEECH4__STATIC },
|
|
{ "DUKE_LAND_HURT", DVPTR(DUKE_LAND_HURT), DUKE_LAND_HURT__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_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 },
|
|
{ "JIBBED_ACTOR5", DVPTR(JIBBED_ACTOR5), JIBBED_ACTOR5__STATIC },
|
|
{ "JIBBED_ACTOR6", DVPTR(JIBBED_ACTOR6), JIBBED_ACTOR6__STATIC },
|
|
{ "DUKE_GOTHEALTHATLOW", DVPTR(DUKE_GOTHEALTHATLOW), DUKE_GOTHEALTHATLOW__STATIC },
|
|
{ "BOSSTALKTODUKE", DVPTR(BOSSTALKTODUKE), BOSSTALKTODUKE__STATIC },
|
|
{ "WAR_AMBIENCE2", DVPTR(WAR_AMBIENCE2), WAR_AMBIENCE2__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 },
|
|
{ "BONUSMUSIC", DVPTR(BONUSMUSIC), BONUSMUSIC__STATIC },
|
|
{ "DUKE_GETWEAPON6", DVPTR(DUKE_GETWEAPON6), DUKE_GETWEAPON6__STATIC },
|
|
{ "ALIEN_SWITCH1", DVPTR(ALIEN_SWITCH1), ALIEN_SWITCH1__STATIC },
|
|
{ "RIPHEADNECK", DVPTR(RIPHEADNECK), RIPHEADNECK__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 },
|
|
{ "SOMETHINGFROZE", DVPTR(SOMETHINGFROZE), SOMETHINGFROZE__STATIC },
|
|
{ "WIND_REPEAT", DVPTR(WIND_REPEAT), WIND_REPEAT__STATIC },
|
|
{ "BOS4_RECOG", DVPTR(BOS4_RECOG), BOS4_RECOG__STATIC },
|
|
{ "LIGHTNING_SLAP", DVPTR(LIGHTNING_SLAP), LIGHTNING_SLAP__STATIC },
|
|
{ "THUNDER", DVPTR(THUNDER), THUNDER__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 },
|
|
{ "BOSS4_DEADSPEECH", DVPTR(BOSS4_DEADSPEECH), BOSS4_DEADSPEECH__STATIC },
|
|
{ "BOSS4_FIRSTSEE", DVPTR(BOSS4_FIRSTSEE), BOSS4_FIRSTSEE__STATIC },
|
|
{ "VOL4ENDSND1", DVPTR(VOL4ENDSND1), VOL4ENDSND1__STATIC },
|
|
{ "VOL4ENDSND2", DVPTR(VOL4ENDSND2), VOL4ENDSND2__STATIC },
|
|
{ "EXPANDERSHOOT", DVPTR(EXPANDERSHOOT), EXPANDERSHOOT__STATIC },
|
|
{ "INTRO4_B", DVPTR(INTRO4_B), INTRO4_B__STATIC },
|
|
{ "BIGBANG", DVPTR(BIGBANG), BIGBANG__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 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_GASP = DUKE_GASP__STATIC;
|
|
int32_t SLIM_RECOG = SLIM_RECOG__STATIC;
|
|
int32_t DUKE_URINATE = DUKE_URINATE__STATIC;
|
|
int32_t ENDSEQVOL3SND2 = ENDSEQVOL3SND2__STATIC;
|
|
int32_t ENDSEQVOL3SND3 = ENDSEQVOL3SND3__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_GRUNT = DUKE_GRUNT__STATIC;
|
|
int32_t DUKE_HARTBEAT = DUKE_HARTBEAT__STATIC;
|
|
int32_t DUKE_ONWATER = DUKE_ONWATER__STATIC;
|
|
int32_t DUKE_LAND = DUKE_LAND__STATIC;
|
|
int32_t DUKE_WALKINDUCTS = DUKE_WALKINDUCTS__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 DUKETALKTOBOSS = DUKETALKTOBOSS__STATIC;
|
|
int32_t SQUISHED = SQUISHED__STATIC;
|
|
int32_t TELEPORTER = TELEPORTER__STATIC;
|
|
int32_t ELEVATOR_ON = ELEVATOR_ON__STATIC;
|
|
int32_t ELEVATOR_OFF = ELEVATOR_OFF__STATIC;
|
|
int32_t SUBWAY = SUBWAY__STATIC;
|
|
int32_t SWITCH_ON = SWITCH_ON__STATIC;
|
|
int32_t FLUSH_TOILET = FLUSH_TOILET__STATIC;
|
|
int32_t EARTHQUAKE = EARTHQUAKE__STATIC;
|
|
int32_t END_OF_LEVEL_WARN = END_OF_LEVEL_WARN__STATIC;
|
|
int32_t WIND_AMBIENCE = WIND_AMBIENCE__STATIC;
|
|
int32_t SOMETHING_DRIPPING = SOMETHING_DRIPPING__STATIC;
|
|
int32_t BOS1_RECOG = BOS1_RECOG__STATIC;
|
|
int32_t BOS2_RECOG = BOS2_RECOG__STATIC;
|
|
int32_t DUKE_GETWEAPON2 = DUKE_GETWEAPON2__STATIC;
|
|
int32_t SHOTGUN_FIRE = SHOTGUN_FIRE__STATIC;
|
|
int32_t PRED_RECOG = PRED_RECOG__STATIC;
|
|
int32_t CAPT_RECOG = CAPT_RECOG__STATIC;
|
|
int32_t PIG_RECOG = PIG_RECOG__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 DRON_RECOG = DRON_RECOG__STATIC;
|
|
int32_t COMM_RECOG = COMM_RECOG__STATIC;
|
|
int32_t OCTA_RECOG = OCTA_RECOG__STATIC;
|
|
int32_t TURR_RECOG = TURR_RECOG__STATIC;
|
|
int32_t SLIM_DYING = SLIM_DYING__STATIC;
|
|
int32_t BOS3_RECOG = BOS3_RECOG__STATIC;
|
|
int32_t BOS1_WALK = BOS1_WALK__STATIC;
|
|
int32_t THUD = THUD__STATIC;
|
|
int32_t WIERDSHOT_FLY = WIERDSHOT_FLY__STATIC;
|
|
int32_t SLIM_ROAM = SLIM_ROAM__STATIC;
|
|
int32_t SHOTGUN_COCK = SHOTGUN_COCK__STATIC;
|
|
int32_t GENERIC_AMBIENCE17 = GENERIC_AMBIENCE17__STATIC;
|
|
int32_t BONUS_SPEECH1 = BONUS_SPEECH1__STATIC;
|
|
int32_t BONUS_SPEECH2 = BONUS_SPEECH2__STATIC;
|
|
int32_t BONUS_SPEECH3 = BONUS_SPEECH3__STATIC;
|
|
int32_t BONUS_SPEECH4 = BONUS_SPEECH4__STATIC;
|
|
int32_t DUKE_LAND_HURT = DUKE_LAND_HURT__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_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 JIBBED_ACTOR5 = JIBBED_ACTOR5__STATIC;
|
|
int32_t JIBBED_ACTOR6 = JIBBED_ACTOR6__STATIC;
|
|
int32_t DUKE_GOTHEALTHATLOW = DUKE_GOTHEALTHATLOW__STATIC;
|
|
int32_t BOSSTALKTODUKE = BOSSTALKTODUKE__STATIC;
|
|
int32_t WAR_AMBIENCE2 = WAR_AMBIENCE2__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 BONUSMUSIC = BONUSMUSIC__STATIC;
|
|
int32_t DUKE_GETWEAPON6 = DUKE_GETWEAPON6__STATIC;
|
|
int32_t ALIEN_SWITCH1 = ALIEN_SWITCH1__STATIC;
|
|
int32_t RIPHEADNECK = RIPHEADNECK__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 SOMETHINGFROZE = SOMETHINGFROZE__STATIC;
|
|
int32_t WIND_REPEAT = WIND_REPEAT__STATIC;
|
|
int32_t BOS4_RECOG = BOS4_RECOG__STATIC;
|
|
int32_t LIGHTNING_SLAP = LIGHTNING_SLAP__STATIC;
|
|
int32_t THUNDER = THUNDER__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 BOSS4_DEADSPEECH = BOSS4_DEADSPEECH__STATIC;
|
|
int32_t BOSS4_FIRSTSEE = BOSS4_FIRSTSEE__STATIC;
|
|
int32_t VOL4ENDSND1 = VOL4ENDSND1__STATIC;
|
|
int32_t VOL4ENDSND2 = VOL4ENDSND2__STATIC;
|
|
int32_t EXPANDERSHOOT = EXPANDERSHOOT__STATIC;
|
|
int32_t INTRO4_B = INTRO4_B__STATIC;
|
|
int32_t BIGBANG = BIGBANG__STATIC;
|
|
|
|
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 sdynitem *di = &g_dynSoundList[i];
|
|
#ifdef DEBUGGINGAIDS
|
|
if (g_scriptDebug && di->staticval != lValue)
|
|
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
|
|
|
|
// 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
|
|
|
|
}
|
|
END_DUKE_NS
|