rnd-20001203-1-src
[rocksndiamonds.git] / src / main.h
index d38f529c1f764b28ba987bdd4687308aa82f9c1b..512fe3f688d164f93e7b7d4b7a6094dd7daf557e 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
@@ -41,13 +40,15 @@ typedef unsigned char byte;
 #define WIN_XSIZE      672
 #define WIN_YSIZE      560
 #define WIN_SDL_DEPTH  16      /* !!! change this !!! */
-#ifndef MSDOS
+
+#if !defined(PLATFORM_MSDOS)
 #define WIN_XPOS       0
 #define WIN_YPOS       0
-#else  /* MSDOS */
+#else
 #define WIN_XPOS       ((XRES - WIN_XSIZE) / 2)
 #define WIN_YPOS       ((YRES - WIN_YSIZE) / 2)
-#endif /* MSDOS */
+#endif
+
 #define SCR_FIELDX     17
 #define SCR_FIELDY     17
 #define MAX_BUF_XSIZE  (SCR_FIELDX + 2)
@@ -199,12 +200,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
@@ -236,20 +236,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;
@@ -449,21 +435,38 @@ 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[];
+#endif
+extern Bitmap          tile_masked[];
+#if 0
+extern Pixmap          clipmask[];
+#endif
+extern Pixmap          tile_clipmask[];
 
-extern DrawBuffer      drawto, drawto_field, backbuffer, fieldbuffer;
+#if 0
+extern DrawBuffer      drawto;
+#endif
+extern DrawBuffer      drawto_field, fieldbuffer;
+#if 0
 extern Colormap                cmap;
+#endif
 
-extern int             sound_pipe[2];
-extern int             sound_device;
+#if 0
 extern char           *sound_device_name;
+#endif
+
 extern int             joystick_device;
 extern char           *joystick_device_name[];
 
@@ -476,15 +479,19 @@ extern int                button_status;
 extern boolean         motion_status;
 extern int             key_joystick_mapping;
 extern int             global_joystick_status, joystick_status;
-extern int             sound_status;
-extern boolean         sound_loops_allowed;
+
+#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];
@@ -515,7 +522,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;
 
@@ -526,11 +538,21 @@ extern struct LevelInfo           level;
 extern struct PlayerInfo       stored_player[], *local_player;
 extern struct HiScore          highscore[];
 extern struct TapeInfo         tape;
-extern struct SoundInfo                Sound[];
+extern struct SampleInfo       Sound[];
 extern struct JoystickInfo     joystick[];
+
+#if 0
 extern struct OptionInfo       options;
+#endif
+
 extern struct SetupInfo                setup;
 extern struct GameInfo         game;
+
+#if 0
+extern struct VideoSystemInfo  video;
+extern struct AudioSystemInfo  audio;
+#endif
+
 extern struct GlobalInfo       global;
 
 extern char            *sound_name[];
@@ -575,6 +597,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 +611,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 +649,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
@@ -1592,14 +1619,14 @@ extern int              num_element_info;
 #define NUM_SOUNDS             62
 
 /* default input keys */
-#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
+#define DEFAULT_KEY_LEFT       KSYM_Left
+#define DEFAULT_KEY_RIGHT      KSYM_Right
+#define DEFAULT_KEY_UP         KSYM_Up
+#define DEFAULT_KEY_DOWN       KSYM_Down
+#define DEFAULT_KEY_SNAP       KSYM_Shift_L
+#define DEFAULT_KEY_BOMB       KSYM_Shift_R
+#define DEFAULT_KEY_OKAY       KSYM_Return
+#define DEFAULT_KEY_CANCEL     KSYM_Escape
 
 /* directions for moving */
 #define MV_NO_MOVING           0
@@ -1608,6 +1635,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 +1648,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 +1688,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"
@@ -1680,6 +1714,7 @@ extern int                num_element_info;
 #define MB_MIDDLEBUTTON                2
 #define MB_RIGHTBUTTON         3
 
+#if 0
 /* values for redraw_mask */
 #define REDRAW_ALL             (1 << 0)
 #define REDRAW_FIELD           (1 << 1)
@@ -1702,6 +1737,7 @@ extern int                num_element_info;
                                 REDRAW_MICROLEVEL)
 #define REDRAW_FPS             (1 << 10)
 #define REDRAWTILES_THRESHOLD  (SCR_FIELDX * SCR_FIELDY / 2)
+#endif
 
 /* areas in bitmap PIX_DOOR */
 /* meaning in PIX_DB_DOOR: (3 PAGEs)