rnd-20000722-1-src
[rocksndiamonds.git] / src / main.h
index add49d76a76f13b59fcfa5d6cd06bb7b401aee4b..b21ac5d653cb1dfcd940cd6bec7a0e69758107ed 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <sys/time.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <errno.h>
-
-#ifndef MSDOS
-#define XK_MISCELLANY
-#define XK_LATIN1
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/Xos.h>
-#include <X11/Intrinsic.h>
-#include <X11/keysymdef.h>
-
-#ifdef   XPM_INCLUDE_FILE
-#define  USE_XPM_LIBRARY
-#include XPM_INCLUDE_FILE
-#endif
-#else  /* MSDOS */
-#include "msdos.h"
-#endif  /* MSDOS */
+#include <unistd.h>
+#include <fcntl.h>
 
 #ifdef DEBUG
 #define DEBUG_TIMING   0
@@ -47,6 +31,8 @@
 typedef unsigned char boolean;
 typedef unsigned char byte;
 
+#include "system.h"
+
 #ifndef FALSE
 #define FALSE          0
 #define TRUE           (!FALSE)
@@ -54,6 +40,7 @@ typedef unsigned char byte;
 
 #define WIN_XSIZE      672
 #define WIN_YSIZE      560
+#define WIN_SDL_DEPTH  16      /* !!! change this !!! */
 #ifndef MSDOS
 #define WIN_XPOS       0
 #define WIN_YPOS       0
@@ -200,7 +187,7 @@ typedef unsigned char byte;
 #define PLAYER_PROTECTED(x,y)  (SHIELD_ON(PLAYERINFO(x, y)) ||         \
                                 PROTECTED_FIELD(x, y))
 
-/* Pixmaps with graphic file */
+/* Bitmaps with graphic file */
 #define PIX_BACK               0
 #define PIX_DOOR               1
 #define PIX_HEROES             2
@@ -211,13 +198,13 @@ typedef unsigned char byte;
 #define        PIX_BIGFONT             7
 #define PIX_SMALLFONT          8
 #define PIX_MEDIUMFONT         9
-/* Pixmaps without graphic file */
+/* Bitmaps without graphic file */
 #define PIX_DB_BACK            10
 #define PIX_DB_DOOR            11
 #define PIX_DB_FIELD           12
 
 #define NUM_PICTURES           10
-#define NUM_PIXMAPS            13
+#define NUM_BITMAPS            13
 
 /* boundaries of arrays etc. */
 #define MAX_PLAYER_NAME_LEN    10
@@ -273,12 +260,12 @@ struct SetupJoystickInfo
 
 struct SetupKeyboardInfo
 {
-  KeySym left;
-  KeySym right;
-  KeySym up;
-  KeySym down;
-  KeySym snap;
-  KeySym bomb;
+  Key left;
+  Key right;
+  Key up;
+  Key down;
+  Key snap;
+  Key bomb;
 };
 
 struct SetupInputInfo
@@ -461,16 +448,17 @@ struct GlobalInfo
 extern Display        *display;
 extern Visual         *visual;
 extern int             screen;
-extern Window                  window;
+extern DrawWindow      window;
 extern GC              gc, clip_gc[], tile_clip_gc;
-extern Pixmap          pix[];
+extern Bitmap          pix[];
+extern Bitmap          pix_masked[], tile_masked[];
 extern Pixmap          clipmask[], tile_clipmask[];
 
 #ifdef USE_XPM_LIBRARY
 extern XpmAttributes   xpm_att[];
 #endif
 
-extern Drawable        drawto, drawto_field, backbuffer, fieldbuffer;
+extern DrawBuffer      drawto, drawto_field, backbuffer, fieldbuffer;
 extern Colormap                cmap;
 
 extern int             sound_pipe[2];
@@ -1602,15 +1590,14 @@ extern char             *element_info[];
 #define NUM_SOUNDS             62
 
 /* default input keys */
-#define KEY_UNDEFINDED         XK_VoidSymbol
-#define DEFAULT_KEY_LEFT       XK_Left
-#define DEFAULT_KEY_RIGHT      XK_Right
-#define DEFAULT_KEY_UP         XK_Up
-#define DEFAULT_KEY_DOWN       XK_Down
-#define DEFAULT_KEY_SNAP       XK_Shift_L
-#define DEFAULT_KEY_BOMB       XK_Shift_R
-#define DEFAULT_KEY_OKAY       XK_Return
-#define DEFAULT_KEY_CANCEL     XK_Escape
+#define DEFAULT_KEY_LEFT       KEY_Left
+#define DEFAULT_KEY_RIGHT      KEY_Right
+#define DEFAULT_KEY_UP         KEY_Up
+#define DEFAULT_KEY_DOWN       KEY_Down
+#define DEFAULT_KEY_SNAP       KEY_Shift_L
+#define DEFAULT_KEY_BOMB       KEY_Shift_R
+#define DEFAULT_KEY_OKAY       KEY_Return
+#define DEFAULT_KEY_CANCEL     KEY_Escape
 
 /* directions for moving */
 #define MV_NO_MOVING           0
@@ -1662,7 +1649,7 @@ extern char               *element_info[];
 #define TAPES_DIRECTORY                "tapes"
 #define SCORES_DIRECTORY       "scores"
 
-#define PROGRAM_VERSION_STRING "1.4.0"
+#define PROGRAM_VERSION_STRING "1.4.0 SDL"
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
 #define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_VERSION_STRING
@@ -1710,7 +1697,7 @@ extern char               *element_info[];
                                 REDRAW_MICROLEVEL)
 #define REDRAWTILES_THRESHOLD  (SCR_FIELDX * SCR_FIELDY / 2)
 
-/* areas in pixmap PIX_DOOR */
+/* areas in bitmap PIX_DOOR */
 /* meaning in PIX_DB_DOOR: (3 PAGEs)
    PAGEX1: 1. buffer for DOOR_1
    PAGEX2: 2. buffer for DOOR_1