rnd-20001128-1-src
[rocksndiamonds.git] / src / msdos.c
index 598aa5d2c5b3081c39b1cca2bd0514cacb96eb5d..181a9f1ada1712bd03ff9bf7ab8172a55dcef1b3 100644 (file)
@@ -12,7 +12,9 @@
 *  msdos.c                                                 *
 ***********************************************************/
 
-#ifdef MSDOS
+#include "platform.h"
+
+#if defined(PLATFORM_MSDOS)
 
 #include "main.h"
 #include "misc.h"
@@ -88,10 +90,11 @@ static void allegro_drivers()
   last_joystick_state = 0;
   joystick_event = FALSE;
 
+  sysinfo.audio_available = TRUE;
   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;
+      sysinfo.audio_available = FALSE;
 }
 
 static boolean hide_mouse(Display *display, int x, int y,
@@ -294,7 +297,7 @@ Display *XOpenDisplay(char *display_name)
   BITMAP *mouse_bitmap = NULL;
   char *filename;
 
-  filename = getPath3(options.base_directory, GRAPHICS_DIRECTORY,
+  filename = getPath3(options.ro_base_directory, GRAPHICS_DIRECTORY,
                      MOUSE_FILENAME);
 
   mouse_bitmap = Read_PCX_to_AllegroBitmap(filename);
@@ -348,6 +351,11 @@ Window XCreateSimpleWindow(Display *display, Window parent, int x, int y,
   display->screens[display->default_screen].height = YRES;
 
   set_mouse_sprite(display->mouse_ptr);
+
+#if 0
+  set_mouse_sprite_focus(1, 1);
+#endif
+
   set_mouse_speed(1, 1);
   set_mouse_range(display->screens[display->default_screen].x + 1,
                  display->screens[display->default_screen].y + 1,
@@ -511,7 +519,10 @@ static BITMAP *Image_to_AllegroBitmap(Image *image)
 
   /* allocate new allegro bitmap structure */
   if ((bitmap = create_bitmap_ex(depth, image->width, image->height)) == NULL)
+  {
+    errno_pcx = PCX_NoMemory;
     return NULL;
+  }
 
   clear(bitmap);
 
@@ -594,7 +605,7 @@ int Read_PCX_to_Pixmap(Display *display, Window window, GC gc, char *filename,
   BITMAP *bitmap;
 
   if ((bitmap = Read_PCX_to_AllegroBitmap(filename)) == NULL)
-    return PCX_FileInvalid;
+    return errno_pcx;
 
   *pixmap = (Pixmap)bitmap;
   *pixmap_mask = (Pixmap)bitmap;
@@ -602,20 +613,6 @@ int Read_PCX_to_Pixmap(Display *display, Window window, GC gc, char *filename,
   return PCX_Success;
 }
 
-int XpmReadFileToPixmap(Display *display, Drawable d, char *filename,
-                       Pixmap *pixmap_return, Pixmap *shapemask_return,
-                       XpmAttributes *attributes)
-{
-  BITMAP *bitmap;
-
-  if ((bitmap = Read_PCX_to_AllegroBitmap(filename)) == NULL)
-    return XpmOpenFailed;
-
-  *pixmap_return = (Pixmap)bitmap;
-
-  return XpmSuccess;
-}
-
 int XReadBitmapFile(Display *display, Drawable d, char *filename,
                    unsigned int *width_return, unsigned int *height_return,
                    Pixmap *bitmap_return,
@@ -923,4 +920,4 @@ void NetworkServer(int port, int serveronly)
   Error(ERR_WARN, "networking not supported in DOS version");
 }
 
-#endif /* MSDOS */
+#endif /* PLATFORM_MSDOS */