X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsound.h;h=e6a8a20a352b3ca7f8480f4370451b2e17f011c4;hb=2e99b0c26d334eb287486b8933b52b5048c6cc0c;hp=310d7b851307e7cb14711736ca18ba00a232b5db;hpb=68a47a5b92e7c62a8c8a06391e4f9b8d53eeb82f;p=rocksndiamonds.git diff --git a/src/libgame/sound.h b/src/libgame/sound.h index 310d7b85..e6a8a20a 100644 --- a/src/libgame/sound.h +++ b/src/libgame/sound.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2002 Artsoft Entertainment * +* (c) 1994-2006 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -17,10 +17,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 @@ -37,6 +33,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 +50,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,11 +98,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 @@ -113,9 +114,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); @@ -135,14 +133,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);