X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsound.h;h=586f0fe5ff814f386b426838c6f451190abf0d20;hp=dcc41eac55e93113fc7bb76a70b07ccd23ae9c8c;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hpb=f4fa296527b424d80cb6ed86809986455613783c diff --git a/src/libgame/sound.h b/src/libgame/sound.h index dcc41eac..586f0fe5 100644 --- a/src/libgame/sound.h +++ b/src/libgame/sound.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2002 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* sound.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// sound.h +// ============================================================================ #ifndef SOUND_H #define SOUND_H @@ -17,10 +15,6 @@ #include "system.h" -#if defined(PLATFORM_UNIX) && !defined(TARGET_SDL) -#define AUDIO_UNIX_NATIVE -#endif - #if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD) || defined(VOXWARE) #define AUDIO_LINUX_IOCTL #endif @@ -57,7 +51,7 @@ #if defined(PLATFORM_HPUX) #define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_32768 #elif defined(PLATFORM_WIN32) -#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_2048 +#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_1024 #else #define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_512 #endif @@ -102,11 +96,13 @@ SND_CTRL_RELOAD_MUSIC)) #define ALL_SOUNDS(x) ((x).state & SND_CTRL_ALL_SOUNDS) +#define MAP_NOCONF_MUSIC(x) (-((x) + 1)) +#define UNMAP_NOCONF_MUSIC(x) MAP_NOCONF_MUSIC(x) + + #define SOUND_MIN_VOLUME 0 #if defined(TARGET_SDL) #define SOUND_MAX_VOLUME SDL_MIX_MAXVOLUME -#elif defined(TARGET_ALLEGRO) -#define SOUND_MAX_VOLUME 255 #else #define SOUND_MAX_VOLUME 128 #endif @@ -116,9 +112,6 @@ #define SOUND_MAX_LEFT2RIGHT 255 #define SOUND_MIDDLE (SOUND_MAX_LEFT2RIGHT / 2) -/* value for undefined sound effect filename */ -#define SND_FILE_UNDEFINED UNDEFINED_FILENAME - /* general sound functions */ void UnixOpenAudio(void); @@ -138,14 +131,26 @@ void PlaySoundExt(int, int, int, int); void FadeMusic(void); void FadeSound(int); void FadeSounds(void); +void FadeSoundsAndMusic(void); void StopMusic(void); void StopSound(int); void StopSounds(void); void StopSoundExt(int, int); -struct FileInfo *getCurrentSoundList(); -void InitSoundList(struct ConfigInfo *, struct ConfigInfo *, int); -void InitReloadSounds(char *); -void InitReloadMusic(char *); + +int getSoundListSize(); +int getMusicListSize(); +struct FileInfo *getSoundListEntry(int); +struct FileInfo *getMusicListEntry(int); +int getSoundListPropertyMappingSize(); +int getMusicListPropertyMappingSize(); +struct PropertyMapping *getSoundListPropertyMapping(); +struct PropertyMapping *getMusicListPropertyMapping(); +void InitSoundList(struct ConfigInfo *, int, struct ConfigTypeInfo *, + char **, char **, char **, char **, char **); +void InitMusicList(struct ConfigInfo *, int, struct ConfigTypeInfo *, + char **, char **, char **, char **, char **); +void InitReloadCustomSounds(char *); +void InitReloadCustomMusic(char *); void FreeAllSounds(void); void FreeAllMusic(void);