X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fsound.h;h=2e934709e2ee041ebb0be6cc40c9aada059d4b84;hp=384f77cf7b6bda5de951ffa1b60de579977d7476;hb=8d46c5298f0fcce7bdb52f3835b2fbbdc403dfe0;hpb=c3d03cdffce070695ba0520d00667b42b8460087 diff --git a/src/sound.h b/src/sound.h index 384f77cf..2e934709 100644 --- a/src/sound.h +++ b/src/sound.h @@ -1,13 +1,12 @@ /*********************************************************** * Rocks'n'Diamonds -- McDuffin Strikes Back! * *----------------------------------------------------------* -* ©1995 Artsoft Development * -* Holger Schemel * -* 33659 Bielefeld-Senne * -* Telefon: (0521) 493245 * -* eMail: aeglos@valinor.owl.de * -* aeglos@uni-paderborn.de * -* q99492@pbhrzx.uni-paderborn.de * +* (c) 1995-98 Artsoft Entertainment * +* Holger Schemel * +* Oststrasse 11a * +* 33604 Bielefeld * +* phone: ++49 +521 290471 * +* email: aeglos@valinor.owl.de * *----------------------------------------------------------* * sound.c * ***********************************************************/ @@ -15,16 +14,22 @@ #ifndef SOUND_H #define SOUND_H -#include "main.h" #include +#include "main.h" #ifdef linux #include #ifndef VOXWARE #define VOXWARE #endif + +#if 0 /* where is the right declaration for 'ioctl'? */ extern void ioctl(long, long, void *); +#else +#include +#endif + #endif #ifdef __FreeBSD__ @@ -40,9 +45,14 @@ extern void ioctl(long, long, void *); #define HPUX_AUDIO #endif /* _HPUX_SOURCE */ +#ifndef MSDOS #define MAX_SOUNDS_PLAYING 16 +#else +#define MAX_SOUNDS_PLAYING 8 +#endif /* some values for PlaySound(), StopSound() and friends */ +#ifndef MSDOS #define PSND_SILENCE 0 #define PSND_MAX_VOLUME_BITS 7 #define PSND_MIN_VOLUME 0 @@ -56,6 +66,16 @@ extern void ioctl(long, long, void *); #define PSND_MAX_RIGHT (+PSND_MAX_STEREO) #define PSND_MAX_LEFT2RIGHT_BITS (PSND_MAX_STEREO_BITS+1) #define PSND_MAX_LEFT2RIGHT (1 << PSND_MAX_LEFT2RIGHT_BITS) +#else +#define PSND_SILENCE 0 +#define PSND_MIN_VOLUME 0 +#define PSND_MAX_VOLUME 255 +#define PSND_NO_LOOP 0 +#define PSND_LOOP 1 +#define PSND_MAX_LEFT 0 +#define PSND_MAX_RIGHT 255 +#define PSND_MIDDLE 128 +#endif #define SSND_FADE_SOUND (1<<0) #define SSND_FADE_ALL_SOUNDS (1<<1) @@ -65,9 +85,6 @@ extern void ioctl(long, long, void *); #define SSND_STOPPING(x) (x & (SSND_STOP_SOUND | SSND_STOP_ALL_SOUNDS)) #define SSND_ALL(x) (x&(SSND_FADE_ALL_SOUNDS|SSND_STOP_ALL_SOUNDS)) -#define TRUE 1 -#define FALSE 0 - /* settings for sound path, sound device, etc. */ #ifndef SND_PATH #define SND_PATH "./sounds" @@ -111,8 +128,11 @@ struct SoundHeader_8SVX struct SoundInfo { char *name; - char *file_ptr, *data_ptr; - long file_len, data_len; + byte *data_ptr; + long data_len; +#ifdef MSDOS + SAMPLE *sample_ptr; +#endif }; struct SoundControl @@ -120,35 +140,29 @@ struct SoundControl int nr; int volume; int stereo; - BOOL active; - BOOL loop; - BOOL fade_sound; - BOOL stop_sound; - BOOL stop_all_sounds; + boolean active; + boolean loop; + boolean fade_sound; + boolean stop_sound; + boolean stop_all_sounds; int playingtime; long playingpos; long data_len; - char *data_ptr; + byte *data_ptr; +#ifdef MSDOS + int voice; +#endif }; -/* function from "misc.c" */ -unsigned long be2long(unsigned long *); - -/* sound server functions */ +/* start sound server */ void SoundServer(void); -void SoundServer_InsertNewSound(struct SoundControl); -void SoundServer_StopSound(int); -void SoundServer_StopAllSounds(void); -void HPUX_Audio_Control(void); -unsigned char linear_to_ulaw(int); -int ulaw_to_linear(unsigned char); - -/* application functions */ -BOOL LoadSound(struct SoundInfo *); + +/* client functions */ +boolean LoadSound(struct SoundInfo *); void PlaySound(int); void PlaySoundStereo(int, int); void PlaySoundLoop(int); -void PlaySoundExt(int, int, int, BOOL); +void PlaySoundExt(int, int, int, boolean); void FadeSound(int); void FadeSounds(void); void StopSound(int);