#define DEFAULT_SOUND_PACKET_ATTENUATION 1.0
// Channel flags
-#define CHANNELFLAG_NONE 0
-#define CHANNELFLAG_FORCELOOP (1 << 0) // force looping even if the sound is not looped
-#define CHANNELFLAG_LOCALSOUND (1 << 1) // INTERNAL USE. Not settable by S_SetChannelFlag
-#define CHANNELFLAG_PAUSED (1 << 2)
-#define CHANNELFLAG_FULLVOLUME (1 << 3) // isn't affected by the general volume
-
+// These channel flags can be used for sound() builtins, with SOUNDFLAG_* names
+#define CHANNELFLAG_NONE 0
+#define CHANNELFLAG_RELIABLE (1 << 0) // send as reliable message (only used on server)
+#define CHANNELFLAG_FORCELOOP (1 << 1) // force looping even if the sound is not looped
+#define CHANNELFLAG_LOCALSOUND (1 << 2) // INTERNAL USE. Not settable by S_SetChannelFlag
+#define CHANNELFLAG_PAUSED (1 << 3) // pause status
+#define CHANNELFLAG_FULLVOLUME (1 << 4) // isn't affected by the general volume
// ====================================================================
// Types and variables
void S_Startup (void);
void S_Shutdown (void);
-void S_UnloadAllSounds_f (void);
+void S_UnloadAllSounds_f(cmd_state_t *cmd);
void S_Update(const matrix4x4_t *listenermatrix);
void S_ExtraUpdate (void);
qboolean S_IsSoundPrecached (const sfx_t *sfx);
sfx_t *S_FindName(const char *name);
-// for sound() builtins
-#define SOUNDFLAG_RELIABLE 1
-
// these define the "engine" channel namespace
#define CHAN_MIN_AUTO -128
#define CHAN_MAX_AUTO 0
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_StopChannel (unsigned int channel_ind, qboolean lockmutex, qboolean freesfx);