rnd-20000917-1-src
[rocksndiamonds.git] / src / main.h
index adf82efa6c4c0789728569f4fbf7abcd85b9ab04..fca22e59f5e0d49a54fc373461e0819866d93057 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
@@ -265,6 +247,7 @@ struct OptionInfo
   boolean serveronly;
   boolean network;
   boolean verbose;
+  boolean debug;
 };
 
 struct SetupJoystickInfo
@@ -278,12 +261,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
@@ -312,6 +295,7 @@ struct SetupInfo
   boolean team_mode;
   boolean handicap;
   boolean time_limit;
+  boolean fullscreen;
 
   struct SetupInputInfo input[MAX_PLAYERS];
 };
@@ -460,7 +444,9 @@ struct GameInfo
 
 struct GlobalInfo
 {
-  int dummy;
+  float frames_per_second;
+  boolean fps_slowdown;
+  int fps_slowdown_factor;
 };
 
 extern Display        *display;
@@ -496,6 +482,8 @@ extern int          key_joystick_mapping;
 extern int             global_joystick_status, joystick_status;
 extern int             sound_status;
 extern boolean         sound_loops_allowed;
+extern boolean         fullscreen_available;
+extern boolean         fullscreen_enabled;
 
 extern boolean         redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 extern int             redraw_x1, redraw_y1;
@@ -1608,15 +1596,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
@@ -1668,11 +1655,14 @@ extern char             *element_info[];
 #define TAPES_DIRECTORY                "tapes"
 #define SCORES_DIRECTORY       "scores"
 
-#define PROGRAM_VERSION_STRING "1.4.0 SDL"
+#define PROGRAM_VERSION_STRING "1.5.0"
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
-#define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_VERSION_STRING
-#define COPYRIGHT_STRING       "Copyright ^1995-99 by " PROGRAM_AUTHOR_STRING
+#define PROGRAM_RIGHTS_STRING  "Copyright ^1995-2000 by"
+#define PROGRAM_DOS_PORT_STRING        "DOS port done by Guido Schulz"
+#define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " PLATFORM_STRING
+#define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
+#define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
 
 /* default name for empty highscore entry */
 #define EMPTY_PLAYER_NAME      "no name"
@@ -1690,9 +1680,9 @@ extern char               *element_info[];
 #define MB_MENU_CHOICE         FALSE
 #define MB_MENU_MARK           TRUE
 #define MB_MENU_INITIALIZE     (-1)
-#define MB_LEFT                        1
-#define MB_MIDDLE              2
-#define MB_RIGHT               3
+#define MB_LEFTBUTTON          1
+#define MB_MIDDLEBUTTON                2
+#define MB_RIGHTBUTTON         3
 
 /* values for redraw_mask */
 #define REDRAW_ALL             (1 << 0)
@@ -1714,6 +1704,7 @@ extern char               *element_info[];
 #define REDRAW_MAIN            (REDRAW_FIELD | \
                                 REDRAW_TILES | \
                                 REDRAW_MICROLEVEL)
+#define REDRAW_FPS             (1 << 10)
 #define REDRAWTILES_THRESHOLD  (SCR_FIELDX * SCR_FIELDY / 2)
 
 /* areas in bitmap PIX_DOOR */