diff options
Diffstat (limited to 'mp/src/game/shared/soundenvelope.h')
| -rw-r--r-- | mp/src/game/shared/soundenvelope.h | 182 |
1 files changed, 91 insertions, 91 deletions
diff --git a/mp/src/game/shared/soundenvelope.h b/mp/src/game/shared/soundenvelope.h index dbd2ee0d..5a84b599 100644 --- a/mp/src/game/shared/soundenvelope.h +++ b/mp/src/game/shared/soundenvelope.h @@ -1,91 +1,91 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $Workfile: $
-// $Date: $
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef SOUNDENVELOPE_H
-#define SOUNDENVELOPE_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "engine/IEngineSound.h"
-
-class CSoundPatch;
-
-enum soundcommands_t
-{
- SOUNDCTRL_CHANGE_VOLUME,
- SOUNDCTRL_CHANGE_PITCH,
- SOUNDCTRL_STOP,
- SOUNDCTRL_DESTROY,
-};
-
-//Envelope point
-struct envelopePoint_t
-{
- float amplitudeMin, amplitudeMax;
- float durationMin, durationMax;
-};
-
-//Envelope description
-struct envelopeDescription_t
-{
- envelopePoint_t *pPoints;
- int nNumPoints;
-};
-
-class IRecipientFilter;
-
-abstract_class CSoundEnvelopeController
-{
-public:
- virtual void SystemReset( void ) = 0;
- virtual void SystemUpdate( void ) = 0;
- virtual void Play( CSoundPatch *pSound, float volume, float pitch, float flStartTime = 0 ) = 0;
- virtual void CommandAdd( CSoundPatch *pSound, float executeDeltaTime, soundcommands_t command, float commandTime, float value ) = 0;
- virtual void CommandClear( CSoundPatch *pSound ) = 0;
- virtual void Shutdown( CSoundPatch *pSound ) = 0;
-
- virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, const char *pSoundName ) = 0;
- virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, int channel, const char *pSoundName,
- float attenuation ) = 0;
- virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, int channel, const char *pSoundName,
- soundlevel_t soundlevel ) = 0;
- virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, const EmitSound_t &es ) = 0;
- virtual void SoundDestroy( CSoundPatch * ) = 0;
- virtual void SoundChangePitch( CSoundPatch *pSound, float pitchTarget, float deltaTime ) = 0;
- virtual void SoundChangeVolume( CSoundPatch *pSound, float volumeTarget, float deltaTime ) = 0;
- virtual void SoundFadeOut( CSoundPatch *pSound, float deltaTime, bool destroyOnFadeout = false ) = 0;
- virtual float SoundGetPitch( CSoundPatch *pSound ) = 0;
- virtual float SoundGetVolume( CSoundPatch *pSound ) = 0;
-
- virtual float SoundPlayEnvelope( CSoundPatch *pSound, soundcommands_t soundCommand, envelopePoint_t *points, int numPoints ) = 0;
- virtual float SoundPlayEnvelope( CSoundPatch *pSound, soundcommands_t soundCommand, envelopeDescription_t *envelope ) = 0;
-
- virtual void CheckLoopingSoundsForPlayer( CBasePlayer *pPlayer ) = 0;
-
- virtual string_t SoundGetName( CSoundPatch *pSound ) = 0;
- static CSoundEnvelopeController &GetController( void );
-
- virtual void SoundSetCloseCaptionDuration( CSoundPatch *pSound, float flDuration ) = 0;
-};
-
-
-//-----------------------------------------------------------------------------
-// Save/restore
-//-----------------------------------------------------------------------------
-class ISaveRestoreOps;
-
-ISaveRestoreOps *GetSoundSaveRestoreOps( );
-
-#define DEFINE_SOUNDPATCH(name) \
- { FIELD_CUSTOM, #name, { offsetof(classNameTypedef,name), 0 }, 1, FTYPEDESC_SAVE, NULL, GetSoundSaveRestoreOps( ), NULL }
-
-
-#endif // SOUNDENVELOPE_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: $ +// $Date: $ +// $NoKeywords: $ +//=============================================================================// + +#ifndef SOUNDENVELOPE_H +#define SOUNDENVELOPE_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "engine/IEngineSound.h" + +class CSoundPatch; + +enum soundcommands_t +{ + SOUNDCTRL_CHANGE_VOLUME, + SOUNDCTRL_CHANGE_PITCH, + SOUNDCTRL_STOP, + SOUNDCTRL_DESTROY, +}; + +//Envelope point +struct envelopePoint_t +{ + float amplitudeMin, amplitudeMax; + float durationMin, durationMax; +}; + +//Envelope description +struct envelopeDescription_t +{ + envelopePoint_t *pPoints; + int nNumPoints; +}; + +class IRecipientFilter; + +abstract_class CSoundEnvelopeController +{ +public: + virtual void SystemReset( void ) = 0; + virtual void SystemUpdate( void ) = 0; + virtual void Play( CSoundPatch *pSound, float volume, float pitch, float flStartTime = 0 ) = 0; + virtual void CommandAdd( CSoundPatch *pSound, float executeDeltaTime, soundcommands_t command, float commandTime, float value ) = 0; + virtual void CommandClear( CSoundPatch *pSound ) = 0; + virtual void Shutdown( CSoundPatch *pSound ) = 0; + + virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, const char *pSoundName ) = 0; + virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, int channel, const char *pSoundName, + float attenuation ) = 0; + virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, int channel, const char *pSoundName, + soundlevel_t soundlevel ) = 0; + virtual CSoundPatch *SoundCreate( IRecipientFilter& filter, int nEntIndex, const EmitSound_t &es ) = 0; + virtual void SoundDestroy( CSoundPatch * ) = 0; + virtual void SoundChangePitch( CSoundPatch *pSound, float pitchTarget, float deltaTime ) = 0; + virtual void SoundChangeVolume( CSoundPatch *pSound, float volumeTarget, float deltaTime ) = 0; + virtual void SoundFadeOut( CSoundPatch *pSound, float deltaTime, bool destroyOnFadeout = false ) = 0; + virtual float SoundGetPitch( CSoundPatch *pSound ) = 0; + virtual float SoundGetVolume( CSoundPatch *pSound ) = 0; + + virtual float SoundPlayEnvelope( CSoundPatch *pSound, soundcommands_t soundCommand, envelopePoint_t *points, int numPoints ) = 0; + virtual float SoundPlayEnvelope( CSoundPatch *pSound, soundcommands_t soundCommand, envelopeDescription_t *envelope ) = 0; + + virtual void CheckLoopingSoundsForPlayer( CBasePlayer *pPlayer ) = 0; + + virtual string_t SoundGetName( CSoundPatch *pSound ) = 0; + static CSoundEnvelopeController &GetController( void ); + + virtual void SoundSetCloseCaptionDuration( CSoundPatch *pSound, float flDuration ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Save/restore +//----------------------------------------------------------------------------- +class ISaveRestoreOps; + +ISaveRestoreOps *GetSoundSaveRestoreOps( ); + +#define DEFINE_SOUNDPATCH(name) \ + { FIELD_CUSTOM, #name, { offsetof(classNameTypedef,name), 0 }, 1, FTYPEDESC_SAVE, NULL, GetSoundSaveRestoreOps( ), NULL } + + +#endif // SOUNDENVELOPE_H |