/** * @file effects.h * * Interface of functions for loading and playing sounds. */ #pragma once #include "sound.h" namespace devilution { #ifdef __cplusplus extern "C" { #endif typedef struct TSFX { Uint8 bFlags; const char *pszName; TSnd *pSnd; } TSFX; extern int sfxdelay; extern int sfxdnum; BOOL effect_is_playing(int nSFX); void stream_stop(); void InitMonsterSND(int monst); void FreeMonsterSnd(); BOOL calc_snd_position(int x, int y, int *plVolume, int *plPan); void PlayEffect(int i, int mode); void PlaySFX(int psfx, bool randomizeByCategory = true); void PlaySfxLoc(int psfx, int x, int y); void sound_stop(); void sound_update(); void effects_cleanup_sfx(); void sound_init(); void ui_sound_init(); void effects_play_sound(const char *snd_file); int GetSFXLength(int nSFX); #ifdef __cplusplus } #endif }