8 #define DEFAULT_SOUND_PACKET_VOLUME 255
9 #define DEFAULT_SOUND_PACKET_ATTENUATION 1.0
11 #define CHANNELFLAG_NONE 0
12 #define CHANNELFLAG_FORCELOOP (1 << 0) // force looping even if the sound is not looped
13 #define CHANNELFLAG_LOCALSOUND (1 << 1) // INTERNAL USE. Not settable by S_SetChannelFlag
14 #define CHANNELFLAG_PAUSED (1 << 2)
15 #define CHANNELFLAG_FULLVOLUME (1 << 3) // isn't affected by the general volume
17 #define SFXFLAG_NONE 0
18 //#define SFXFLAG_FILEMISSING (1 << 0) // wasn't able to load the associated sound file
19 #define SFXFLAG_SERVERSOUND (1 << 1) // the sfx is part of the server precache list
20 //#define SFXFLAG_STREAMED (1 << 2) // informative only. You shouldn't need to know that
21 #define SFXFLAG_PERMANENTLOCK (1 << 3) // can never be freed (ex: used by the client code)
23 typedef struct channel_s{
24 struct channel_s* next;
25 void* rasptr;//Sound Event // This is also used to indicate a unused slot (when it's pointing to 0)
26 int entnum;// to allow overriding a specific sound
31 typedef struct entnum_s{
32 struct entnum_s *next;
34 vec3_t lastloc; //Since DP has no way of tracking the deletion, we will use this instead (great jumps indicate teleport or new ent
35 void *rasptr;//Sound Source // This is also used to indicate a unused slot (when it's pointing to 0)
41 void* rasptr; //Sound Data// The sound data allocated in the lib
44 unsigned int flags; // cf SFXFLAG_* defines
45 //unsigned int loopstart; // in sample frames. equals total_length if not looped
46 //unsigned int total_length; // in sample frames