rnd-20001203-3-src
[rocksndiamonds.git] / src / main.h
index 705582abe1614c5ab6358c29e7f1a21148b560c7..fc70fcc94fb00eabb75b09ab17275d22f9270546 100644 (file)
 #define DEBUG_TIMING   0
 #endif
 
-typedef unsigned char boolean;
-typedef unsigned char byte;
-
-#include "system.h"
+#if 0
+#include "libgame/libgame.h"
+#endif
 
 #ifndef FALSE
 #define FALSE          0
@@ -63,6 +62,7 @@ typedef unsigned char byte;
 
 #define MAX_PLAYERS    4
 
+#if 0
 #ifndef MIN
 #define MIN(a,b)       ((a) < (b) ? (a) : (b))
 #endif
@@ -75,6 +75,7 @@ typedef unsigned char byte;
 #ifndef SIGN
 #define SIGN(a)                ((a) < 0 ? -1 : ((a)>0 ? 1 : 0))
 #endif
+#endif
 
 #define SCREENX(a)     ((a) - scroll_x)
 #define SCREENY(a)     ((a) - scroll_y)
@@ -201,12 +202,11 @@ typedef unsigned char byte;
 #define PIX_SMALLFONT          8
 #define PIX_MEDIUMFONT         9
 /* Bitmaps without graphic file */
-#define PIX_DB_BACK            10
-#define PIX_DB_DOOR            11
-#define PIX_DB_FIELD           12
+#define PIX_DB_DOOR            10
+#define PIX_DB_FIELD           11
 
 #define NUM_PICTURES           10
-#define NUM_BITMAPS            13
+#define NUM_BITMAPS            12
 
 /* boundaries of arrays etc. */
 #define MAX_PLAYER_NAME_LEN    10
@@ -228,7 +228,9 @@ typedef unsigned char byte;
 #define GAME_FRAME_DELAY       20      /* frame delay in milliseconds */
 #define FFWD_FRAME_DELAY       10      /* 200% speed for fast forward */
 #define FRAMES_PER_SECOND      (1000 / GAME_FRAME_DELAY)
+#if 0
 #define GADGET_FRAME_DELAY     150     /* delay between gadget actions */
+#endif
 #define MICROLEVEL_SCROLL_DELAY        50      /* delay for scrolling micro level */
 #define MICROLEVEL_LABEL_DELAY 250     /* delay for micro level label */
 
@@ -238,20 +240,6 @@ struct HiScore
   int Score;
 };
 
-struct OptionInfo
-{
-  char *display_name;
-  char *server_host;
-  int server_port;
-  char *ro_base_directory;
-  char *rw_base_directory;
-  char *level_directory;
-  boolean serveronly;
-  boolean network;
-  boolean verbose;
-  boolean debug;
-};
-
 struct SetupJoystickInfo
 {
   char *device_name;
@@ -451,19 +439,37 @@ struct GlobalInfo
   int fps_slowdown_factor;
 };
 
-extern Display        *display;
-extern Visual         *visual;
-extern int             screen;
+#if 0
 extern DrawWindow      window;
-extern GC              gc, clip_gc[], tile_clip_gc;
+extern DrawBuffer      backbuffer;
+extern GC              gc;
+#endif
+
+#if 0
+extern GC              clip_gc[];
+#endif
+extern GC              tile_clip_gc;
 extern Bitmap          pix[];
-extern Bitmap          pix_masked[], tile_masked[];
-extern Pixmap          clipmask[], tile_clipmask[];
+#if 0
+extern Bitmap          pix_masked[];
 
-extern DrawBuffer      drawto, drawto_field, backbuffer, fieldbuffer;
+extern Bitmap          tile_masked[];
+
+extern Pixmap          clipmask[];
+#endif
+extern Pixmap          tile_clipmask[];
+
+#if 0
+extern DrawBuffer      drawto;
+#endif
+extern DrawBuffer      drawto_field, fieldbuffer;
+#if 0
 extern Colormap                cmap;
+#endif
 
+#if 0
 extern char           *sound_device_name;
+#endif
 
 extern int             joystick_device;
 extern char           *joystick_device_name[];
@@ -473,17 +479,27 @@ extern char              *program_name;
 extern int             game_status;
 extern boolean         level_editor_test_game;
 extern boolean         network_playing;
+
+#if 0
 extern int             button_status;
 extern boolean         motion_status;
+#endif
+
 extern int             key_joystick_mapping;
 extern int             global_joystick_status, joystick_status;
+
+#if 0
 extern boolean         fullscreen_available;
 extern boolean         fullscreen_enabled;
+#endif
 
 extern boolean         redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 extern int             redraw_x1, redraw_y1;
+
+#if 0
 extern int             redraw_mask;
 extern int             redraw_tiles;
+#endif
 
 extern short           Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short           Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
@@ -514,7 +530,12 @@ extern int         SBX_Left, SBX_Right;
 extern int             SBY_Upper, SBY_Lower;
 extern int             ZX,ZY, ExitX,ExitY;
 extern int             AllPlayersGone;
-extern int             FrameCounter, TimeFrames, TimePlayed, TimeLeft;
+
+#if 0
+extern int             FrameCounter;
+#endif
+
+extern int             TimeFrames, TimePlayed, TimeLeft;
 extern boolean         SiebAktiv;
 extern int             SiebCount;
 
@@ -527,10 +548,19 @@ extern struct HiScore             highscore[];
 extern struct TapeInfo         tape;
 extern struct SampleInfo       Sound[];
 extern struct JoystickInfo     joystick[];
+
+#if 0
 extern struct OptionInfo       options;
+#endif
+
 extern struct SetupInfo                setup;
 extern struct GameInfo         game;
-extern struct SystemInfo       sysinfo;
+
+#if 0
+extern struct VideoSystemInfo  video;
+extern struct AudioSystemInfo  audio;
+#endif
+
 extern struct GlobalInfo       global;
 
 extern char            *sound_name[];
@@ -575,6 +605,8 @@ extern int          num_element_info;
 #define MICROLEV_XPOS          (SX + (SXSIZE - MICROLEV_XSIZE) / 2)
 #define MICROLEV_YPOS          (SX + 12 * TILEY - MICRO_TILEY)
 #define MICROLABEL_YPOS                (MICROLEV_YPOS + MICROLEV_YSIZE + 7)
+
+#if 0
 #define FONT1_XSIZE            32
 #define FONT1_YSIZE            32
 #define FONT2_XSIZE            14
@@ -587,6 +619,7 @@ extern int          num_element_info;
 #define FONT5_YSIZE            14
 #define FONT6_XSIZE            16
 #define FONT6_YSIZE            32
+#endif
 
 #define GFX_STARTX             SX
 #define GFX_STARTY             SY
@@ -624,8 +657,10 @@ extern int         num_element_info;
 #define MINI_MORE_PER_LINE     16
 #define MICRO_MORE_PER_LINE    16
 
+#if 0
 #define FONT_CHARS_PER_LINE    16
 #define FONT_LINES_PER_FONT    4
+#endif
 
 /* game elements:
 **       0 - 499: real elements, stored in level file
@@ -1608,6 +1643,7 @@ extern int                num_element_info;
 #define MV_UP                  (1 << 2)
 #define MV_DOWN                        (1 << 3)
 
+#if 0
 /* font types */
 #define FS_SMALL               0
 #define FS_BIG                 1
@@ -1620,6 +1656,7 @@ extern int                num_element_info;
 #define FC_SPECIAL1            4
 #define FC_SPECIAL2            5
 #define FC_SPECIAL3            6
+#endif
 
 /* values for game_status */
 #define EXITGAME               0
@@ -1659,6 +1696,11 @@ extern int               num_element_info;
 #define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " TARGET_STRING
 #define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
 #define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
+#define ICON_TITLE_STRING      PROGRAM_TITLE_STRING
+
+#define X11_ICON_FILENAME      "rocks_icon.xbm"
+#define X11_ICONMASK_FILENAME  "rocks_iconmask.xbm"
+#define MSDOS_POINTER_FILENAME "mouse.pcx"
 
 /* default name for empty highscore entry */
 #define EMPTY_PLAYER_NAME      "no name"
@@ -1669,6 +1711,7 @@ extern int                num_element_info;
 /* default name for new levels */
 #define NAMELESS_LEVEL_NAME    "nameless level"
 
+#if 0
 /* values for button_status */
 #define MB_NOT_PRESSED         FALSE
 #define MB_RELEASED            FALSE
@@ -1679,7 +1722,9 @@ extern int                num_element_info;
 #define MB_LEFTBUTTON          1
 #define MB_MIDDLEBUTTON                2
 #define MB_RIGHTBUTTON         3
+#endif
 
+#if 0
 /* values for redraw_mask */
 #define REDRAW_ALL             (1 << 0)
 #define REDRAW_FIELD           (1 << 1)
@@ -1702,7 +1747,9 @@ extern int                num_element_info;
                                 REDRAW_MICROLEVEL)
 #define REDRAW_FPS             (1 << 10)
 #define REDRAWTILES_THRESHOLD  (SCR_FIELDX * SCR_FIELDY / 2)
+#endif
 
+#if 0
 /* areas in bitmap PIX_DOOR */
 /* meaning in PIX_DB_DOOR: (3 PAGEs)
    PAGEX1: 1. buffer for DOOR_1
@@ -1721,6 +1768,7 @@ extern int                num_element_info;
 #define DOOR_GFX_PAGEX8                (7 * DOOR_GFX_PAGESIZE)
 #define DOOR_GFX_PAGEY1                0
 #define DOOR_GFX_PAGEY2                DYSIZE
+#endif
 
 /* for DrawGraphicAnimation() [tools.c] and AnimateToon() [cartoons.c] */
 #define ANIM_NORMAL            0