From a1332a442d0c8acebe7c127f1a52fb10da580278 Mon Sep 17 00:00:00 2001 From: Blixibon Date: Sun, 14 Mar 2021 13:49:10 -0500 Subject: [PATCH] Added volume scale to env_microphone --- sp/src/game/server/envmicrophone.cpp | 15 ++++++++++++++- sp/src/game/server/envmicrophone.h | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sp/src/game/server/envmicrophone.cpp b/sp/src/game/server/envmicrophone.cpp index ee78f87f..29a59ead 100644 --- a/sp/src/game/server/envmicrophone.cpp +++ b/sp/src/game/server/envmicrophone.cpp @@ -48,6 +48,7 @@ BEGIN_DATADESC( CEnvMicrophone ) DEFINE_KEYFIELD(m_iszLandmarkName, FIELD_STRING, "landmark"), DEFINE_FIELD(m_hLandmark, FIELD_EHANDLE), DEFINE_KEYFIELD(m_flPitchScale, FIELD_FLOAT, "PitchScale"), + DEFINE_KEYFIELD(m_flVolumeScale, FIELD_FLOAT, "VolumeScale"), DEFINE_KEYFIELD(m_nChannel, FIELD_INTEGER, "channel"), #endif // DEFINE_FIELD(m_bAvoidFeedback, FIELD_BOOLEAN), // DONT SAVE @@ -61,6 +62,7 @@ BEGIN_DATADESC( CEnvMicrophone ) #ifdef MAPBASE DEFINE_INPUTFUNC(FIELD_INTEGER, "SetDSPPreset", InputSetDSPPreset), DEFINE_INPUTFUNC( FIELD_FLOAT, "SetPitchScale", InputSetPitchScale ), + DEFINE_INPUTFUNC( FIELD_FLOAT, "SetVolumeScale", InputSetVolumeScale ), DEFINE_INPUTFUNC( FIELD_INTEGER, "SetChannel", InputSetChannel ), #endif @@ -272,6 +274,15 @@ void CEnvMicrophone::InputSetPitchScale( inputdata_t &inputdata ) m_flPitchScale = inputdata.value.Float(); } +//----------------------------------------------------------------------------- +// Purpose: +// Input : &inputdata - +//----------------------------------------------------------------------------- +void CEnvMicrophone::InputSetVolumeScale( inputdata_t &inputdata ) +{ + m_flVolumeScale = inputdata.value.Float(); +} + //----------------------------------------------------------------------------- // Purpose: // Input : &inputdata - @@ -545,11 +556,13 @@ MicrophoneResult_t CEnvMicrophone::SoundPlayed( int entindex, const char *soundn EmitSound_t ep; #ifdef MAPBASE ep.m_nChannel = m_nChannel; + if (m_flVolumeScale != 1.0f) + ep.m_flVolume = (flVolume * m_flVolumeScale); #else ep.m_nChannel = CHAN_STATIC; + ep.m_flVolume = flVolume; #endif ep.m_pSoundName = soundname; - ep.m_flVolume = flVolume; ep.m_SoundLevel = soundlevel; ep.m_nFlags = iFlags; #ifdef MAPBASE diff --git a/sp/src/game/server/envmicrophone.h b/sp/src/game/server/envmicrophone.h index cf8e729e..11527d58 100644 --- a/sp/src/game/server/envmicrophone.h +++ b/sp/src/game/server/envmicrophone.h @@ -57,6 +57,7 @@ public: #ifdef MAPBASE void InputSetDSPPreset( inputdata_t &inputdata ); void InputSetPitchScale( inputdata_t &inputdata ); + void InputSetVolumeScale( inputdata_t &inputdata ); void InputSetChannel( inputdata_t &inputdata ); #endif @@ -88,6 +89,7 @@ private: string_t m_iszLandmarkName; EHANDLE m_hLandmark; float m_flPitchScale = 1.0f; + float m_flVolumeScale = 1.0f; int m_nChannel = CHAN_STATIC; #endif