25#include "../qcommon/q_shared.h"
26#include "../qcommon/qcommon.h"
32extern cvar_t *s_volume;
34extern cvar_t *s_loadas8bit;
35extern cvar_t *s_separation;
36extern cvar_t *s_musicVolume;
37extern cvar_t *s_ambientVolume;
39#define MAX_SOUNDSYSTEM_CHANNELS_3D 32
40#define MAX_SOUNDSYSTEM_CHANNELS_2D 32
41#define MAX_SOUNDSYSTEM_CHANNELS_2D_STREAM 32
42#define MAX_SOUNDSYSTEM_POSITION_CHANNELS (MAX_SOUNDSYSTEM_CHANNELS_3D + MAX_SOUNDSYSTEM_CHANNELS_2D + MAX_SOUNDSYSTEM_CHANNELS_2D_STREAM)
43#define MAX_SOUNDSYSTEM_SONGS 2
44#define MAX_SOUNDSYSTEM_MISC_CHANNELS 3
45#define MAX_SOUNDSYSTEM_CHANNELS \
46 (MAX_SOUNDSYSTEM_CHANNELS_3D + MAX_SOUNDSYSTEM_CHANNELS_2D + MAX_SOUNDSYSTEM_CHANNELS_2D_STREAM + MAX_SOUNDSYSTEM_SONGS \
47 + MAX_SOUNDSYSTEM_MISC_CHANNELS)
48#define MAX_SOUNDSYSTEM_LOOP_SOUNDS 64
50#define SOUNDSYSTEM_CHANNEL_MP3_ID \
51 (MAX_SOUNDSYSTEM_CHANNELS_3D + MAX_SOUNDSYSTEM_CHANNELS_2D + MAX_SOUNDSYSTEM_CHANNELS_2D_STREAM + MAX_SOUNDSYSTEM_SONGS)
52#define SOUNDSYSTEM_CHANNEL_TRIGGER_MUSIC_ID (SOUNDSYSTEM_CHANNEL_MP3_ID + 1)
53#define SOUNDSYSTEM_CHANNEL_MOVIE_ID (SOUNDSYSTEM_CHANNEL_TRIGGER_MUSIC_ID + 1)
76 int registration_sequence;
85 unsigned short wFormatTag;
86 unsigned short nChannels;
87 unsigned int nSamplesPerSec;
88 unsigned int nAvgBytesPerSec;
89 unsigned short nBlockAlign;
90 unsigned short wBitsPerSample;
91 unsigned short cbSize;
100 int max_number_playing;
108 qboolean use_listener;
145 int iNextCheckObstructionTime;
157enum channel_flags_t {
158 CHANNEL_FLAG_PLAY_DEFERRED = 1,
159 CHANNEL_FLAG_LOCAL_LISTENER = 16,
160 CHANNEL_FLAG_NO_ENTITY = 32,
161 CHANNEL_FLAG_PAUSED = 64,
162 CHANNEL_FLAG_LOOPING = 128,
164 CHANNEL_FLAG_MISSING_ENT = 256,
168 SFX_FLAG_DEFAULT_SOUND = 1,
170 SFX_FLAG_STREAMED = 4,
171 SFX_FLAG_NO_OFFSET = 8,
175enum loopsound_flags_t {
176 LOOPSOUND_FLAG_NO_PAN = 1
180#define MAX_SFX_INFOS 1000
181#define MAX_LOOP_SOUNDS 64
182#define DEFAULT_SFX_NUMBER_PLAYING 10
184extern qboolean s_bLastInitSound;
185extern qboolean s_bSoundStarted;
186extern qboolean s_bSoundPaused;
187extern qboolean s_bTryUnpause;
188extern int s_iListenerNumber;
189extern float s_fAmbientVolume;
190extern int number_of_sfx_infos;
192extern sfx_t s_knownSfx[];
198#define SOUND_DRIVER OPENAL
209sfx_t *S_FindName(
const char *name,
int sequenceNumber);
210void S_DefaultSound(sfx_t *sfx);
214void S_ClearSoundBuffer();
219qboolean S_LoadSound(
const char *fileName, sfx_t *sfx,
int streamed, qboolean force_load);
221#define S_StopAllSounds2 S_StopAllSounds
226#define S_Call_SndDriver(driver, func) S_##driver##_##func
227#define S_Call_SndDriverX(driver, func) S_Call_SndDriver(driver, func)
229#define S_Driver_Init S_Call_SndDriverX(SOUND_DRIVER, Init)
230#define S_Driver_Shutdown S_Call_SndDriverX(SOUND_DRIVER, Shutdown)
231#define S_Driver_StartSound S_Call_SndDriverX(SOUND_DRIVER, StartSound)
232#define S_Driver_AddLoopingSound S_Call_SndDriverX(SOUND_DRIVER, AddLoopingSound)
233#define S_Driver_ClearLoopingSounds S_Call_SndDriverX(SOUND_DRIVER, ClearLoopingSounds)
234#define S_Driver_StopSound S_Call_SndDriverX(SOUND_DRIVER, StopSound)
235#define S_Driver_StopAllSounds S_Call_SndDriverX(SOUND_DRIVER, StopAllSounds)
236#define S_Driver_Respatialize S_Call_SndDriverX(SOUND_DRIVER, Respatialize)
237#define S_Driver_SetReverb S_Call_SndDriverX(SOUND_DRIVER, SetReverb)
238#define S_Driver_Update S_Call_SndDriverX(SOUND_DRIVER, Update)
239#define S_Driver_GetMusicFilename S_Call_SndDriverX(SOUND_DRIVER, GetMusicFilename)
240#define S_Driver_GetMusicLoopCount S_Call_SndDriverX(SOUND_DRIVER, GetMusicLoopCount)
241#define S_Driver_GetMusicOffset S_Call_SndDriverX(SOUND_DRIVER, GetMusicOffset)
245qboolean S_NeedFullRestart();
248extern cvar_t *s_show_sounds;
Definition snd_local_new.h:34
Definition snd_local_new.h:104
Definition snd_local_new.h:94
Definition snd_local_new.h:68
Definition snd_local_new.h:124
Definition snd_local_new.h:111
Definition snd_local_new.h:55
Definition snd_local_new.h:55
Definition snd_local_new.h:84