//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= // // Purpose: // //============================================================================= #ifndef SNDINFO_H #define SNDINFO_H #ifdef _WIN32 #pragma once #endif class Vector; #include "utlsymbol.h" //----------------------------------------------------------------------------- // Purpose: Client side only //----------------------------------------------------------------------------- struct SndInfo_t { // Sound Guid int m_nGuid; FileNameHandle_t m_filenameHandle; // filesystem filename handle - call IFilesystem to conver this to a string int m_nSoundSource; int m_nChannel; // If a sound is being played through a speaker entity (e.g., on a monitor,), this is the // entity upon which to show the lips moving, if the sound has sentence data int m_nSpeakerEntity; float m_flVolume; float m_flLastSpatializedVolume; // Radius of this sound effect (spatialization is different within the radius) float m_flRadius; int m_nPitch; Vector *m_pOrigin; Vector *m_pDirection; // if true, assume sound source can move and update according to entity bool m_bUpdatePositions; // true if playing linked sentence bool m_bIsSentence; // if true, bypass all dsp processing for this sound (ie: music) bool m_bDryMix; // true if sound is playing through in-game speaker entity. bool m_bSpeaker; // for snd_show, networked sounds get colored differently than local sounds bool m_bFromServer; }; //----------------------------------------------------------------------------- // Hearing info //----------------------------------------------------------------------------- struct AudioState_t { AudioState_t() { m_Origin.Init(); m_Angles.Init(); m_bIsUnderwater = false; } Vector m_Origin; QAngle m_Angles; bool m_bIsUnderwater; }; #endif // SNDINFO_H