#define SOUND_H
#include "matrixlib.h"
+struct cmd_state_s;
// ====================================================================
typedef struct sfx_s sfx_t;
-extern cvar_t mastervolume;
-extern cvar_t bgmvolume;
-extern cvar_t volume;
-extern cvar_t snd_initialized;
-extern cvar_t snd_staticvolume;
-extern cvar_t snd_mutewhenidle;
+extern struct cvar_s mastervolume;
+extern struct cvar_s bgmvolume;
+extern struct cvar_s volume;
+extern struct cvar_s snd_initialized;
+extern struct cvar_s snd_staticvolume;
+extern struct cvar_s snd_mutewhenidle;
// ====================================================================
void S_Startup (void);
void S_Shutdown (void);
-void S_UnloadAllSounds_f(cmd_state_t *cmd);
+void S_UnloadAllSounds_f(struct cmd_state_s *cmd);
void S_Update(const matrix4x4_t *listenermatrix);
void S_ExtraUpdate (void);
-sfx_t *S_PrecacheSound (const char *sample, qboolean complain, qboolean levelsound);
+sfx_t *S_PrecacheSound (const char *sample, qbool complain, qbool levelsound);
float S_SoundLength(const char *name);
void S_ClearUsed (void);
void S_PurgeUnused (void);
-qboolean S_IsSoundPrecached (const sfx_t *sfx);
+qbool S_IsSoundPrecached (const sfx_t *sfx);
sfx_t *S_FindName(const char *name);
// these define the "engine" channel namespace
// S_StartSound returns the channel index, or -1 if an error occurred
int S_StartSound (int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation);
int S_StartSound_StartPosition_Flags (int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation, float startposition, int flags, float fspeed);
-qboolean S_LocalSound (const char *s);
+qbool S_LocalSound (const char *s);
void S_StaticSound (sfx_t *sfx, vec3_t origin, float fvol, float attenuation);
void S_StopSound (int entnum, int entchannel);
void S_StopAllSounds (void);
-void S_StopAllSounds_f(cmd_state_t *cmd);
-void S_PauseGameSounds (qboolean toggle);
+void S_StopAllSounds_f(struct cmd_state_s *cmd);
+void S_PauseGameSounds (qbool toggle);
-void S_StopChannel (unsigned int channel_ind, qboolean lockmutex, qboolean freesfx);
-qboolean S_SetChannelFlag (unsigned int ch_ind, unsigned int flag, qboolean value);
+void S_StopChannel (unsigned int channel_ind, qbool lockmutex, qbool freesfx);
+qbool S_SetChannelFlag (unsigned int ch_ind, unsigned int flag, qbool value);
void S_SetChannelVolume (unsigned int ch_ind, float fvol);
void S_SetChannelSpeed (unsigned int ch_ind, float fspeed);
float S_GetChannelPosition (unsigned int ch_ind);
int S_GetSoundRate (void);
int S_GetSoundChannels (void);
+int S_GetSoundWidth (void);
#endif