#pragma once #include "sound.qh" #ifdef SVQC void soundat(entity e, vector o, float chan, string samp, float vol, float _atten); void stopsoundto(float _dest, entity e, float chan); void soundtoat(float _dest, entity e, vector o, float chan, string samp, float vol, float _atten, float _pitch); bool sound_allowed(int dest, entity e); float spamsound(entity e, float chan, Sound samp, float vol, float _atten); void play2(entity e, string filename); void play2all(string samp); void play2team(float t, string filename); void soundto(float dest, entity e, float chan, string samp, float vol, float atten, float _pitch); void stopsound(entity e, float chan); #endif REGISTRY(Sounds, BITS(9)) REGISTER_REGISTRY(Sounds) #define SOUND(name, path) \ string SND_##name##_get() { return path; } \ REGISTER(Sounds, SND, name, m_id, NEW(Sound, SND_##name##_get)) /** @deprecated Used in places where a string is required for legacy reasons, prefer using SND_id constants instead */ #define SND(id) Sound_fixpath(SND_##id) PRECACHE(Sounds) { FOREACH(Sounds, true, it.sound_precache(it)); } SOUND(Null, "misc/null"); REGISTRY_DEFINE_GET(Sounds, SND_Null) #include "all.inc" #include "all.qc"