//**************************************************************************** // // sounds.h // //**************************************************************************** #ifndef sounds_public_h_ #define sounds_public_h_ #include "raze_sound.h" #include "raze_music.h" struct MapRecord; BEGIN_DUKE_NS // Sound flags enum { SF_LOOP = 1, SF_MSFX = 2, SF_TALK = 4, SF_ADULT = 8, SF_GLOBAL = 16, SF_ONEINST_INTERNAL = 32, SF_DTAG = 128, }; enum esound_t { kPitchStart, kPitchEnd, kVolAdjust, kPriority, kFlags, kWorldTourMapping, kMaxUserData }; void S_InitSound(); void S_CacheAllSounds(void); int S_DefineSound(unsigned index, const char* filename, int ps, int pe, int pr, int m, int vo, float vol); void S_WorldTourMappingsForOldSounds(); int S_PlaySound(int num, int channel = CHAN_AUTO, EChanFlags flags = 0, float vol =0.8f); int S_PlaySound3D(int num, int spriteNum, const vec3_t* pos, int channel = CHAN_AUTO, EChanFlags flags = 0); int S_PlayActorSound(int soundNum, int spriteNum, int channel = CHAN_AUTO, EChanFlags flags = 0); void S_RelinkActorSound(int from, int to); void S_MenuSound(void); void S_StopSound(int sndNum, int sprNum = -1, int flags = -1); int S_CheckSoundPlaying(int soundNum); inline int S_CheckSoundPlaying(int sprnum, int soundNum) { return S_CheckSoundPlaying(soundNum); } int S_CheckActorSoundPlaying(int spriteNum, int soundNum, int channel = 0); int S_CheckAnyActorSoundPlaying(int spriteNum); void S_ChangeSoundPitch(int soundNum, int spriteNum, int pitchoffset); int S_GetUserFlags(int sndnum); inline bool S_IsSoundValid(int num) { return (!soundEngine->isValidSoundId(num + 1)); } void S_PlayRRMusic(int newTrack = -1); void S_PlayBonusMusic(); void S_PlayLevelMusic(MapRecord* mi); void S_PlaySpecialMusic(unsigned int); void S_ContinueLevelMusic(void); // Placeholders. void S_ParseDeveloperCommentary(); inline void StopCommentary() {} inline bool StartCommentary(int tag, int sprnum) { return false; } extern TArray specialmusic; END_DUKE_NS #endif