rnd-19980917
[rocksndiamonds.git] / src / sound.h
index be853f8c2723e356a8b56ab39235d97206b01c3e..213cd746739b02abc5c368a338fac99f1aa5f43d 100644 (file)
@@ -10,8 +10,6 @@
 *               q99492@pbhrzx.uni-paderborn.de             *
 *----------------------------------------------------------*
 *  sound.c                                                 *
-*                                                          *
-*  Letzte Aenderung: 15.06.1995                            *
 ***********************************************************/
 
 #ifndef SOUND_H
 extern void ioctl(long, long, void *);
 #endif
 
+#ifdef __FreeBSD__
+#include <machine/soundcard.h>
+#endif
+
 #define SND_BLOCKSIZE 4096
 
 #ifdef _HPUX_SOURCE
@@ -38,9 +40,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
@@ -54,6 +61,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)
@@ -108,9 +125,13 @@ struct SoundHeader_8SVX
 
 struct SoundInfo
 { 
-  char *name;
-  char *file_ptr, *data_ptr;
+  unsigned char *name;
+  unsigned char *file_ptr;
+  char *data_ptr;
   long file_len, data_len;
+#ifdef MSDOS
+  SAMPLE *sample_ptr;
+#endif
 };
 
 struct SoundControl
@@ -127,11 +148,11 @@ struct SoundControl
   long playingpos;
   long data_len;
   char *data_ptr;
+#ifdef MSDOS
+  int voice;
+#endif
 };
 
-/* function from "misc.c" */
-unsigned long be2long(unsigned long *);
-
 /* sound server functions */
 void SoundServer(void);
 void SoundServer_InsertNewSound(struct SoundControl);