1 /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
2 /* If you are missing that file, acquire a complete release at teeworlds.com. */
8 class ISound
: public IInterface
10 MACRO_INTERFACE("sound", 0)
19 virtual bool IsSoundEnabled() = 0;
21 virtual int LoadWV(const char *pFilename
) = 0;
23 virtual void SetChannel(int ChannelID
, float Volume
, float Panning
) = 0;
24 virtual void SetListenerPos(float x
, float y
) = 0;
26 virtual int PlayAt(int ChannelID
, int SampleID
, int Flags
, float x
, float y
) = 0;
27 virtual int Play(int ChannelID
, int SampleID
, int Flags
) = 0;
28 virtual void Stop(int SampleID
) = 0;
29 virtual void StopAll() = 0;
33 class IEngineSound
: public ISound
35 MACRO_INTERFACE("enginesound", 0)
37 virtual int Init() = 0;
38 virtual int Update() = 0;
39 virtual int Shutdown() = 0;
42 extern IEngineSound
*CreateEngineSound();