rnd-20140515-1-src
authorHolger Schemel <info@artsoft.org>
Wed, 14 May 2014 22:15:11 +0000 (00:15 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 09:01:33 +0000 (11:01 +0200)
* removed MS-DOS support

17 files changed:
ChangeLog
Makefile
src/Makefile
src/conftime.h
src/libgame/Makefile
src/libgame/image.c
src/libgame/misc.c
src/libgame/msdos.c [deleted file]
src/libgame/msdos.h [deleted file]
src/libgame/platform.h
src/libgame/setup.c
src/libgame/system.c
src/libgame/system.h
src/libgame/x11.c
src/libgame/x11.h
src/main.c
src/main.h

index 84e7d51c7868a2bcb5711e915a70406981704b28..2b738cc5156ebdd64538614f6b64c9c36a49eb3c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2014-05-15
+       * removed MS-DOS support
+
 2014-05-14
        * cleanup of functions RedrawPlayfield() and BlitScreenToBitmap()
 
index 00e7695b304c300c432e5e4d28fdd875c44125fc..d80dcb5796b102b50930dcd7c94df92e05c664c1 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -41,8 +41,7 @@ X11_PATH = /usr/X11R6
 # uncomment to install game in single-user environment (default)
 # SCORE_ENTRIES = MANY_PER_NAME
 
-# paths for cross-compiling (only needed for non-native MS-DOS and Win32 build)
-CROSS_PATH_MSDOS = /usr/local/cross-msdos/i386-msdosdjgpp
+# path for cross-compiling (only needed for non-native Windows build)
 CROSS_PATH_WIN32 = /usr/local/cross-tools/i386-mingw32msvc
 
 # compile special edition of R'n'D instead of the normal (classic) version
@@ -93,15 +92,9 @@ mac-static:
 mac2-static:
        @$(MAKE_CMD) PLATFORM=macosx TARGET=sdl2-static
 
-msdos:
-       @$(MAKE_CMD) PLATFORM=msdos
-
 os2:
        @$(MAKE_CMD) PLATFORM=os2
 
-cross-msdos:
-       @PATH=$(CROSS_PATH_MSDOS)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-msdos
-
 cross-win32:
        @PATH=$(CROSS_PATH_WIN32)/bin:${PATH} $(MAKE_CMD) PLATFORM=cross-win32
 
@@ -172,9 +165,6 @@ dist-clean:
 dist-build-unix:
        @BUILD_DIST=TRUE $(MAKE)
 
-dist-build-msdos:
-       @BUILD_DIST=TRUE $(MAKE) cross-msdos
-
 dist-build-win32:
        @BUILD_DIST=TRUE $(MAKE) cross-win32
 
@@ -187,9 +177,6 @@ dist-build-macosx-ppc:
 dist-package-unix:
        ./Scripts/make_dist.sh unix .
 
-dist-package-msdos:
-       ./Scripts/make_dist.sh dos .
-
 dist-package-win32:
        ./Scripts/make_dist.sh win .
 
@@ -202,9 +189,6 @@ dist-package-macosx-ppc:
 dist-upload-unix:
        ./Scripts/make_dist.sh unix . upload
 
-dist-upload-msdos:
-       ./Scripts/make_dist.sh dos . upload
-
 dist-upload-win32:
        ./Scripts/make_dist.sh win . upload
 
@@ -218,21 +202,18 @@ dist-build-all:
        $(MAKE) clean
        $(MAKE) dist-build-unix         ; $(MAKE) dist-clean
        $(MAKE) dist-build-win32        ; $(MAKE) dist-clean
-#      $(MAKE) dist-build-msdos        ; $(MAKE) dist-clean
 
 dist-package-all:
        $(MAKE) dist-package-unix
        $(MAKE) dist-package-win32
        $(MAKE) dist-package-macosx
        $(MAKE) dist-package-macosx-ppc
-#      $(MAKE) dist-package-msdos
 
 dist-upload-all:
        $(MAKE) dist-upload-unix
        $(MAKE) dist-upload-win32
        $(MAKE) dist-upload-macosx
        $(MAKE) dist-upload-macosx-ppc
-#      $(MAKE) dist-upload-msdos
 
 dist-all: dist-build-all dist-package-all
 
index 8efe88c658ff570af4f28a3feb8888295845d5ce..39eaad9f0e49e498455e767d993a7385f7ea6ac2 100644 (file)
 
 .EXPORT_ALL_VARIABLES:
 
-ifndef PLATFORM                                # unknown platform -- try auto detection
-ifdef COMSPEC
-PLATFORM = msdos
-else
+ifndef PLATFORM                                # unknown platform -- default to Unix
 PLATFORM = unix
 endif
-endif
 
 ifdef X11_PATH                         # path to X11 from top level Makefile
 XINC_PATH = $(X11_PATH)/include
@@ -79,20 +75,6 @@ EXTRA_LDFLAGS = -lshfolder -lwsock32
 TARGET = sdl2
 endif
 
-ifeq ($(PLATFORM),cross-msdos)         # cross-compiling to MS-DOS
-PROGBASE = rocks
-PROGNAME = ../$(PROGBASE).exe
-TARGET = allegro
-endif
-
-ifeq ($(PLATFORM),msdos)               # native compiling to MS-DOS
-PROGBASE = rocks
-PROGNAME = ../$(PROGBASE).exe
-SYS_CFLAGS = -DTARGET_X11
-SYS_LDFLAGS = -s -lalleg
-RM = del
-endif
-
 
 # -----------------------------------------------------------------------------
 # configuring target
@@ -127,11 +109,6 @@ SDL_LIBS = -lSDL2_image -lSDL2_mixer -lSDL2_net -lsmpeg2 -lmikmod
 SYS_LDFLAGS = $(SDL_LIBS) $(shell sdl2-config --static-libs)
 endif
 
-ifeq ($(TARGET),allegro)               # compiling for Allegro target
-SYS_CFLAGS = -DTARGET_ALLEGRO -I$(CROSS_PATH_MSDOS)/include
-SYS_LDFLAGS = -lalleg
-endif
-
 
 # -----------------------------------------------------------------------------
 # configuring compile-time definitions
index 59f9a2a21f0d2889cefc656cdca286f239f5b669..762c55f1da011f7b27b13a2ce58e23feeb9024fd 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2014-05-14 23:07"
+#define COMPILE_DATE_STRING "2014-05-15 00:13"
index 140e9fd9a5bb6aebd65b494ce3363042b361ecc4..623535279962f9d31733d00c4b35d12ef69efe78 100644 (file)
@@ -21,7 +21,6 @@ SRCS =        system.c        \
        hash.c          \
        setup.c         \
        misc.c          \
-       msdos.c         \
        x11.c           \
        sdl.c
 
@@ -38,7 +37,6 @@ OBJS =        system.o        \
        hash.o          \
        setup.o         \
        misc.o          \
-       msdos.o         \
        x11.o           \
        sdl.o
 
index 50dce1d713b0df9c49b12be304610cf013adecdb..505238dc6a015db3d057f7696e035bbd70b8b89a 100644 (file)
@@ -23,8 +23,6 @@
 
 #if defined(TARGET_X11)
 
-/* for MS-DOS/Allegro, exclude all except newImage() and freeImage() */
-
 Image *newImage(unsigned int width, unsigned int height, unsigned int depth)
 {
   Image *image;
@@ -55,8 +53,6 @@ void freeImage(Image *image)
   free(image);
 }
 
-#if defined(PLATFORM_UNIX)
-
 /* extra colors to try allocating in private color maps to minimize flashing */
 #define NOFLASH_COLORS 256
 
@@ -807,7 +803,6 @@ int Read_PCX_to_Pixmap(Display *display, Window window, GC gc, char *filename,
   return PCX_Success;
 }
 
-#endif /* PLATFORM_UNIX */
 #endif /* TARGET_X11 */
 
 
index 38c062dec0724f267527d79649c54c78e8bfb1fc..7c2f4353851cb803d8dc8bd43fd1474e65711df8 100644 (file)
@@ -223,18 +223,6 @@ boolean getTokenValueFromString(char *string, char **token, char **value)
 /* counter functions                                                         */
 /* ------------------------------------------------------------------------- */
 
-#if defined(PLATFORM_MSDOS)
-volatile unsigned int counter = 0;
-
-void increment_counter()
-{
-  counter++;
-}
-
-END_OF_FUNCTION(increment_counter);
-#endif
-
-
 /* maximal allowed length of a command line option */
 #define MAX_OPTION_LEN         256
 
@@ -323,22 +311,12 @@ static unsigned int mainCounter(int mode)
 
 void InitCounter()             /* set counter back to zero */
 {
-#if !defined(PLATFORM_MSDOS)
   mainCounter(INIT_COUNTER);
-#else
-  LOCK_VARIABLE(counter);
-  LOCK_FUNCTION(increment_counter);
-  install_int_ex(increment_counter, BPS_TO_TIMER(100));
-#endif
 }
 
 unsigned int Counter() /* get milliseconds since last call of InitCounter() */
 {
-#if !defined(PLATFORM_MSDOS)
   return mainCounter(READ_COUNTER);
-#else
-  return (counter * 10);
-#endif
 }
 
 static void sleep_milliseconds(unsigned int milliseconds_delay)
@@ -474,7 +452,7 @@ unsigned int get_random_number(int nr, int max)
 /* system info functions                                                     */
 /* ------------------------------------------------------------------------- */
 
-#if !defined(PLATFORM_MSDOS) && !defined(PLATFORM_ANDROID)
+#if !defined(PLATFORM_ANDROID)
 static char *get_corrected_real_name(char *real_name)
 {
   char *real_name_new = checked_malloc(MAX_USERNAME_LEN + 1);
diff --git a/src/libgame/msdos.c b/src/libgame/msdos.c
deleted file mode 100644 (file)
index c4c6ff4..0000000
+++ /dev/null
@@ -1,1002 +0,0 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1994-2006 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* msdos.c                                                  *
-***********************************************************/
-
-#include "system.h"
-
-
-#if defined(PLATFORM_MSDOS)
-
-#include "sound.h"
-#include "joystick.h"
-#include "misc.h"
-#include "setup.h"
-#include "pcx.h"
-
-#define AllegroDefaultScreen() (display->screens[display->default_screen])
-
-/* allegro driver declarations */
-DECLARE_GFX_DRIVER_LIST(GFX_DRIVER_VBEAF GFX_DRIVER_VESA2L GFX_DRIVER_VESA1)
-DECLARE_COLOR_DEPTH_LIST(COLOR_DEPTH_8)
-DECLARE_DIGI_DRIVER_LIST(DIGI_DRIVER_SB)
-DECLARE_MIDI_DRIVER_LIST()
-DECLARE_JOYSTICK_DRIVER_LIST(JOYSTICK_DRIVER_STANDARD)
-
-/* allegro global variables */
-extern volatile int key_shifts;
-extern int num_joysticks;
-extern JOYSTICK_INFO joy[];
-extern int i_love_bill;
-
-/* internal variables of msdos.c */
-static boolean keyboard_auto_repeat = TRUE;
-static int key_press_state[MAX_SCANCODES];
-static XEvent event_buffer[MAX_EVENT_BUFFER];
-static int pending_events;
-static boolean joystick_event;
-static boolean mouse_installed = FALSE;
-static int last_mouse_pos;
-static int last_mouse_b;
-static int last_joystick_state;
-static BITMAP* video_bitmap;
-
-static RGB global_colormap[MAX_COLORS];
-static int global_colormap_entries_used = 0;
-
-boolean wait_for_vsync;
-
-static BITMAP *Read_PCX_to_AllegroBitmap(char *);
-
-static void allegro_init_drivers()
-{
-  int i;
-
-  for (i = 0; i < MAX_EVENT_BUFFER; i++)
-    event_buffer[i].type = 0;
-
-  for (i = 0; i < MAX_SCANCODES; i++)
-    key_press_state[i] = KeyReleaseMask;
-
-  last_mouse_pos = mouse_pos;
-  last_mouse_b = 0;
-
-  pending_events = 0;
-  clear_keybuf();
-
-  /* enable Windows friendly timer mode (already default under Windows) */
-  i_love_bill = TRUE;
-
-  install_keyboard();
-  install_timer();
-  if (install_mouse() > 0)
-    mouse_installed = TRUE;
-
-  last_joystick_state = 0;
-  joystick_event = FALSE;
-}
-
-static boolean allegro_init_audio()
-{
-  reserve_voices(NUM_MIXER_CHANNELS, 0);
-
-  if (install_sound(DIGI_AUTODETECT, MIDI_NONE, NULL) == -1)
-    if (install_sound(DIGI_SB, MIDI_NONE, NULL) == -1)
-      return FALSE;
-
-  return TRUE;
-}
-
-static boolean hide_mouse(Display *display, int x, int y,
-                         unsigned int width, unsigned int height)
-{
-  if (mouse_x + display->mouse_ptr->w < x || mouse_x > x + width)
-    return FALSE;
-  if (mouse_y + display->mouse_ptr->h < y || mouse_y > y + height)
-    return FALSE;
-
-  show_mouse(NULL);
-
-  return TRUE;
-}
-
-static void unhide_mouse(Display *display)
-{
-  if (mouse_installed)
-    show_mouse(video_bitmap);
-}
-
-static KeySym ScancodeToKeySym(byte scancode)
-{
-  switch(scancode)
-  {
-    case KEY_ESC:              return XK_Escape;
-    case KEY_1:                        return XK_1;
-    case KEY_2:                        return XK_2;
-    case KEY_3:                        return XK_3;
-    case KEY_4:                        return XK_4;
-    case KEY_5:                        return XK_5;
-    case KEY_6:                        return XK_6;
-    case KEY_7:                        return XK_7;
-    case KEY_8:                        return XK_8;
-    case KEY_9:                        return XK_9;
-    case KEY_0:                        return XK_0;
-    case KEY_MINUS:            return XK_minus;
-    case KEY_EQUALS:           return XK_equal;
-    case KEY_BACKSPACE:                return XK_BackSpace;
-    case KEY_TAB:              return XK_Tab;
-    case KEY_Q:                        return XK_q;
-    case KEY_W:                        return XK_w;
-    case KEY_E:                        return XK_e;
-    case KEY_R:                        return XK_r;
-    case KEY_T:                        return XK_t;
-    case KEY_Y:                        return XK_y;
-    case KEY_U:                        return XK_u;
-    case KEY_I:                        return XK_i;
-    case KEY_O:                        return XK_o;
-    case KEY_P:                        return XK_p;
-    case KEY_OPENBRACE:                return XK_braceleft;
-    case KEY_CLOSEBRACE:       return XK_braceright;
-    case KEY_ENTER:            return XK_Return;
-    case KEY_LCONTROL:         return XK_Control_L;
-    case KEY_A:                        return XK_a;
-    case KEY_S:                        return XK_s;
-    case KEY_D:                        return XK_d;
-    case KEY_F:                        return XK_f;
-    case KEY_G:                        return XK_g;
-    case KEY_H:                        return XK_h;
-    case KEY_J:                        return XK_j;
-    case KEY_K:                        return XK_k;
-    case KEY_L:                        return XK_l;
-    case KEY_COLON:            return XK_colon;
-    case KEY_QUOTE:            return XK_apostrophe;
-    case KEY_TILDE:            return XK_asciitilde;
-    case KEY_LSHIFT:           return XK_Shift_L;
-    case KEY_BACKSLASH:                return XK_backslash;
-    case KEY_Z:                        return XK_z;
-    case KEY_X:                        return XK_x;
-    case KEY_C:                        return XK_c;
-    case KEY_V:                        return XK_v;
-    case KEY_B:                        return XK_b;
-    case KEY_N:                        return XK_n;
-    case KEY_M:                        return XK_m;
-    case KEY_COMMA:            return XK_comma;
-    case KEY_STOP:             return XK_period;
-    case KEY_SLASH:            return XK_slash;
-    case KEY_RSHIFT:           return XK_Shift_R;
-    case KEY_ASTERISK:         return XK_KP_Multiply;
-    case KEY_ALT:              return XK_Alt_L;
-    case KEY_SPACE:            return XK_space;
-    case KEY_CAPSLOCK:         return XK_Caps_Lock;
-    case KEY_F1:               return XK_F1;
-    case KEY_F2:               return XK_F2;
-    case KEY_F3:               return XK_F3;
-    case KEY_F4:               return XK_F4;
-    case KEY_F5:               return XK_F5;
-    case KEY_F6:               return XK_F6;
-    case KEY_F7:               return XK_F7;
-    case KEY_F8:               return XK_F8;
-    case KEY_F9:               return XK_F9;
-    case KEY_F10:              return XK_F10;
-    case KEY_NUMLOCK:          return XK_Num_Lock;
-    case KEY_SCRLOCK:          return XK_Scroll_Lock;
-    case KEY_HOME:             return XK_Home;
-    case KEY_UP:               return XK_Up;
-    case KEY_PGUP:             return XK_Page_Up;
-    case KEY_MINUS_PAD:                return XK_KP_Subtract;
-    case KEY_LEFT:             return XK_Left;
-    case KEY_5_PAD:            return XK_KP_5;
-    case KEY_RIGHT:            return XK_Right;
-    case KEY_PLUS_PAD:         return XK_KP_Add;
-    case KEY_END:              return XK_End;
-    case KEY_DOWN:             return XK_Down;
-    case KEY_PGDN:             return XK_Page_Down;
-    case KEY_INSERT:           return XK_Insert;
-    case KEY_DEL:              return XK_Delete;
-    case KEY_PRTSCR:           return XK_Print;
-    case KEY_F11:              return XK_F11;
-    case KEY_F12:              return XK_F12;
-    case KEY_LWIN:             return XK_Meta_L;
-    case KEY_RWIN:             return XK_Meta_R;
-    case KEY_MENU:             return XK_Menu;
-    case KEY_PAD:              return XK_VoidSymbol;
-    case KEY_RCONTROL:         return XK_Control_R;
-    case KEY_ALTGR:            return XK_Alt_R;
-    case KEY_SLASH2:           return XK_KP_Divide;
-    case KEY_PAUSE:            return XK_Pause;
-
-    case NEW_KEY_BACKSLASH:    return XK_backslash;
-    case NEW_KEY_1_PAD:                return XK_KP_1;
-    case NEW_KEY_2_PAD:                return XK_KP_2;
-    case NEW_KEY_3_PAD:                return XK_KP_3;
-    case NEW_KEY_4_PAD:                return XK_KP_4;
-    case NEW_KEY_5_PAD:                return XK_KP_5;
-    case NEW_KEY_6_PAD:                return XK_KP_6;
-    case NEW_KEY_7_PAD:                return XK_KP_7;
-    case NEW_KEY_8_PAD:                return XK_KP_8;
-    case NEW_KEY_9_PAD:                return XK_KP_9;
-    case NEW_KEY_0_PAD:                return XK_KP_0;
-    case NEW_KEY_STOP_PAD:     return XK_KP_Separator;
-    case NEW_KEY_EQUALS_PAD:   return XK_KP_Equal;
-    case NEW_KEY_SLASH_PAD:    return XK_KP_Divide;
-    case NEW_KEY_ASTERISK_PAD: return XK_KP_Multiply;
-    case NEW_KEY_ENTER_PAD:    return XK_KP_Enter;
-
-    default:                   return XK_VoidSymbol;
-  }
-}
-
-Pixel AllegroAllocColorCell(int r, int g, int b)
-{
-  byte pixel_mapping = 0;
-  int i;
-
-  r >>= 10;
-  g >>= 10;
-  b >>= 10;
-
-  /* try to use existing colors from the global colormap */
-  for (i = 0; i < global_colormap_entries_used; i++)
-  {
-    if (r == global_colormap[i].r &&
-       g == global_colormap[i].g &&
-       b == global_colormap[i].b)              /* color found */
-    {
-      pixel_mapping = i;
-      break;
-    }
-  }
-
-  if (i == global_colormap_entries_used)       /* color not found */
-  {
-    if (global_colormap_entries_used < MAX_COLORS)
-      global_colormap_entries_used++;
-
-    i = global_colormap_entries_used - 1;
-
-    global_colormap[i].r = r;
-    global_colormap[i].g = g;
-    global_colormap[i].b = b;
-
-    set_palette(global_colormap);
-
-    pixel_mapping = i;
-  }
-
-  return pixel_mapping;
-}
-
-void XMapWindow(Display *display, Window window)
-{
-  int x, y;
-  unsigned int width, height;
-  boolean mouse_off;
-
-  x = AllegroDefaultScreen().x;
-  y = AllegroDefaultScreen().y;
-  width = AllegroDefaultScreen().width;
-  height = AllegroDefaultScreen().height;
-
-  mouse_off = hide_mouse(display, x, y, width, height);
-  blit((BITMAP *)window, video_bitmap, 0, 0, x, y, width, height);
-
-  if (mouse_off)
-    unhide_mouse(display);
-}
-
-Display *XOpenDisplay(char *display_name)
-{
-  Screen *screen;
-  Display *display;
-  BITMAP *mouse_bitmap = NULL;
-  char *mouse_filename = getCustomImageFilename(program.msdos_cursor_filename);
-
-  if ((mouse_bitmap = Read_PCX_to_AllegroBitmap(mouse_filename)) == NULL)
-    return NULL;
-
-  screen = malloc(sizeof(Screen));
-  display = malloc(sizeof(Display));
-
-  screen[0].cmap = 0;
-  screen[0].root = 0;
-  screen[0].white_pixel = AllegroAllocColorCell(0xFFFF, 0xFFFF, 0xFFFF);
-  screen[0].black_pixel = AllegroAllocColorCell(0x0000, 0x0000, 0x0000);
-  screen[0].video_bitmap = NULL;
-
-  display->default_screen = 0;
-  display->screens = screen;
-  display->mouse_ptr = mouse_bitmap;
-
-  allegro_init();
-  allegro_init_drivers();
-  set_color_depth(8);
-
-  /* force Windows 95 to switch to fullscreen mode */
-  set_gfx_mode(GFX_AUTODETECT, 320, 200, 0, 0);
-  rest(200);
-  set_gfx_mode(GFX_AUTODETECT, XRES, YRES, 0, 0);
-
-  return display;
-}
-
-Window XCreateSimpleWindow(Display *display, Window parent, int x, int y,
-                          unsigned int width, unsigned int height,
-                          unsigned int border_width, unsigned int border,
-                          unsigned int background)
-{
-  video_bitmap = create_video_bitmap(XRES, YRES);
-  clear_to_color(video_bitmap, background);
-
-  AllegroDefaultScreen().video_bitmap = video_bitmap;
-  AllegroDefaultScreen().x = x;
-  AllegroDefaultScreen().y = y;
-  AllegroDefaultScreen().width = XRES;
-  AllegroDefaultScreen().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(AllegroDefaultScreen().x + 1,
-                 AllegroDefaultScreen().y + 1,
-                 AllegroDefaultScreen().x + video.width + 1,
-                 AllegroDefaultScreen().y + video.height + 1);
-
-  show_video_bitmap(video_bitmap);
-
-  return (Window)video_bitmap;
-}
-
-Status XStringListToTextProperty(char **list, int count,
-                                XTextProperty *text_prop_return)
-{
-  char *string;
-
-  if (count >= 1)
-  {
-    string = malloc(strlen(list[0] + 1));
-    strcpy(string, list[0]);
-    text_prop_return->value = (unsigned char *)string;
-    return 1;
-  }
-  else
-    text_prop_return = NULL;
-
-  return 0;
-}
-
-void XFree(void *data)
-{
-  checked_free(data);
-}
-
-GC XCreateGC(Display *display, Drawable d, unsigned int value_mask,
-            XGCValues *values)
-{
-  XGCValues *gcv;
-  gcv = malloc(sizeof(XGCValues));
-  gcv->foreground = values->foreground;
-  gcv->background = values->background;
-  gcv->graphics_exposures = values->graphics_exposures;
-  gcv->clip_mask = values->clip_mask;
-  gcv->clip_x_origin = values->clip_x_origin;
-  gcv->clip_y_origin = values->clip_y_origin;
-  gcv->value_mask = value_mask;
-  return (GC)gcv;
-}
-
-void XSetClipMask(Display *display, GC gc, Pixmap pixmap)
-{
-  XGCValues *gcv = (XGCValues *)gc;
-
-  gcv->clip_mask = pixmap;
-  gcv->value_mask |= GCClipMask;
-}
-
-void XSetClipOrigin(Display *display, GC gc, int x, int y)
-{
-  XGCValues *gcv = (XGCValues *)gc;
-
-  gcv->clip_x_origin = x;
-  gcv->clip_x_origin = y;
-}
-
-void XFillRectangle(Display *display, Drawable d, GC gc, int x, int y,
-                   unsigned int width, unsigned int height)
-{
-  boolean mouse_off = FALSE;
-
-  if ((BITMAP *)d == video_bitmap)
-  {
-    x += AllegroDefaultScreen().x;
-    y += AllegroDefaultScreen().y;
-    freeze_mouse_flag = TRUE;
-    mouse_off = hide_mouse(display, x, y, width, height);
-  }
-
-  rectfill((BITMAP *)d, x, y, x + width - 1, y + height - 1,
-          ((XGCValues *)gc)->foreground);
-
-  if (mouse_off)
-    unhide_mouse(display);
-
-  freeze_mouse_flag = FALSE;
-}
-
-Pixmap XCreatePixmap(Display *display, Drawable d, unsigned int width,
-                    unsigned int height, unsigned int depth)
-{
-  BITMAP *bitmap = NULL;
-
-  if (gfx_capabilities & GFX_HW_VRAM_BLIT &&
-      width == gfx.scrollbuffer_width && height == gfx.scrollbuffer_height)
-    bitmap = create_video_bitmap(width, height);
-
-  if (bitmap == NULL)
-    bitmap = create_bitmap(width, height);
-
-  return (Pixmap)bitmap;
-}
-
-void XSync(Display *display, Bool discard_events)
-{
-  wait_for_vsync = TRUE;
-}
-
-inline void XCopyArea(Display *display, Drawable src, Drawable dest, GC gc,
-                     int src_x, int src_y,
-                     unsigned int width, unsigned int height,
-                     int dest_x, int dest_y)
-{
-  boolean mouse_off = FALSE;
-
-  if ((BITMAP *)src == video_bitmap)
-  {
-    src_x += AllegroDefaultScreen().x;
-    src_y += AllegroDefaultScreen().y;
-  }
-
-  if ((BITMAP *)dest == video_bitmap)
-  {
-    dest_x += AllegroDefaultScreen().x;
-    dest_y += AllegroDefaultScreen().y;
-    freeze_mouse_flag = TRUE;
-    mouse_off = hide_mouse(display, dest_x, dest_y, width, height);
-  }
-
-  if (wait_for_vsync)
-  {
-    wait_for_vsync = FALSE;
-    vsync();
-  }
-
-  if (((XGCValues *)gc)->value_mask & GCClipMask)
-    masked_blit((BITMAP *)src, (BITMAP *)dest, src_x, src_y, dest_x, dest_y,
-               width, height);
-  else
-    blit((BITMAP *)src, (BITMAP *)dest, src_x, src_y, dest_x, dest_y,
-        width, height);
-
-  if (mouse_off)
-    unhide_mouse(display);
-
-  freeze_mouse_flag = FALSE;
-}
-
-static BITMAP *Image_to_AllegroBitmap(Image *image)
-{
-  BITMAP *bitmap;
-  byte *src_ptr = image->data;
-  byte pixel_mapping[MAX_COLORS];
-  unsigned int depth = 8;
-  int i, x, y;
-
-  if (image->type == IMAGETYPE_TRUECOLOR && depth == 8)
-    Error(ERR_EXIT, "cannot handle true-color images on 8-bit display");
-
-  /* allocate new allegro bitmap structure */
-  if ((bitmap = create_bitmap_ex(depth, image->width, image->height)) == NULL)
-  {
-    errno_pcx = PCX_NoMemory;
-    return NULL;
-  }
-
-  clear(bitmap);
-
-  /* try to use existing colors from the global colormap */
-  for (i = 0; i < MAX_COLORS; i++)
-  {
-    if (!image->rgb.color_used[i])
-      continue;
-
-    pixel_mapping[i] = AllegroAllocColorCell(image->rgb.red[i],
-                                            image->rgb.green[i],
-                                            image->rgb.blue[i]);
-  }
-
-  /* copy bitmap data */
-  for (y = 0; y < image->height; y++)
-    for (x = 0; x < image->width; x++)
-      putpixel(bitmap, x, y, pixel_mapping[*src_ptr++]);
-
-  return bitmap;
-}
-
-static BITMAP *Read_PCX_to_AllegroBitmap(char *filename)
-{
-  BITMAP *bitmap;
-  Image *image;
-
-  /* read the graphic file in PCX format to internal image structure */
-  if ((image = Read_PCX_to_Image(filename)) == NULL)
-    return NULL;
-
-  /* convert internal image structure to allegro bitmap structure */
-  if ((bitmap = Image_to_AllegroBitmap(image)) == NULL)
-    return NULL;
-
-  set_palette(global_colormap);
-
-  return bitmap;
-}
-
-int Read_PCX_to_Pixmap(Display *display, Window window, GC gc, char *filename,
-                      Pixmap *pixmap, Pixmap *pixmap_mask)
-{
-  BITMAP *bitmap;
-
-  if ((bitmap = Read_PCX_to_AllegroBitmap(filename)) == NULL)
-    return errno_pcx;
-
-  *pixmap = (Pixmap)bitmap;
-
-  /* pixmap_mask will never be used in Allegro (which uses masked_blit()),
-     so use non-NULL dummy pointer to empty Pixmap */
-  *pixmap_mask = (Pixmap)DUMMY_MASK;
-
-  return PCX_Success;
-}
-
-int XReadBitmapFile(Display *display, Drawable d, char *filename,
-                   unsigned int *width_return, unsigned int *height_return,
-                   Pixmap *bitmap_return,
-                   int *x_hot_return, int *y_hot_return)
-{
-  BITMAP *bitmap;
-
-  if ((bitmap = Read_PCX_to_AllegroBitmap(filename)) == NULL)
-    return BitmapOpenFailed;
-
-  *width_return = bitmap->w;
-  *height_return = bitmap->h;
-  *x_hot_return = -1;
-  *y_hot_return = -1;
-  *bitmap_return = (Pixmap)bitmap;
-
-  return BitmapSuccess;
-}
-
-void XFreePixmap(Display *display, Pixmap pixmap)
-{
-  if (pixmap != DUMMY_MASK &&
-      (is_memory_bitmap((BITMAP *)pixmap) ||
-       is_screen_bitmap((BITMAP *)pixmap)))
-    destroy_bitmap((BITMAP *)pixmap);
-}
-
-void XFreeGC(Display *display, GC gc)
-{
-  XGCValues *gcv = (XGCValues *)gc;
-
-  checked_free(gcv);
-}
-
-void XUnmapWindow(Display *display, Window window)
-{
-}
-
-void XCloseDisplay(Display *display)
-{
-  BITMAP *bitmap = video_bitmap;
-
-  if (is_screen_bitmap(bitmap))
-    destroy_bitmap(bitmap);
-
-  checked_free(display->screens);
-  checked_free(display);
-
-  /* return to text mode (or DOS box on Windows screen) */
-  set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
-}
-
-void XNextEvent(Display *display, XEvent *event_return)
-{
-  while (!pending_events)
-    XPending(display);
-
-  memcpy(event_return, &event_buffer[pending_events], sizeof(XEvent));
-  pending_events--;
-}
-
-static void NewKeyEvent(int key_press_state, KeySym keysym)
-{
-  XKeyEvent *xkey;
-
-  if (pending_events >= MAX_EVENT_BUFFER)
-    return;
-
-  pending_events++;
-  xkey = (XKeyEvent *)&event_buffer[pending_events];
-  xkey->type = key_press_state;
-  xkey->state = (unsigned int)keysym;
-}
-
-#define HANDLE_RAW_KB_ALL_KEYS                 0
-#define HANDLE_RAW_KB_MODIFIER_KEYS_ONLY       1
-
-static int modifier_scancode[] =
-{
-  KEY_LSHIFT,
-  KEY_RSHIFT,
-  KEY_LCONTROL,
-  KEY_RCONTROL,
-  KEY_ALT,
-  KEY_ALTGR,
-  KEY_LWIN,
-  KEY_RWIN,
-  KEY_CAPSLOCK,
-  KEY_NUMLOCK,
-  KEY_SCRLOCK,
-  -1
-};
-
-static void HandleKeyboardRaw(int mode)
-{
-  int i;
-
-  for (i = 0; i < MAX_SCANCODES; i++)
-  {
-    int scancode, new_state, event_type;
-    char key_pressed;
-
-    if (mode == HANDLE_RAW_KB_MODIFIER_KEYS_ONLY)
-    {
-      if ((scancode = modifier_scancode[i]) == -1)
-       return;
-    }
-    else
-      scancode = i;
-
-    key_pressed = key[scancode];
-    new_state = (key_pressed ? KeyPressMask : KeyReleaseMask);
-    event_type = (key_pressed ? KeyPress : KeyRelease);
-
-    if (key_press_state[i] == new_state)       /* state not changed */
-      continue;
-
-    key_press_state[i] = new_state;
-
-    NewKeyEvent(event_type, ScancodeToKeySym(scancode));
-  }
-}
-
-static void HandleKeyboardEvent()
-{
-  if (keypressed())
-  {
-    int key_info = readkey();
-    int scancode = (key_info >> 8);
-    int ascii = (key_info & 0xff);
-    KeySym keysym = ScancodeToKeySym(scancode);
-
-    if (scancode == KEY_PAD)
-    {
-      /* keys on the numeric keypad return just scancode 'KEY_PAD'
-        for some reason, so we must handle them separately */
-
-      if (ascii >= '0' && ascii <= '9')
-       keysym = XK_KP_0 + (KeySym)(ascii - '0');
-      else if (ascii == '.')
-       keysym = XK_KP_Separator;
-    }
-    else if (ascii >= ' ' && ascii <= 'Z')
-      keysym = XK_space + (KeySym)(ascii - ' ');
-    else if (ascii == '^')
-      keysym = XK_asciicircum;
-    else if (ascii == '_')
-      keysym = XK_underscore;
-    else if (ascii == 'Ä')
-      keysym = XK_Adiaeresis;
-    else if (ascii == 'Ö')
-      keysym = XK_Odiaeresis;
-    else if (ascii == 'Ãœ')
-      keysym = XK_Udiaeresis;
-    else if (ascii == 'ä')
-      keysym = XK_adiaeresis;
-    else if (ascii == 'ö')
-      keysym = XK_odiaeresis;
-    else if (ascii == 'ü')
-      keysym = XK_udiaeresis;
-    else if (ascii == 'ß')
-      keysym = XK_ssharp;
-
-    NewKeyEvent(KeyPress, keysym);
-  }
-  else if (key_shifts & (KB_SHIFT_FLAG | KB_CTRL_FLAG | KB_ALT_FLAG))
-  {
-    /* the allegro function keypressed() does not give us single pressed
-       modifier keys, so we must detect them with the internal global
-       allegro variable 'key_shifts' and then handle them separately */
-
-    HandleKeyboardRaw(HANDLE_RAW_KB_MODIFIER_KEYS_ONLY);
-  }
-}
-
-int XPending(Display *display)
-{
-  XButtonEvent *xbutton;
-  XMotionEvent *xmotion;
-  int i;
-
-  /* When using 'HandleKeyboardRaw()', keyboard input is also stored in
-     the allegro keyboard input buffer and would be available a second
-     time by calling 'HandleKeyboardEvent()'. To avoid double keyboard
-     events, the allegro function 'clear_keybuf()' must be called each
-     time when switching from calling 'HandleKeyboardRaw()' to calling
-     'HandleKeyboardEvent()' to get keyboard input, which is actually
-     done by 'XAutoRepeatOn()' which sets keyboard_auto_repeat to TRUE. */
-
-  /* keyboard event */
-  if (keyboard_auto_repeat)
-    HandleKeyboardEvent();
-  else
-    HandleKeyboardRaw(HANDLE_RAW_KB_ALL_KEYS);
-
-  /* mouse motion event */
-  if (mouse_pos != last_mouse_pos)
-  {
-    last_mouse_pos = mouse_pos;
-    pending_events++;
-    xmotion = (XMotionEvent *)&event_buffer[pending_events];
-    xmotion->type = MotionNotify;
-    xmotion->x = mouse_x - AllegroDefaultScreen().x;
-    xmotion->y = mouse_y - AllegroDefaultScreen().y;
-  }
-
-  /* mouse button event */
-  if (mouse_b != last_mouse_b)
-  {
-    for (i = 0; i < 3; i++)    /* check all three mouse buttons */
-    {
-      int bitmask = (1 << i);
-
-      if ((last_mouse_b & bitmask) != (mouse_b & bitmask))
-      {
-       int mapping[3] = { 1, 3, 2 };
-
-       pending_events++;
-        xbutton = (XButtonEvent *)&event_buffer[pending_events];
-        xbutton->type = (mouse_b & bitmask ? ButtonPress : ButtonRelease);
-        xbutton->button = mapping[i];
-       xbutton->x = mouse_x - AllegroDefaultScreen().x;
-       xbutton->y = mouse_y - AllegroDefaultScreen().y;
-      }
-    }
-    last_mouse_b = mouse_b;
-  }
-
-  return pending_events;
-}
-
-KeySym XLookupKeysym(XKeyEvent *key_event, int index)
-{
-  return key_event->state;
-}
-
-int XLookupString(XKeyEvent *key_event, char *buffer, int buffer_size,
-                 KeySym *key, XComposeStatus *compose)
-{
-  *key = key_event->state;
-  return 0;
-}
-
-void XSetForeground(Display *display, GC gc, unsigned int pixel)
-{
-  XGCValues *gcv = (XGCValues *)gc;
-
-  gcv->foreground = pixel;
-}
-
-void XDrawLine(Display *display, Drawable d, GC gc,
-              int x1, int y1, int x2, int y2)
-{
-  XGCValues *gcv = (XGCValues *)gc;
-  boolean mouse_off = FALSE;
-
-  if ((BITMAP *)d == video_bitmap)
-  {
-    x1 += AllegroDefaultScreen().x;
-    y1 += AllegroDefaultScreen().y;
-    x2 += AllegroDefaultScreen().x;
-    y2 += AllegroDefaultScreen().y;
-    freeze_mouse_flag = TRUE;
-    mouse_off = hide_mouse(display, MIN(x1, x2), MIN(y1, y2),
-                          MAX(x1, x2) - MIN(x1, x2),
-                          MAX(y1, y2) - MIN(y1, y2));
-  }
-
-  line((BITMAP *)d, x1, y1, x2, y2, gcv->foreground);
-
-  if (mouse_off)
-    unhide_mouse(display);
-
-  freeze_mouse_flag = FALSE;
-}
-
-void XDestroyImage(XImage *ximage)
-{
-}
-
-void XDestroyWindow(Display *display, Window window)
-{
-}
-
-Bool XQueryPointer(Display *display, Window window,
-                  Window *root, Window *child, int *root_x, int *root_y,
-                  int *win_x, int *win_y, unsigned int *mask)
-{
-  *win_x = mouse_x - AllegroDefaultScreen().x;
-  *win_y = mouse_y - AllegroDefaultScreen().y;
-
-  return True;
-}
-
-void XAutoRepeatOn(Display *display)
-{
-  keyboard_auto_repeat = TRUE;
-  clear_keybuf();
-}
-
-void XAutoRepeatOff(Display *display)
-{
-  keyboard_auto_repeat = FALSE;
-}
-
-void AllegroDrawLine(Drawable d, int from_x, int from_y, int to_x, int to_y,
-                    Pixel color)
-{
-  boolean mouse_off = FALSE;
-
-  if ((BITMAP *)d == video_bitmap)
-  {
-    int dx = AllegroDefaultScreen().x;
-    int dy = AllegroDefaultScreen().y;
-    int x1, y1, x2, y2;
-
-    from_x += dx;
-    from_y += dy;
-    to_x += dx;
-    to_y += dy;
-
-    x1 = (from_x < to_x ? from_x : to_x);
-    y1 = (from_y < to_y ? from_y : to_y);
-    x2 = (from_x < to_x ? to_x : from_x);
-    y2 = (from_y < to_y ? to_y : from_y);
-
-    freeze_mouse_flag = TRUE;
-    mouse_off = hide_mouse(display, x1, y1, x2 - x1 + 1, y2 - y1 + 1);
-  }
-
-  line((BITMAP *)d, from_x, from_y, to_x, to_y, color);
-
-  if (mouse_off)
-    unhide_mouse(display);
-
-  freeze_mouse_flag = FALSE;
-}
-
-Pixel AllegroGetPixel(Drawable d, int x, int y)
-{
-  return getpixel((BITMAP *)d, x, y);
-}
-
-void AllegroZoomBitmap(Drawable src, Drawable dst,
-                      int src_width, int src_height,
-                      int dst_width, int dst_height)
-{
-  stretch_blit((BITMAP *)src, (BITMAP *)dst,
-              0, 0, src_width, src_height, 0, 0, dst_width, dst_height);
-}
-
-void MSDOSOpenAudio(void)
-{
-  if (allegro_init_audio())
-  {
-    audio.sound_available = TRUE;
-    audio.music_available = TRUE;
-    audio.loops_available = TRUE;
-    audio.sound_enabled = TRUE;
-
-    audio.num_channels = NUM_MIXER_CHANNELS;
-    audio.music_channel = MUSIC_CHANNEL;
-    audio.first_sound_channel = FIRST_SOUND_CHANNEL;
-
-    Mixer_InitChannels();
-  }
-}
-
-void MSDOSCloseAudio(void)
-{
-  /* nothing to be done here */
-}
-
-void NetworkServer(int port, int serveronly)
-{
-  Error(ERR_WARN, "networking not supported in DOS version");
-}
-
-
-/* ========================================================================= */
-/* joystick functions                                                        */
-/* ========================================================================= */
-
-void MSDOSInitJoysticks()
-{
-  int i;
-
-  /* start from scratch */
-  remove_joystick();
-
-  /* try to access two joysticks; if that fails, try to access just one */
-  if (install_joystick(JOY_TYPE_2PADS) == 0 ||
-      install_joystick(JOY_TYPE_AUTODETECT) == 0)
-    joystick.status = JOYSTICK_ACTIVATED;
-
-  for (i = 0; i < MAX_PLAYERS; i++)
-  {
-    char *device_name = setup.input[i].joy.device_name;
-    int joystick_nr = getJoystickNrFromDeviceName(device_name);
-
-    if (joystick_nr >= num_joysticks)
-      joystick_nr = -1;
-
-    /* misuse joystick file descriptor variable to store joystick number */
-    joystick.fd[i] = joystick_nr;
-  }
-}
-
-boolean MSDOSReadJoystick(int nr, int *x, int *y, boolean *b1, boolean *b2)
-{
-  /* the allegro global variable 'num_joysticks' contains the number
-     of joysticks found at initialization under MS-DOS / Windows */
-
-  if (nr < 0 || nr >= num_joysticks)
-    return FALSE;
-
-  poll_joystick();
-
-  if (x != NULL)
-    *x = joy[nr].stick[0].axis[0].pos;
-  if (y != NULL)
-    *y = joy[nr].stick[0].axis[1].pos;
-
-  if (b1 != NULL)
-    *b1 = joy[nr].button[0].b;
-  if (b2 != NULL)
-    *b2 = joy[nr].button[1].b;
-
-  return TRUE;
-}
-
-#endif /* PLATFORM_MSDOS */
diff --git a/src/libgame/msdos.h b/src/libgame/msdos.h
deleted file mode 100644 (file)
index 9d6a215..0000000
+++ /dev/null
@@ -1,760 +0,0 @@
-/***********************************************************
-* Artsoft Retro-Game Library                               *
-*----------------------------------------------------------*
-* (c) 1994-2006 Artsoft Entertainment                      *
-*               Holger Schemel                             *
-*               Detmolder Strasse 189                      *
-*               33604 Bielefeld                            *
-*               Germany                                    *
-*               e-mail: info@artsoft.org                   *
-*----------------------------------------------------------*
-* msdos.h                                                  *
-***********************************************************/
-
-#ifndef MSDOS_H
-#define MSDOS_H
-
-#include <time.h>
-#include "allegro.h"
-
-
-/* symbol 'window' is defined in DJGPP cross-compiler in libc.a(conio.o) */
-#define window window_internal
-
-/* symbol 'font' is defined in "allegro.h" */
-#define font font_internal
-
-/* system dependent definitions */
-
-#define TARGET_STRING          "DOS"
-
-/* allegro defines TRUE as -1 */
-#ifdef TRUE
-#undef TRUE
-#undef FALSE
-#endif
-
-#define TRUE   1
-#define FALSE  0
-
-#define XRES   800
-#define YRES   600
-
-/* allegro defines some macros that bother the rest of the program */
-#ifdef joy_x
-#undef joy_x
-#undef joy_y
-#undef joy_left
-#undef joy_right
-#undef joy_up
-#undef joy_down
-#undef joy_b1
-#undef joy_b2
-#endif
-
-/* additional Allegro keyboard mapping */
-
-/* The following are all undefined in Allegro */
-#define NEW_KEY_BACKSLASH      86
-#define NEW_KEY_1_PAD          101
-#define NEW_KEY_2_PAD          102
-#define NEW_KEY_3_PAD          103
-#define NEW_KEY_4_PAD          104
-#define NEW_KEY_5_PAD          105
-#define NEW_KEY_6_PAD          106
-#define NEW_KEY_7_PAD          107
-#define NEW_KEY_8_PAD          108
-#define NEW_KEY_9_PAD          109
-#define NEW_KEY_0_PAD          110
-#define NEW_KEY_STOP_PAD       111
-#define NEW_KEY_EQUALS_PAD     112
-#define NEW_KEY_SLASH_PAD      113
-#define NEW_KEY_ASTERISK_PAD   114
-#define NEW_KEY_ENTER_PAD      115
-
-/* X11 keyboard mapping (from 'keysymdef.h') */
-
-#define XK_VoidSymbol          0xFFFFFF        /* void symbol */
-
-/*
- * TTY Functions, cleverly chosen to map to ascii, for convenience of
- * programming, but could have been arbitrary (at the cost of lookup
- * tables in client code.
- */
-
-#define XK_BackSpace           0xFF08  /* back space, back char */
-#define XK_Tab                 0xFF09
-#define XK_Linefeed            0xFF0A  /* Linefeed, LF */
-#define XK_Clear               0xFF0B
-#define XK_Return              0xFF0D  /* Return, enter */
-#define XK_Pause               0xFF13  /* Pause, hold */
-#define XK_Scroll_Lock         0xFF14
-#define XK_Sys_Req             0xFF15
-#define XK_Escape              0xFF1B
-#define XK_Delete              0xFFFF  /* Delete, rubout */
-
-/* International & multi-key character composition */
-
-#define XK_Multi_key           0xFF20  /* Multi-key character compose */
-#define XK_SingleCandidate     0xFF3C
-#define XK_MultipleCandidate   0xFF3D
-#define XK_PreviousCandidate   0xFF3E
-
-/* Cursor control & motion */
-
-#define XK_Home                        0xFF50
-#define XK_Left                        0xFF51  /* Move left, left arrow */
-#define XK_Up                  0xFF52  /* Move up, up arrow */
-#define XK_Right               0xFF53  /* Move right, right arrow */
-#define XK_Down                        0xFF54  /* Move down, down arrow */
-#define XK_Prior               0xFF55  /* Prior, previous */
-#define XK_Page_Up             0xFF55
-#define XK_Next                        0xFF56  /* Next */
-#define XK_Page_Down           0xFF56
-#define XK_End                 0xFF57  /* EOL */
-#define XK_Begin               0xFF58  /* BOL */
-
-/* Misc Functions */
-
-#define XK_Select              0xFF60  /* Select, mark */
-#define XK_Print               0xFF61
-#define XK_Execute             0xFF62  /* Execute, run, do */
-#define XK_Insert              0xFF63  /* Insert, insert here */
-#define XK_Undo                        0xFF65  /* Undo, oops */
-#define XK_Redo                        0xFF66  /* redo, again */
-#define XK_Menu                        0xFF67
-#define XK_Find                        0xFF68  /* Find, search */
-#define XK_Cancel              0xFF69  /* Cancel, stop, abort, exit */
-#define XK_Help                        0xFF6A  /* Help */
-#define XK_Break               0xFF6B
-#define XK_Mode_switch         0xFF7E  /* Character set switch */
-#define XK_script_switch        0xFF7E  /* Alias for mode_switch */
-#define XK_Num_Lock            0xFF7F
-
-/* Keypad Functions, keypad numbers cleverly chosen to map to ascii */
-
-#define XK_KP_Space            0xFF80  /* space */
-#define XK_KP_Tab              0xFF89
-#define XK_KP_Enter            0xFF8D  /* enter */
-#define XK_KP_F1               0xFF91  /* PF1, KP_A, ... */
-#define XK_KP_F2               0xFF92
-#define XK_KP_F3               0xFF93
-#define XK_KP_F4               0xFF94
-#define XK_KP_Home             0xFF95
-#define XK_KP_Left             0xFF96
-#define XK_KP_Up               0xFF97
-#define XK_KP_Right            0xFF98
-#define XK_KP_Down             0xFF99
-#define XK_KP_Prior            0xFF9A
-#define XK_KP_Page_Up          0xFF9A
-#define XK_KP_Next             0xFF9B
-#define XK_KP_Page_Down                0xFF9B
-#define XK_KP_End              0xFF9C
-#define XK_KP_Begin            0xFF9D
-#define XK_KP_Insert           0xFF9E
-#define XK_KP_Delete           0xFF9F
-#define XK_KP_Equal            0xFFBD  /* equals */
-#define XK_KP_Multiply         0xFFAA
-#define XK_KP_Add              0xFFAB
-#define XK_KP_Separator                0xFFAC  /* separator, often comma */
-#define XK_KP_Subtract         0xFFAD
-#define XK_KP_Decimal          0xFFAE
-#define XK_KP_Divide           0xFFAF
-
-#define XK_KP_0                        0xFFB0
-#define XK_KP_1                        0xFFB1
-#define XK_KP_2                        0xFFB2
-#define XK_KP_3                        0xFFB3
-#define XK_KP_4                        0xFFB4
-#define XK_KP_5                        0xFFB5
-#define XK_KP_6                        0xFFB6
-#define XK_KP_7                        0xFFB7
-#define XK_KP_8                        0xFFB8
-#define XK_KP_9                        0xFFB9
-
-/*
- * Auxilliary Functions; note the duplicate definitions for left and right
- * function keys;  Sun keyboards and a few other manufactures have such
- * function key groups on the left and/or right sides of the keyboard.
- * We've not found a keyboard with more than 35 function keys total.
- */
-
-#define XK_F1                  0xFFBE
-#define XK_F2                  0xFFBF
-#define XK_F3                  0xFFC0
-#define XK_F4                  0xFFC1
-#define XK_F5                  0xFFC2
-#define XK_F6                  0xFFC3
-#define XK_F7                  0xFFC4
-#define XK_F8                  0xFFC5
-#define XK_F9                  0xFFC6
-#define XK_F10                 0xFFC7
-#define XK_F11                 0xFFC8
-#define XK_L1                  0xFFC8
-#define XK_F12                 0xFFC9
-#define XK_L2                  0xFFC9
-#define XK_F13                 0xFFCA
-#define XK_L3                  0xFFCA
-#define XK_F14                 0xFFCB
-#define XK_L4                  0xFFCB
-#define XK_F15                 0xFFCC
-#define XK_L5                  0xFFCC
-#define XK_F16                 0xFFCD
-#define XK_L6                  0xFFCD
-#define XK_F17                 0xFFCE
-#define XK_L7                  0xFFCE
-#define XK_F18                 0xFFCF
-#define XK_L8                  0xFFCF
-#define XK_F19                 0xFFD0
-#define XK_L9                  0xFFD0
-#define XK_F20                 0xFFD1
-#define XK_L10                 0xFFD1
-#define XK_F21                 0xFFD2
-#define XK_R1                  0xFFD2
-#define XK_F22                 0xFFD3
-#define XK_R2                  0xFFD3
-#define XK_F23                 0xFFD4
-#define XK_R3                  0xFFD4
-#define XK_F24                 0xFFD5
-#define XK_R4                  0xFFD5
-#define XK_F25                 0xFFD6
-#define XK_R5                  0xFFD6
-#define XK_F26                 0xFFD7
-#define XK_R6                  0xFFD7
-#define XK_F27                 0xFFD8
-#define XK_R7                  0xFFD8
-#define XK_F28                 0xFFD9
-#define XK_R8                  0xFFD9
-#define XK_F29                 0xFFDA
-#define XK_R9                  0xFFDA
-#define XK_F30                 0xFFDB
-#define XK_R10                 0xFFDB
-#define XK_F31                 0xFFDC
-#define XK_R11                 0xFFDC
-#define XK_F32                 0xFFDD
-#define XK_R12                 0xFFDD
-#define XK_F33                 0xFFDE
-#define XK_R13                 0xFFDE
-#define XK_F34                 0xFFDF
-#define XK_R14                 0xFFDF
-#define XK_F35                 0xFFE0
-#define XK_R15                 0xFFE0
-
-/* Modifiers */
-
-#define XK_Shift_L             0xFFE1  /* Left shift */
-#define XK_Shift_R             0xFFE2  /* Right shift */
-#define XK_Control_L           0xFFE3  /* Left control */
-#define XK_Control_R           0xFFE4  /* Right control */
-#define XK_Caps_Lock           0xFFE5  /* Caps lock */
-#define XK_Shift_Lock          0xFFE6  /* Shift lock */
-
-#define XK_Meta_L              0xFFE7  /* Left meta */
-#define XK_Meta_R              0xFFE8  /* Right meta */
-#define XK_Alt_L               0xFFE9  /* Left alt */
-#define XK_Alt_R               0xFFEA  /* Right alt */
-#define XK_Super_L             0xFFEB  /* Left super */
-#define XK_Super_R             0xFFEC  /* Right super */
-#define XK_Hyper_L             0xFFED  /* Left hyper */
-#define XK_Hyper_R             0xFFEE  /* Right hyper */
-
-/*
- *  Latin 1
- *  Byte 3 = 0
- */
-
-#define XK_space               0x020
-#define XK_exclam              0x021
-#define XK_quotedbl            0x022
-#define XK_numbersign          0x023
-#define XK_dollar              0x024
-#define XK_percent             0x025
-#define XK_ampersand           0x026
-#define XK_apostrophe          0x027
-#define XK_quoteright          0x027   /* deprecated */
-#define XK_parenleft           0x028
-#define XK_parenright          0x029
-#define XK_asterisk            0x02a
-#define XK_plus                0x02b
-#define XK_comma               0x02c
-#define XK_minus               0x02d
-#define XK_period              0x02e
-#define XK_slash               0x02f
-#define XK_0                   0x030
-#define XK_1                   0x031
-#define XK_2                   0x032
-#define XK_3                   0x033
-#define XK_4                   0x034
-#define XK_5                   0x035
-#define XK_6                   0x036
-#define XK_7                   0x037
-#define XK_8                   0x038
-#define XK_9                   0x039
-#define XK_colon               0x03a
-#define XK_semicolon           0x03b
-#define XK_less                0x03c
-#define XK_equal               0x03d
-#define XK_greater             0x03e
-#define XK_question            0x03f
-#define XK_at                  0x040
-#define XK_A                   0x041
-#define XK_B                   0x042
-#define XK_C                   0x043
-#define XK_D                   0x044
-#define XK_E                   0x045
-#define XK_F                   0x046
-#define XK_G                   0x047
-#define XK_H                   0x048
-#define XK_I                   0x049
-#define XK_J                   0x04a
-#define XK_K                   0x04b
-#define XK_L                   0x04c
-#define XK_M                   0x04d
-#define XK_N                   0x04e
-#define XK_O                   0x04f
-#define XK_P                   0x050
-#define XK_Q                   0x051
-#define XK_R                   0x052
-#define XK_S                   0x053
-#define XK_T                   0x054
-#define XK_U                   0x055
-#define XK_V                   0x056
-#define XK_W                   0x057
-#define XK_X                   0x058
-#define XK_Y                   0x059
-#define XK_Z                   0x05a
-#define XK_bracketleft         0x05b
-#define XK_backslash           0x05c
-#define XK_bracketright        0x05d
-#define XK_asciicircum         0x05e
-#define XK_underscore          0x05f
-#define XK_grave               0x060
-#define XK_quoteleft           0x060   /* deprecated */
-#define XK_a                   0x061
-#define XK_b                   0x062
-#define XK_c                   0x063
-#define XK_d                   0x064
-#define XK_e                   0x065
-#define XK_f                   0x066
-#define XK_g                   0x067
-#define XK_h                   0x068
-#define XK_i                   0x069
-#define XK_j                   0x06a
-#define XK_k                   0x06b
-#define XK_l                   0x06c
-#define XK_m                   0x06d
-#define XK_n                   0x06e
-#define XK_o                   0x06f
-#define XK_p                   0x070
-#define XK_q                   0x071
-#define XK_r                   0x072
-#define XK_s                   0x073
-#define XK_t                   0x074
-#define XK_u                   0x075
-#define XK_v                   0x076
-#define XK_w                   0x077
-#define XK_x                   0x078
-#define XK_y                   0x079
-#define XK_z                   0x07a
-#define XK_braceleft           0x07b
-#define XK_bar                 0x07c
-#define XK_braceright          0x07d
-#define XK_asciitilde          0x07e
-
-#define XK_nobreakspace        0x0a0
-#define XK_exclamdown          0x0a1
-#define XK_cent                       0x0a2
-#define XK_sterling            0x0a3
-#define XK_currency            0x0a4
-#define XK_yen                 0x0a5
-#define XK_brokenbar           0x0a6
-#define XK_section             0x0a7
-#define XK_diaeresis           0x0a8
-#define XK_copyright           0x0a9
-#define XK_ordfeminine         0x0aa
-#define XK_guillemotleft       0x0ab   /* left angle quotation mark */
-#define XK_notsign             0x0ac
-#define XK_hyphen              0x0ad
-#define XK_registered          0x0ae
-#define XK_macron              0x0af
-#define XK_degree              0x0b0
-#define XK_plusminus           0x0b1
-#define XK_twosuperior         0x0b2
-#define XK_threesuperior       0x0b3
-#define XK_acute               0x0b4
-#define XK_mu                  0x0b5
-#define XK_paragraph           0x0b6
-#define XK_periodcentered      0x0b7
-#define XK_cedilla             0x0b8
-#define XK_onesuperior         0x0b9
-#define XK_masculine           0x0ba
-#define XK_guillemotright      0x0bb   /* right angle quotation mark */
-#define XK_onequarter          0x0bc
-#define XK_onehalf             0x0bd
-#define XK_threequarters       0x0be
-#define XK_questiondown        0x0bf
-#define XK_Agrave              0x0c0
-#define XK_Aacute              0x0c1
-#define XK_Acircumflex         0x0c2
-#define XK_Atilde              0x0c3
-#define XK_Adiaeresis          0x0c4
-#define XK_Aring               0x0c5
-#define XK_AE                  0x0c6
-#define XK_Ccedilla            0x0c7
-#define XK_Egrave              0x0c8
-#define XK_Eacute              0x0c9
-#define XK_Ecircumflex         0x0ca
-#define XK_Ediaeresis          0x0cb
-#define XK_Igrave              0x0cc
-#define XK_Iacute              0x0cd
-#define XK_Icircumflex         0x0ce
-#define XK_Idiaeresis          0x0cf
-#define XK_ETH                 0x0d0
-#define XK_Eth                 0x0d0   /* deprecated */
-#define XK_Ntilde              0x0d1
-#define XK_Ograve              0x0d2
-#define XK_Oacute              0x0d3
-#define XK_Ocircumflex         0x0d4
-#define XK_Otilde              0x0d5
-#define XK_Odiaeresis          0x0d6
-#define XK_multiply            0x0d7
-#define XK_Ooblique            0x0d8
-#define XK_Ugrave              0x0d9
-#define XK_Uacute              0x0da
-#define XK_Ucircumflex         0x0db
-#define XK_Udiaeresis          0x0dc
-#define XK_Yacute              0x0dd
-#define XK_THORN               0x0de
-#define XK_Thorn               0x0de   /* deprecated */
-#define XK_ssharp              0x0df
-#define XK_agrave              0x0e0
-#define XK_aacute              0x0e1
-#define XK_acircumflex         0x0e2
-#define XK_atilde              0x0e3
-#define XK_adiaeresis          0x0e4
-#define XK_aring               0x0e5
-#define XK_ae                  0x0e6
-#define XK_ccedilla            0x0e7
-#define XK_egrave              0x0e8
-#define XK_eacute              0x0e9
-#define XK_ecircumflex         0x0ea
-#define XK_ediaeresis          0x0eb
-#define XK_igrave              0x0ec
-#define XK_iacute              0x0ed
-#define XK_icircumflex         0x0ee
-#define XK_idiaeresis          0x0ef
-#define XK_eth                 0x0f0
-#define XK_ntilde              0x0f1
-#define XK_ograve              0x0f2
-#define XK_oacute              0x0f3
-#define XK_ocircumflex         0x0f4
-#define XK_otilde              0x0f5
-#define XK_odiaeresis          0x0f6
-#define XK_division            0x0f7
-#define XK_oslash              0x0f8
-#define XK_ugrave              0x0f9
-#define XK_uacute              0x0fa
-#define XK_ucircumflex         0x0fb
-#define XK_udiaeresis          0x0fc
-#define XK_yacute              0x0fd
-#define XK_thorn               0x0fe
-#define XK_ydiaeresis          0x0ff
-
-/* end of X11 keyboard mapping */
-
-
-#define screen myscreen
-
-#define XFlush(a)
-#define XGetImage(a,b,c,d,e,f,g,h)             ((XImage *) NULL)
-#define XDisplayName(a)                                ((char *) NULL)
-#define XFreeColors(a,b,c,d,e)
-#define XSelectInput(a,b,c)
-#define XDefaultDepth(a,b)                     (8)
-#define XSetWMProperties(a,b,c,d,e,f,g,h,i)
-
-#define MAX_EVENT_BUFFER       256
-#define MAX_SCANCODES          128
-
-#define True                   1
-#define False                  0
-#define None                   0L
-
-#define DUMMY_FILE             ((void *) -1)
-#define DUMMY_MASK             (-1)
-
-#define KeyPressMask           (1L << 0)  
-#define KeyReleaseMask         (1L << 1)  
-#define ButtonPressMask                (1L << 2)  
-#define ButtonReleaseMask      (1L << 3)  
-#define ButtonMotionMask       (1L << 13) 
-#define ExposureMask           (1L << 15) 
-#define StructureNotifyMask    (1L << 17) 
-#define FocusChangeMask                (1L << 21) 
-
-#define KeyPress               2
-#define KeyRelease             3
-#define ButtonPress            4
-#define ButtonRelease          5
-#define MotionNotify           6
-#define FocusIn                        9
-#define FocusOut               10
-#define Expose                 12
-#define UnmapNotify            18
-#define MapNotify              19
-#define ClientMessage          33
-
-#define LineSolid               0
-#define LineOnOffDash           1
-#define LineDoubleDash          2
-
-#define CapNotLast              0
-#define CapButt                 1
-#define CapRound                2
-#define CapProjecting           3
-
-#define JoinMiter               0
-#define JoinRound               1
-#define JoinBevel               2
-
-#define GCForeground            (1L << 2)
-#define GCBackground            (1L << 3)
-#define GCLineWidth             (1L << 4)
-#define GCLineStyle             (1L << 5)
-#define GCCapStyle              (1L << 6)
-#define GCJoinStyle             (1L << 7)
-#define GCGraphicsExposures     (1L << 16)
-#define GCClipMask             (1L << 19)
-
-#define NormalState    1       /* most applications want to start this way */
-#define InputHint              (1L << 0)
-#define StateHint              (1L << 1)
-#define IconPixmapHint         (1L << 2)
-#define IconMaskHint           (1L << 5)
-#define PSize                  (1L << 3) /* program specified size */
-#define PMinSize               (1L << 4) /* program specified minimum size */
-#define PMaxSize               (1L << 5) /* program specified maximum size */
-
-#define PCX_Success             0
-#define PCX_OpenFailed         -1
-#define PCX_ReadFailed         -2
-#define        PCX_FileInvalid         -3
-#define PCX_NoMemory           -4
-#define PCX_ColorFailed                -5
-
-#define BitmapSuccess          0
-#define BitmapOpenFailed       1
-#define BitmapFileInvalid      2
-#define BitmapNoMemory         3
-
-#define ZPixmap                        2       /* depth == drawable depth */
-
-#define DefaultScreen(dpy)       (((_XPrivDisplay)dpy)->default_screen)
-#define DefaultColormap(dpy, scr) (ScreenOfDisplay(dpy,scr)->cmap)
-#define ScreenOfDisplay(dpy, scr) (&((_XPrivDisplay)dpy)->screens[scr])
-#define BlackPixel(dpy, scr)     (ScreenOfDisplay(dpy,scr)->black_pixel)
-#define WhitePixel(dpy, scr)     (ScreenOfDisplay(dpy,scr)->white_pixel)
-#define RootWindow(dpy, scr)     (ScreenOfDisplay(dpy,scr)->root)
-#define AllPlanes                ((unsigned int)~0L)
-
-#define DefaultVisual(dpy, scr)          (NULL)
-#define DefaultDepth(dpy, scr)   (NULL)
-#define XDisplayWidth(dpy, scr)          (XRES)
-#define XDisplayHeight(dpy, scr)  (YRES)
-
-#define XGetPixel(ximage, x, y) \
-        ((*((ximage)->f.get_pixel))((ximage), (x), (y)))
-
-typedef unsigned int Pixel;    /* Index into colormap */
-typedef unsigned int XID;
-typedef XID Window;
-typedef XID Drawable;
-typedef XID Pixmap;
-typedef XID Colormap;
-typedef XID KeySym;
-typedef XID GContext;
-typedef struct _XDisplay Display;
-typedef int Visual;
-typedef int XVisualInfo;
-typedef int Atom;
-typedef int Status;
-typedef int Bool;
-typedef int XComposeStatus;    /* we don't need the real type */
-
-typedef struct _XGC
-{
-  GContext gid;                        /* protocol ID for graphics context */
-} *GC;
-
-typedef struct
-{
-  Colormap cmap;               /* default color map */
-  Window root;                 /* root window id */
-  unsigned int white_pixel;    /* white pixel value */
-  unsigned int black_pixel;    /* black pixel value */
-  int x;
-  int y;
-  unsigned int width;
-  unsigned int height;
-  BITMAP *video_bitmap;
-} Screen;
-
-typedef struct _XDisplay
-{
-  int default_screen;          /* default screen for operations */
-  Screen *screens;             /* pointer to list of screens */
-  BITMAP *mouse_ptr;
-} *_XPrivDisplay;
-
-typedef struct _XImage
-{
-  struct funcs
-  {
-    unsigned int (*get_pixel) (struct _XImage *, int, int);
-  } f;
-} XImage;
-
-typedef struct
-{
-  int flags;           /* marks which fields in this structure are defined */
-  int width, height;   /* should set so old wm's don't mess up */
-  int min_width, min_height;
-  int max_width, max_height;
-} XSizeHints;
-
-typedef struct
-{
-  int flags;           /* marks which fields in this structure are defined */
-  Bool input;          /* does this application rely on the window manager to
-                          get keyboard input? */
-  int initial_state;   /* see below */
-  Pixmap icon_pixmap;  /* pixmap to be used as icon */
-  Pixmap icon_mask;    /* icon mask bitmap */
-} XWMHints;
-
-typedef struct
-{
-  char *res_name;
-  char *res_class;
-} XClassHint;
-
-typedef struct
-{
-  unsigned char *value;                /* same as Property routines */
-} XTextProperty;
-
-typedef struct
-{
-  unsigned int foreground;     /* foreground pixel */
-  unsigned int background;     /* background pixel */
-  Bool graphics_exposures;     /* boolean, should exposures be generated */
-  Pixmap clip_mask;            /* bitmap clipping; other calls for rects */
-  int clip_x_origin;           /* x origin for clipping */
-  int clip_y_origin;           /* y origin for clipping */
-  unsigned int value_mask;
-  int line_width;              /* line width */
-  int line_style;              /* LineSolid, LineOnOffDash, LineDoubleDash */
-  int cap_style;               /* CapNotLast, CapButt, 
-                                  CapRound, CapProjecting */
-  int join_style;              /* JoinMiter, JoinRound, JoinBevel */
-
-} XGCValues;
-
-typedef struct
-{
-  int type;
-  int x, y;
-  int width, height;
-} XExposeEvent;
-
-typedef struct
-{
-  int type;                    /* of event */
-  int x, y;                    /* pointer x, y coordinates in event window */
-  unsigned int button;         /* detail */
-} XButtonEvent;
-
-typedef struct
-{
-  int type;
-  int x, y;                    /* pointer x, y coordinates in event window */
-} XMotionEvent;
-
-typedef struct
-{
-  int type;                    /* of event */
-  unsigned int state;          /* key or button mask */
-} XKeyEvent;
-
-typedef struct
-{
-  int type;                    /* FocusIn or FocusOut */
-} XFocusChangeEvent;
-
-typedef struct
-{
-  int type;                    /* ClientMessage */
-} XClientMessageEvent;
-
-typedef union _XEvent
-{
-  int type;                    /* must not be changed; first element */
-  XExposeEvent xexpose;
-  XButtonEvent xbutton;
-  XMotionEvent xmotion;
-  XKeyEvent xkey;
-} XEvent;
-
-Pixel AllegroAllocColorCell(int, int, int);
-
-void XMapWindow(Display *, Window);
-Display *XOpenDisplay(char *);
-Window XCreateSimpleWindow(Display *, Window, int, int,
-                          unsigned int, unsigned int, unsigned int,
-                          unsigned int, unsigned int);
-Status XStringListToTextProperty(char **, int, XTextProperty *);
-void XFree(void *);
-GC XCreateGC(Display *, Drawable, unsigned int, XGCValues *);
-void XSetClipMask(Display *, GC, Pixmap);
-void XSetClipOrigin(Display *, GC, int, int);
-void XFillRectangle(Display *, Drawable, GC, int, int,
-                   unsigned int, unsigned int);
-Pixmap XCreatePixmap(Display *, Drawable, unsigned int, unsigned int,
-                    unsigned int);
-void XSync(Display *, Bool);
-void XCopyArea(Display *, Drawable, Drawable, GC, int, int,
-              unsigned int, unsigned int, int, int);
-int Read_PCX_to_Pixmap(Display *, Window, GC, char *, Pixmap *, Pixmap *);
-int XReadBitmapFile(Display *, Drawable, char *,
-                   unsigned int *, unsigned int *, Pixmap *, int *, int *);
-void XFreePixmap(Display *, Pixmap);
-void XFreeGC(Display *, GC);
-void XUnmapWindow(Display *, Window);
-void XCloseDisplay(Display *);
-void XNextEvent(Display *, XEvent *);
-int XPending(Display *);
-KeySym XLookupKeysym(XKeyEvent *, int);
-int XLookupString(XKeyEvent *, char *, int, KeySym *, XComposeStatus *);
-void XSetForeground(Display *, GC, unsigned int);
-void XDrawLine(Display *, Drawable, GC, int, int, int, int);
-void XDestroyImage(XImage *);
-void XDestroyWindow(Display *, Window);
-Bool XQueryPointer(Display *, Window, Window *, Window *, int *, int *,
-                  int *, int *, unsigned int *);
-void XAutoRepeatOn(Display *);
-void XAutoRepeatOff(Display *);
-
-void AllegroDrawLine(Drawable, int, int, int, int, Pixel);
-Pixel AllegroGetPixel(Drawable, int, int);
-
-void AllegroZoomBitmap(Drawable, Drawable, int, int, int, int);
-
-void MSDOSOpenAudio(void);
-void MSDOSCloseAudio(void);
-
-void NetworkServer(int, int);
-
-void MSDOSInitJoysticks();
-boolean MSDOSReadJoystick(int, int *, int *, boolean *, boolean *);
-
-#endif /* MSDOS_H */
index c968255906623bc6a1cf696d96d3e877512d7357..292ff45c1890a9535fdc36bba18256359205b777 100644 (file)
 /* define main platform keywords                                             */
 /* ========================================================================= */
 
-#if defined(MSDOS)
-#define PLATFORM_MSDOS
-#define PLATFORM_STRING "DOS"
-#elif defined(WIN32) || defined(_WIN32)
+#if defined(WIN32) || defined(_WIN32)
 #define PLATFORM_WIN32
 #define PLATFORM_STRING "Windows"
 #else
 /* define additional target keywords                                         */
 /* ========================================================================= */
 
-#if defined(PLATFORM_MSDOS)
-#ifndef TARGET_ALLEGRO
-#define TARGET_ALLEGRO
-#endif
-#ifndef TARGET_X11
-#define TARGET_X11
-#endif
-#endif
-
 #if defined(PLATFORM_UNIX) && defined(TARGET_X11)
 #define TARGET_X11_NATIVE
 #endif
index 39f805fc718f5f77f305bc889c3edb95be8bcbb5..a07116379f8fb1e0e134510dfba578095b5268a6 100644 (file)
@@ -600,31 +600,6 @@ static char *getCorrectedArtworkBasename(char *basename)
 {
   char *basename_corrected = basename;
 
-#if defined(PLATFORM_MSDOS)
-  if (program.filename_prefix != NULL)
-  {
-    int prefix_len = strlen(program.filename_prefix);
-
-    if (strncmp(basename, program.filename_prefix, prefix_len) == 0)
-      basename_corrected = &basename[prefix_len];
-
-    /* if corrected filename is still longer than standard MS-DOS filename
-       size (8 characters + 1 dot + 3 characters file extension), shorten
-       filename by writing file extension after 8th basename character */
-    if (strlen(basename_corrected) > 8 + 1 + 3)
-    {
-      static char *msdos_filename = NULL;
-
-      checked_free(msdos_filename);
-
-      msdos_filename = getStringCopy(basename_corrected);
-      strncpy(&msdos_filename[8], &basename[strlen(basename) - (1+3)], 1+3 +1);
-
-      basename_corrected = msdos_filename;
-    }
-  }
-#endif
-
   return basename_corrected;
 }
 
index fee0b17c332b2860ef43fd5d955c0d698e410332..1e43e0b71f8c25e772b3fb8d9fd9afb65538e486 100644 (file)
 
 #include "platform.h"
 
-#if defined(PLATFORM_MSDOS)
-#include <fcntl.h>
-#endif
-
 #include "system.h"
 #include "image.h"
 #include "sound.h"
@@ -81,7 +77,7 @@ void InitProgramInfo(char *argv0,
 #endif
                     char *icon_title,
                     char *x11_icon_filename, char *x11_iconmask_filename,
-                    char *sdl_icon_filename, char *msdos_cursor_filename,
+                    char *sdl_icon_filename,
                     char *cookie_prefix, char *filename_prefix,
                     int program_version)
 {
@@ -103,7 +99,6 @@ void InitProgramInfo(char *argv0,
   program.x11_icon_filename = x11_icon_filename;
   program.x11_iconmask_filename = x11_iconmask_filename;
   program.sdl_icon_filename = sdl_icon_filename;
-  program.msdos_cursor_filename = msdos_cursor_filename;
 
   program.cookie_prefix = cookie_prefix;
   program.filename_prefix = filename_prefix;
@@ -154,10 +149,6 @@ void InitPlatformDependentStuff(void)
   // this is initialized in GetOptions(), but may already be used before
   options.verbose = TRUE;
 
-#if defined(PLATFORM_MSDOS)
-  _fmode = O_BINARY;
-#endif
-
 #if defined(PLATFORM_MACOSX)
   updateUserGameDataDir();
 #endif
@@ -186,13 +177,9 @@ void InitPlatformDependentStuff(void)
 
 void ClosePlatformDependentStuff(void)
 {
-#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS)
+#if defined(PLATFORM_WIN32)
   closeErrorFile();
 #endif
-
-#if defined(PLATFORM_MSDOS)
-  dumpErrorFile();
-#endif
 }
 
 void InitGfxFieldInfo(int sx, int sy, int sxsize, int sysize,
@@ -1489,8 +1476,8 @@ void ScaleBitmap(Bitmap *old_bitmap, int zoom_factor)
 /* mouse pointer functions                                                   */
 /* ------------------------------------------------------------------------- */
 
-#if !defined(PLATFORM_MSDOS)
 #define USE_ONE_PIXEL_PLAYFIELD_MOUSEPOINTER           0
+
 /* XPM image definitions */
 static const char *cursor_image_none[] =
 {
@@ -1523,6 +1510,7 @@ static const char *cursor_image_none[] =
   /* hot spot */
   "0,0"
 };
+
 #if USE_ONE_PIXEL_PLAYFIELD_MOUSEPOINTER
 static const char *cursor_image_dot[] =
 {
@@ -1614,11 +1602,9 @@ static struct MouseCursorInfo *get_cursor_from_image(const char **image)
 
   return cursor;
 }
-#endif /* !PLATFORM_MSDOS */
 
 void SetMouseCursor(int mode)
 {
-#if !defined(PLATFORM_MSDOS)
   static struct MouseCursorInfo *cursor_none = NULL;
   static struct MouseCursorInfo *cursor_playfield = NULL;
   struct MouseCursorInfo *cursor_new;
@@ -1638,7 +1624,6 @@ void SetMouseCursor(int mode)
 #elif defined(TARGET_X11_NATIVE)
   X11SetMouseCursor(cursor_new);
 #endif
-#endif
 }
 
 
@@ -1669,8 +1654,6 @@ void OpenAudio(void)
   SDLOpenAudio();
 #elif defined(PLATFORM_UNIX)
   UnixOpenAudio();
-#elif defined(PLATFORM_MSDOS)
-  MSDOSOpenAudio();
 #endif
 }
 
@@ -1680,8 +1663,6 @@ void CloseAudio(void)
   SDLCloseAudio();
 #elif defined(PLATFORM_UNIX)
   UnixCloseAudio();
-#elif defined(PLATFORM_MSDOS)
-  MSDOSCloseAudio();
 #endif
 
   audio.sound_enabled = FALSE;
@@ -1886,8 +1867,6 @@ void InitJoysticks()
   SDLInitJoysticks();
 #elif defined(PLATFORM_UNIX)
   UnixInitJoysticks();
-#elif defined(PLATFORM_MSDOS)
-  MSDOSInitJoysticks();
 #endif
 
 #if 0
@@ -1902,7 +1881,5 @@ boolean ReadJoystick(int nr, int *x, int *y, boolean *b1, boolean *b2)
   return SDLReadJoystick(nr, x, y, b1, b2);
 #elif defined(PLATFORM_UNIX)
   return UnixReadJoystick(nr, x, y, b1, b2);
-#elif defined(PLATFORM_MSDOS)
-  return MSDOSReadJoystick(nr, x, y, b1, b2);
 #endif
 }
index 90e8bca7af8f4d39dff18f6ab32a2d26bd6e5b39..6580d083b37f3cafa6fe87a7e1a2ad64e86feb5c 100644 (file)
@@ -22,8 +22,6 @@
 #include "macosx.h"
 #elif defined(PLATFORM_WIN32)
 #include "windows.h"
-#elif defined(PLATFORM_MSDOS)
-#include "msdos.h"
 #elif defined(PLATFORM_ANDROID)
 #include "android.h"
 #endif
 #define DOCS_DIRECTORY         "docs"
 #define CACHE_DIRECTORY                "cache"
 
-#if !defined(PLATFORM_MSDOS)
 #define GFX_CLASSIC_SUBDIR     "gfx_classic"
 #define SND_CLASSIC_SUBDIR     "snd_classic"
 #define MUS_CLASSIC_SUBDIR     "mus_classic"
-#else
-#define GFX_CLASSIC_SUBDIR     "gfx_orig"
-#define SND_CLASSIC_SUBDIR     "snd_orig"
-#define MUS_CLASSIC_SUBDIR     "mus_orig"
-#endif
 
 #if defined(CREATE_SPECIAL_EDITION_RND_JUE)
 #define GFX_DEFAULT_SUBDIR     "jue0"
 #endif
 
 /* file names and filename extensions */
-#if !defined(PLATFORM_MSDOS)
 #define LEVELSETUP_DIRECTORY   "levelsetup"
 #define SETUP_FILENAME         "setup.conf"
 #define LEVELSETUP_FILENAME    "levelsetup.conf"
 #define LEVELFILE_EXTENSION    "level"
 #define TAPEFILE_EXTENSION     "tape"
 #define SCOREFILE_EXTENSION    "score"
-#else
-#define LEVELSETUP_DIRECTORY   "lvlsetup"
-#define SETUP_FILENAME         "setup.cnf"
-#define LEVELSETUP_FILENAME    "lvlsetup.cnf"
-#define EDITORSETUP_FILENAME   "edsetup.cnf"
-#define EDITORCASCADE_FILENAME "edcascad.conf"
-#define HELPANIM_FILENAME      "helpanim.cnf"
-#define HELPTEXT_FILENAME      "helptext.cnf"
-#define LEVELINFO_FILENAME     "lvlinfo.cnf"
-#define GRAPHICSINFO_FILENAME  "gfxinfo.cnf"
-#define SOUNDSINFO_FILENAME    "sndinfo.cnf"
-#define MUSICINFO_FILENAME     "musinfo.cnf"
-#define ARTWORKINFO_CACHE_FILE "artinfo.cac"
-#define LEVELFILE_EXTENSION    "lvl"
-#define TAPEFILE_EXTENSION     "tap"
-#define SCOREFILE_EXTENSION    "sco"
-#endif
 
 #define ERROR_BASENAME         "stderr.txt"
 
 #define STRING_NEWLINE_UNIX            "\n"
 #define STRING_NEWLINE_DOS             "\r\n"
 
-#if defined(PLATFORM_WIN32) || defined(PLATFORM_MSDOS)
+#if defined(PLATFORM_WIN32)
 #define CHAR_PATH_SEPARATOR    CHAR_PATH_SEPARATOR_DOS
 #define STRING_PATH_SEPARATOR  STRING_PATH_SEPARATOR_DOS
 #define STRING_NEWLINE         STRING_NEWLINE_DOS
@@ -709,7 +683,6 @@ struct ProgramInfo
   char *x11_icon_filename;
   char *x11_iconmask_filename;
   char *sdl_icon_filename;
-  char *msdos_cursor_filename;
 
   char *cookie_prefix;
   char *filename_prefix;       /* prefix to cut off from DOS filenames */
@@ -1309,7 +1282,7 @@ extern int                        FrameCounter;
 
 #if 1
 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
-                    char *, char *, char *, char *, int);
+                    char *, char *, char *, int);
 #else
 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
                     char *, char *, char *, char *, char *, int);
index 66f4a3efc69b597beabb09091e23a01a57b02025..bdc21aeea3a3c884cd9e86fa6f373f0613a42a84 100644 (file)
@@ -59,10 +59,8 @@ void X11InitVideoBuffer(DrawBuffer **backbuffer, DrawWindow **window)
 
 static void X11InitDisplay()
 {
-#if !defined(PLATFORM_MSDOS)
   XVisualInfo vinfo_template, *vinfo;
   int num_visuals;
-#endif
   unsigned int depth;
 
   /* connect to X server */
@@ -83,7 +81,6 @@ static void X11InitDisplay()
   depth  = DefaultDepth(display, screen);
   cmap   = DefaultColormap(display, screen);
 
-#if !defined(PLATFORM_MSDOS)
   /* look for good enough visual */
   vinfo_template.screen = screen;
   vinfo_template.class = (depth == 8 ? PseudoColor : TrueColor);
@@ -102,7 +99,6 @@ static void X11InitDisplay()
           (depth > 8 && visual->class != TrueColor &&
            visual->class != DirectColor))
     Error(ERR_EXIT, "X11 display not supported (inappropriate visual)");
-#endif /* !PLATFORM_MSDOS */
 }
 
 static DrawWindow *X11InitWindow()
@@ -111,7 +107,6 @@ static DrawWindow *X11InitWindow()
   unsigned int border_width = 4;
   XGCValues gc_values;
   unsigned int gc_valuemask;
-#if !defined(PLATFORM_MSDOS)
   XTextProperty windowName, iconName;
   Pixmap icon_pixmap, iconmask_pixmap;
   unsigned int icon_width, icon_height;
@@ -123,7 +118,6 @@ static DrawWindow *X11InitWindow()
   char *icon_name = program.window_title;
   int window_event_mask;
   Atom proto_atom = None, delete_atom = None;
-#endif
   int screen_width, screen_height;
   int win_xpos, win_ypos;
   unsigned int pen_fg = WhitePixel(display, screen);
@@ -146,7 +140,6 @@ static DrawWindow *X11InitWindow()
                                             width, height, border_width,
                                             pen_fg, pen_bg);
 
-#if !defined(PLATFORM_MSDOS)
   proto_atom = XInternAtom(display, "WM_PROTOCOLS", FALSE);
   delete_atom = XInternAtom(display, "WM_DELETE_WINDOW", FALSE);
   if ((proto_atom != None) && (delete_atom != None))
@@ -208,7 +201,6 @@ static DrawWindow *X11InitWindow()
     KeyPressMask | KeyReleaseMask;
 
   XSelectInput(display, new_window->drawable, window_event_mask);
-#endif
 
   /* create GC for drawing with window depth and background color (black) */
   gc_values.graphics_exposures = False;
index dc22d353d50af81e00266b27375034dd7399b0a0..6e46e78d0b1ac7f0c5b9c162c776226e89fe6515 100644 (file)
@@ -14,7 +14,6 @@
 #ifndef X11_H
 #define X11_H
 
-#if !defined(PLATFORM_MSDOS)
 #define XK_MISCELLANY
 #define XK_LATIN1
 
 #include <X11/Xos.h>
 #include <X11/Intrinsic.h>
 #include <X11/keysymdef.h>
-#endif
 
 
 /* system dependent definitions */
 
-/* MS-DOS header file also defines "TARGET_STRING" */
-#ifndef TARGET_STRING
 #define TARGET_STRING          "X11"
-#endif
 
-#if defined(PLATFORM_UNIX)
 /* This triggers some stuff that is needed because X11 (XSetClipOrigin(),
    to be precise) is often very slow when preparing a masked XCopyArea()
    for big Pixmaps.
    To prevent this, small (tile-sized) mask Pixmaps are created which will
    then be set much faster with XSetClipOrigin() and speed things up a lot. */
 #define TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND
-#endif
 
 #define WINDOW_SCALING_STATUS  WINDOW_SCALING_NOT_AVAILABLE
 #define FULLSCREEN_STATUS      FULLSCREEN_NOT_AVAILABLE
index 53ead02dbd0448d5a0fcd18fcc4f9217c82aec70..f2bcf143245f8326ab6d8506ef4be855794e391d 100644 (file)
@@ -5606,7 +5606,6 @@ int main(int argc, char *argv[])
   InitProgramInfo(argv[0], USERDATA_DIRECTORY, USERDATA_DIRECTORY_UNIX,
                  PROGRAM_TITLE_STRING, ICON_TITLE_STRING,
                  X11_ICON_FILENAME, X11_ICONMASK_FILENAME, SDL_ICON_FILENAME,
-                 MSDOS_POINTER_FILENAME,
                  COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL);
 #else
   char *window_title_string = getWindowTitleString();
@@ -5614,7 +5613,6 @@ int main(int argc, char *argv[])
   InitProgramInfo(argv[0], USERDATA_DIRECTORY, USERDATA_DIRECTORY_UNIX,
                  PROGRAM_TITLE_STRING, window_title_string, ICON_TITLE_STRING,
                  X11_ICON_FILENAME, X11_ICONMASK_FILENAME, SDL_ICON_FILENAME,
-                 MSDOS_POINTER_FILENAME,
                  COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL);
 #endif
 
index 0e2259a58bd9cbf579dbf59c86df5f943c2e18a1..c9a7164b796494cee3e33b1b2397a0822e3531fe 100644 (file)
 #define USERDATA_DIRECTORY_WIN32       PROGRAM_TITLE_STRING
 #define USERDATA_DIRECTORY_MACOSX      PROGRAM_TITLE_STRING
 #define USERDATA_DIRECTORY_UNIX                PROGRAM_UNIX_DATADIR_STRING
-#define USERDATA_DIRECTORY_DOS         "userdata"
+#define USERDATA_DIRECTORY_OTHER       "userdata"
 
 #if defined(PLATFORM_WIN32)
 #define USERDATA_DIRECTORY             USERDATA_DIRECTORY_WIN32
 #elif defined(PLATFORM_UNIX)
 #define USERDATA_DIRECTORY             USERDATA_DIRECTORY_UNIX
 #else
-#define USERDATA_DIRECTORY             USERDATA_DIRECTORY_DOS
+#define USERDATA_DIRECTORY             USERDATA_DIRECTORY_OTHER
 #endif
 
 #define X11_ICON_FILENAME              "rocks_icon.xbm"
 #define X11_ICONMASK_FILENAME          "rocks_iconmask.xbm"
 #define SDL_ICON_FILENAME              "RocksIcon32x32.png"
-#define MSDOS_POINTER_FILENAME         "mouse.pcx"
 
 /* file version numbers for resource files (levels, tapes, score, setup, etc.)
 ** currently supported/known file version numbers: