X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsound.h;h=6ca5f9756d14f754a8da36b2fcf3550e75bfb544;hb=2c03953e712c427c94c02cdb1e15cd9e99e9e116;hp=d2c94f23dfe3c917d98ab88bc8f30b75ce3bb840;hpb=e0560b41a1796a02b15937b0ae5453bca745e5ff;p=rocksndiamonds.git diff --git a/src/libgame/sound.h b/src/libgame/sound.h index d2c94f23..6ca5f975 100644 --- a/src/libgame/sound.h +++ b/src/libgame/sound.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2000 Artsoft Entertainment * +* (c) 1994-2001 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -26,6 +26,9 @@ #include #elif defined(PLATFORM_FREEBSD) #include +#elif defined(PLATFORM_NETBSD) +#include +#include #elif defined(PLATFORM_HPUX) #include #endif @@ -34,6 +37,10 @@ #if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD) || defined(VOXWARE) +#define AUDIO_LINUX_IOCTL +#endif + +#if defined(AUDIO_LINUX_IOCTL) || defined(PLATFORM_NETBSD) #define AUDIO_STREAMING_DSP #endif @@ -51,7 +58,12 @@ #if defined(TARGET_SDL) /* one second fading interval == 1000 ticks (milliseconds) */ #define SOUND_FADING_INTERVAL 1000 -#define SOUND_MAX_VOLUME (SDL_MIX_MAXVOLUME / 4) +#define SOUND_MAX_VOLUME SDL_MIX_MAXVOLUME +#endif + +#if defined(AUDIO_STREAMING_DSP) +#define SOUND_FADING_VOLUME_STEP (PSND_MAX_VOLUME / 40) +#define SOUND_FADING_VOLUME_THRESHOLD (SOUND_FADING_VOLUME_STEP * 2) #endif #define DEFAULT_AUDIO_SAMPLE_RATE AUDIO_SAMPLE_RATE_22050 @@ -127,6 +139,7 @@ #endif #endif +#if 0 struct SoundHeader_SUN { unsigned long magic; @@ -143,10 +156,13 @@ struct SoundHeader_8SVX unsigned long chunk_size; char magic_8SVX[4]; }; +#endif struct SampleInfo { +#if 0 char *name; +#endif byte *data_ptr; long data_len; @@ -156,6 +172,7 @@ struct SampleInfo #if defined(TARGET_SDL) Mix_Chunk *mix_chunk; + Mix_Music *mix_music; #endif }; @@ -169,6 +186,8 @@ struct SoundControl boolean fade_sound; boolean stop_sound; boolean stop_all_sounds; + boolean reload_sounds; + boolean reload_music; int playingtime; long playingpos; long data_len; @@ -184,11 +203,17 @@ void UnixOpenAudio(void); void UnixCloseAudio(void); /* sound server functions */ +void InitPlaylist(void); +void StartSoundserver(void); void SoundServer(void); /* sound client functions */ -void AllocSoundArray(int); -boolean LoadSound(int, char *); +void ReloadSounds(void); +void ReloadMusic(void); +boolean LoadSound(char *); +boolean LoadCustomSound(char *); +boolean LoadMod(char *); +int LoadMusic(void); void PlayMusic(int); void PlaySound(int); void PlaySoundStereo(int, int); @@ -201,6 +226,8 @@ void StopMusic(void); void StopSound(int); void StopSounds(void); void StopSoundExt(int, int); +void InitReloadSounds(char *); +void InitReloadMusic(char *); void FreeSounds(int); #endif