6 void soundat(entity e, vector o, float chan, string samp, float vol, float _atten);
8 void stopsoundto(float _dest, entity e, float chan);
10 void soundtoat(float _dest, entity e, vector o, float chan, string samp, float vol, float _atten, float _pitch);
12 bool sound_allowed(int dest, entity e);
14 float spamsound(entity e, float chan, Sound samp, float vol, float _atten);
16 void play2(entity e, string filename);
18 void play2all(string samp);
20 void play2team(float t, string filename);
22 void soundto(float dest, entity e, float chan, string samp, float vol, float atten, float _pitch);
24 void stopsound(entity e, float chan);
27 REGISTRY(Sounds, BITS(9))
28 REGISTER_REGISTRY(Sounds)
30 #define SOUND(name, path) \
31 string SND_##name##_get() { return path; } \
32 REGISTER(Sounds, SND, name, m_id, NEW(Sound, SND_##name##_get))
34 /** @deprecated Used in places where a string is required for legacy reasons, prefer using SND_id constants instead */
35 #define SND(id) Sound_fixpath(SND_##id)
38 FOREACH(Sounds, true, it.sound_precache(it));
41 SOUND(Null, "misc/null");
42 REGISTRY_DEFINE_GET(Sounds, SND_Null)