rnd-20001203-4-src
[rocksndiamonds.git] / src / main.h
index c53408b2bebfa103bed1c7581fa3d6f4c00f2b89..b41c3829ae6ff7b3cf92d78dcfff1ba2914d48cb 100644 (file)
@@ -62,6 +62,7 @@
 
 #define MAX_PLAYERS    4
 
+#if 0
 #ifndef MIN
 #define MIN(a,b)       ((a) < (b) ? (a) : (b))
 #endif
@@ -74,6 +75,7 @@
 #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)
 #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
 #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 */
 
@@ -365,35 +368,6 @@ struct LevelInfo
   boolean gravity;
 };
 
-struct LevelDirInfo
-{
-  char *filename;      /* level series single directory name */
-  char *fullpath;      /* complete path relative to level directory */
-  char *basepath;      /* absolute base path of level directory */
-  char *name;          /* level series name, as displayed on main screen */
-  char *name_short;    /* optional short name for level selection screen */
-  char *name_sorting;  /* optional sorting name for correct level sorting */
-  char *author;                /* level series author name levels without author */
-  char *imported_from; /* optional comment for imported level series */
-  int levels;          /* number of levels in level series */
-  int first_level;     /* first level number (to allow start with 0 or 1) */
-  int last_level;      /* last level number (automatically calculated) */
-  int sort_priority;   /* sort levels by 'sort_priority' and then by name */
-  boolean level_group; /* directory contains more level series directories */
-  boolean parent_link; /* entry links back to parent directory */
-  boolean user_defined;        /* user defined levels are stored in home directory */
-  boolean readonly;    /* readonly levels can not be changed with editor */
-  int color;           /* color to use on selection screen for this level */
-  char *class_desc;    /* description of level series class */
-  int handicap_level;  /* number of the lowest unsolved level */
-  int cl_first;                /* internal control field for "choose level" screen */
-  int cl_cursor;       /* internal control field for "choose level" screen */
-
-  struct LevelDirInfo *node_parent;    /* parent level directory info */
-  struct LevelDirInfo *node_group;     /* level group sub-directory info */
-  struct LevelDirInfo *next;           /* next level series structure node */
-};
-
 struct TapeInfo
 {
   int level_nr;
@@ -438,15 +412,28 @@ struct GlobalInfo
 
 #if 0
 extern DrawWindow      window;
+extern DrawBuffer      backbuffer;
 extern GC              gc;
 #endif
 
-extern GC              clip_gc[], tile_clip_gc;
+#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 Bitmap          tile_masked[];
 
-extern DrawBuffer      drawto, drawto_field, backbuffer, fieldbuffer;
+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
@@ -458,13 +445,19 @@ extern char              *sound_device_name;
 extern int             joystick_device;
 extern char           *joystick_device_name[];
 
+#if 0
 extern char           *program_name;
+#endif
 
 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;
 
@@ -475,8 +468,11 @@ extern boolean             fullscreen_enabled;
 
 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];
@@ -518,7 +514,9 @@ extern int          SiebCount;
 
 extern boolean         network_player_action_received;
 
+#if 0
 extern struct LevelDirInfo     *leveldir_first, *leveldir_current;
+#endif
 extern struct LevelInfo                level;
 extern struct PlayerInfo       stored_player[], *local_player;
 extern struct HiScore          highscore[];
@@ -582,6 +580,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
@@ -594,6 +594,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
@@ -631,8 +632,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
@@ -1615,6 +1618,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
@@ -1627,6 +1631,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
@@ -1641,6 +1646,7 @@ extern int                num_element_info;
 #define SETUPINPUT             9
 #define CALIBRATION            10
 
+#if 0
 #ifndef RO_GAME_DIR
 #define RO_GAME_DIR            "."
 #endif
@@ -1657,6 +1663,7 @@ extern int                num_element_info;
 #define LEVELS_DIRECTORY       "levels"
 #define TAPES_DIRECTORY                "tapes"
 #define SCORES_DIRECTORY       "scores"
+#endif
 
 #define PROGRAM_VERSION_STRING "1.5.0"
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
@@ -1666,7 +1673,14 @@ 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 UNIX_USERDATA_DIRECTORY        ".rocksndiamonds"
+
+#define X11_ICON_FILENAME      "rocks_icon.xbm"
+#define X11_ICONMASK_FILENAME  "rocks_iconmask.xbm"
+#define MSDOS_POINTER_FILENAME "mouse.pcx"
 
+#if 0
 /* default name for empty highscore entry */
 #define EMPTY_PLAYER_NAME      "no name"
 
@@ -1675,7 +1689,9 @@ extern int                num_element_info;
 
 /* default name for new levels */
 #define NAMELESS_LEVEL_NAME    "nameless level"
+#endif
 
+#if 0
 /* values for button_status */
 #define MB_NOT_PRESSED         FALSE
 #define MB_RELEASED            FALSE
@@ -1686,7 +1702,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)
@@ -1709,7 +1727,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
@@ -1728,6 +1748,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