Nuclide
Software Development Kit for id Tech
sound.h File Reference

SoundDef system functions. More...

Go to the source code of this file.

Classes

struct  snd_t
 A soundDef aka 'sound shader' type. More...
 
struct  sound_t
 A sound sample of a sentences.txt word sequence. More...
 

Macros

#define SndLog(...)   if (autocvar_s_developer) _SndLog(__FUNC__, sprintf(__VA_ARGS__))
 Logs an sound system specific log message. More...
 
#define SndEntLog(...)   if (autocvar_s_developer) _SndEntLog(classname, __FUNC__, num_for_edict(this), sprintf(__VA_ARGS__))
 Logs an sound specific entity class log message. More...
 

Functions

void _SndLog (string functionName, string msg)
 
void _SndEntLog (string className, string functionName, float edictNum, string warnMessage)
 
void Sound_Init (void)
 Called by the client inside CSQC_Init(), and on the server inside init(). More...
 
void Sound_Shutdown (void)
 Called by CSQC_Shutdown() and in theory, somewhere on the server. More...
 
int Sound_Precache (string sndDef)
 Force the precache of a soundDef file. More...
 
void Sound_Play (entity targetEntity, int sndChannel, string sndDef)
 Play a soundDef on a given target entity. More...
 
void Sound_PlayAt (vector worldPos, string sndDef)
 Play a soundDef a a given location. More...
 
void Sound_PlayLocal (string shader)
 Client-side only: Play a sound locally, outside the game world. More...
 
void Sound_Update (entity targetEntity, int sndChannel, int sndSample, float desiredVolume)
 Client-side only: Update the sound parameters on a given entity. More...
 
int Sound_GetID (string sndDef)
 
void Sound_Stop (entity target, int chan)
 Stops sounds on a given channel, on a target entity. More...
 
void Sound_DebugList ()
 Called by listSoundDef. More...
 

Variables

float maxspeed
 
float flags
 
var bool autocvar_s_developer = false
 
var hashtable g_hashsounds
 Global hash table for name > soundDef id lookup. More...
 
typedef enumflags
 Enumeration of valid sound flags. More...
 
snd_tg_sounds
 Pointer to the global soundDef table. More...
 
int g_sounds_count
 Total amount of registered soundDef entries. More...
 

Detailed Description

SoundDef system functions.

Anything concerned with soundDef scripting happens here. They're the primary system with which you should be messing with the sound system. It allows modders to override/expand on the audio experience without having to edit the source code.

Read Sound: soundDef for more information.

Macro Definition Documentation

◆ SndEntLog

#define SndEntLog (   ...)    if (autocvar_s_developer) _SndEntLog(classname, __FUNC__, num_for_edict(this), sprintf(__VA_ARGS__))

Logs an sound specific entity class log message.

The console variable s_developer has to be 1 for them to be visible.

Parameters
description(...)contains a formatted string containing a description.

◆ SndLog

#define SndLog (   ...)    if (autocvar_s_developer) _SndLog(__FUNC__, sprintf(__VA_ARGS__))

Logs an sound system specific log message.

The console variable s_developer has to be 1 for them to be visible.

Parameters
description(...)contains a formatted string containing a description.

Function Documentation

◆ _SndEntLog()

void _SndEntLog ( string  className,
string  functionName,
float  edictNum,
string  warnMessage 
)

◆ _SndLog()

void _SndLog ( string  functionName,
string  msg 
)

◆ Sound_DebugList()

void Sound_DebugList ( )

Called by listSoundDef.

◆ Sound_GetID()

int Sound_GetID ( string  sndDef)

◆ Sound_Init()

void Sound_Init ( void  )

Called by the client inside CSQC_Init(), and on the server inside init().

◆ Sound_Play()

void Sound_Play ( entity  targetEntity,
int  sndChannel,
string  sndDef 
)

Play a soundDef on a given target entity.

◆ Sound_PlayAt()

void Sound_PlayAt ( vector  worldPos,
string  sndDef 
)

Play a soundDef a a given location.

◆ Sound_PlayLocal()

void Sound_PlayLocal ( string  shader)

Client-side only: Play a sound locally, outside the game world.

◆ Sound_Precache()

int Sound_Precache ( string  sndDef)

Force the precache of a soundDef file.

◆ Sound_Shutdown()

void Sound_Shutdown ( void  )

Called by CSQC_Shutdown() and in theory, somewhere on the server.

◆ Sound_Stop()

void Sound_Stop ( entity  target,
int  chan 
)

Stops sounds on a given channel, on a target entity.

◆ Sound_Update()

void Sound_Update ( entity  targetEntity,
int  sndChannel,
int  sndSample,
float  desiredVolume 
)

Client-side only: Update the sound parameters on a given entity.

Variable Documentation

◆ autocvar_s_developer

var bool autocvar_s_developer = false

◆ enumflags

typedef enumflags
Initial value:
{
SNDFL_LOOPING,
SNDFL_NODUPS,
SNDFL_GLOBAL,
SNDFL_NOREVERB,
SNDFL_OMNI,
SNDFL_PRIVATE,
SNDFL_STEP,
SNDFL_FOLLOW,
SNDFL_ALERTS
} soundFlag_t

Enumeration of valid sound flags.

forceloop don't random the samples no attenuation skip reverb volume on all channels is equal only play on target volume is calculated from entity speed sample follows entity as it plays this sounds alerts AI, takes distance into account

◆ flags

float flags

◆ g_hashsounds

var hashtable g_hashsounds

Global hash table for name > soundDef id lookup.

◆ g_sounds

snd_t* g_sounds

Pointer to the global soundDef table.

◆ g_sounds_count

int g_sounds_count

Total amount of registered soundDef entries.

◆ maxspeed

float maxspeed