X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsound.h;h=fc111e9ba6697ecd36f01361620cd848417e5450;hb=a7c06161253796a30a0237a7f5a044f459c8cf35;hp=9997e664b451b1a18f6315b8041cf2e6c1fcef60;hpb=e788c9b6a44d9f2dea7aa048b48a11b14761229e;p=rocksndiamonds.git diff --git a/src/libgame/sound.h b/src/libgame/sound.h index 9997e664..fc111e9b 100644 --- a/src/libgame/sound.h +++ b/src/libgame/sound.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2001 Artsoft Entertainment * +* (c) 1994-2006 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -14,7 +14,7 @@ #ifndef SOUND_H #define SOUND_H -#include "platform.h" +#include "system.h" #if defined(PLATFORM_UNIX) && !defined(TARGET_SDL) @@ -37,6 +37,7 @@ #define AUDIO_FRAGMENT_SIZE_1024 1024 #define AUDIO_FRAGMENT_SIZE_2048 2048 #define AUDIO_FRAGMENT_SIZE_4096 4096 +#define AUDIO_FRAGMENT_SIZE_32768 32768 #define AUDIO_NUM_CHANNELS_MONO 1 #define AUDIO_NUM_CHANNELS_STEREO 2 @@ -53,8 +54,10 @@ #define DEFAULT_AUDIO_SAMPLE_RATE AUDIO_SAMPLE_RATE_22050 #endif -#if defined(PLATFORM_WIN32) -#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_2048 +#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_1024 #else #define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_512 #endif @@ -99,6 +102,10 @@ 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 @@ -113,17 +120,6 @@ #define SOUND_MAX_LEFT2RIGHT 255 #define SOUND_MIDDLE (SOUND_MAX_LEFT2RIGHT / 2) -/* value for undefined sound effect filename */ -#define SND_FILE_UNDEFINED "NONE" - - -struct SoundEffectInfo -{ - char *text; - char *default_filename; - char *filename; -}; - /* general sound functions */ void UnixOpenAudio(void); @@ -143,13 +139,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); -void InitSoundList(struct SoundEffectInfo *, 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);