52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
#pragma once
|
|
|
|
// sound channels
|
|
// channel 0 never willingly overrides
|
|
// other channels (1-7) allways override a playing sound on that channel
|
|
#define CHAN_AUTO 0
|
|
#define CHAN_WEAPON 1
|
|
#define CHAN_VOICE 2
|
|
#define CHAN_ITEM 3
|
|
#define CHAN_BODY 4
|
|
#define CHAN_ENT1 5
|
|
#define CHAN_ENT2 6
|
|
// modifier flags
|
|
#define CHAN_NO_PHS_ADD 8 // send to all clients, not just ones in PHS (ATTN 0 will also do this)
|
|
#define CHAN_RELIABLE 16 // send by reliable message, not datagram
|
|
|
|
|
|
// sound attenuation values
|
|
#define ATTN_NONE 0 // full volume the entire level
|
|
#define ATTN_NORM 1
|
|
#define ATTN_IDLE 2
|
|
#define ATTN_STATIC 3 // diminish very rapidly with distance
|
|
|
|
|
|
#define SND_LOCALIZE_GLOBAL 0 // Default, means that the sound is projected into the world as normal.
|
|
#define SND_LOCALIZE_CLIENT 1 // Means to ONLY play the sound on the associated client.
|
|
|
|
// sound info fields
|
|
#define SIF_MUSIC_STATE 0x01
|
|
#define SIF_DESIGNER_MUSIC 0x02
|
|
#define SIF_AMB_GEN_SET 0x04
|
|
#define SIF_SOUND_EFFECT 0x08
|
|
|
|
enum
|
|
{
|
|
SPE_NORMAL,
|
|
SPE_WATER,
|
|
SPE_NUM_PROC_TYPES
|
|
};
|
|
|
|
// volume mask for ent->sound_data - makes room for attn value in the lower bits
|
|
#define ENT_VOL_MASK 0xf8
|
|
|
|
enum
|
|
{
|
|
SND_LOOPATTN,
|
|
SND_NEARATTN,
|
|
SND_NORMATTN,
|
|
SND_FARATTN,
|
|
SND_VERYFARATTN,
|
|
SND_MAXATTN
|
|
};
|