rnd-20001129-2-src
[rocksndiamonds.git] / src / msdos.c
index b0d9d2cb91afc2d8250e0b56ba57bacad44b5edc..960609df630896db53207cb3908c91fa2c0c4cb0 100644 (file)
@@ -12,7 +12,9 @@
 *  msdos.c                                                 *
 ***********************************************************/
 
-#ifdef MSDOS
+#include "platform.h"
+
+#if defined(PLATFORM_MSDOS)
 
 #include "main.h"
 #include "misc.h"
@@ -61,7 +63,7 @@ extern struct SoundControl emptySoundControl;
 
 static BITMAP *Read_PCX_to_AllegroBitmap(char *);
 
-static void allegro_drivers()
+static void allegro_init_drivers()
 {
   int i;
 
@@ -87,11 +89,17 @@ static void allegro_drivers()
 
   last_joystick_state = 0;
   joystick_event = FALSE;
+}
 
+static boolean allegro_init_audio()
+{
   reserve_voices(MAX_SOUNDS_PLAYING, 0);
+
   if (install_sound(DIGI_AUTODETECT, MIDI_NONE, NULL) == -1)
     if (install_sound(DIGI_SB, MIDI_NONE, NULL) == -1)
-      sound_status = SOUND_OFF;
+      return FALSE;
+
+  return TRUE;
 }
 
 static boolean hide_mouse(Display *display, int x, int y,
@@ -322,7 +330,7 @@ Display *XOpenDisplay(char *display_name)
   display->mouse_ptr = mouse_bitmap;
 
   allegro_init();
-  allegro_drivers();
+  allegro_init_drivers();
   set_color_depth(8);
 
   /* force Windows 95 to switch to fullscreen mode */
@@ -912,9 +920,19 @@ void XAutoRepeatOff(Display *display)
   keyboard_auto_repeat = FALSE;
 }
 
+boolean MSDOSOpenAudio(void)
+{
+  return allegro_init_audio();
+}
+
+boolean MSDOSCloseAudio(void)
+{
+  /* nothing to be done here */
+}
+
 void NetworkServer(int port, int serveronly)
 {
   Error(ERR_WARN, "networking not supported in DOS version");
 }
 
-#endif /* MSDOS */
+#endif /* PLATFORM_MSDOS */