rnd-20020424-1-src
[rocksndiamonds.git] / src / main.h
index 86377ccf152a4df2741a069c899cc16518f20584..4769e69bb958e48854b6090cb4c5003611d969cb 100644 (file)
@@ -49,8 +49,6 @@
 #define MAX_LEV_FIELDX 128
 #define MAX_LEV_FIELDY 128
 
-#define MAX_PLAYERS    4
-
 #define SCREENX(a)     ((a) - scroll_x)
 #define SCREENY(a)     ((a) - scroll_y)
 #define LEVELX(a)      ((a) + scroll_x)
 #define IS_DRAWABLE(e)         ((e) < EL_BLOCKED)
 #define IS_NOT_DRAWABLE(e)     ((e) >= EL_BLOCKED)
 #define TAPE_IS_EMPTY(x)       ((x).length == 0)
-#define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing &&!(x).pausing)
+#define TAPE_IS_STOPPED(x)     (!(x).recording && !(x).playing)
 
 #define PLAYERINFO(x,y)                (&stored_player[StorePlayer[x][y]-EL_SPIELER1])
 #define SHIELD_ON(p)           ((p)->shield_passive_time_left > 0)
 #define NUM_BITMAPS            12
 
 /* boundaries of arrays etc. */
-#define MAX_PLAYER_NAME_LEN    10
 #define MAX_LEVEL_NAME_LEN     32
 #define MAX_LEVEL_AUTHOR_LEN   32
 #define MAX_TAPELEN            (1000 * 50)     /* max. time * framerate */
@@ -213,56 +210,6 @@ struct HiScore
   int Score;
 };
 
-struct SetupJoystickInfo
-{
-  char *device_name;
-  int xleft, xmiddle, xright;
-  int yupper, ymiddle, ylower;
-  int snap;
-  int bomb;
-};
-
-struct SetupKeyboardInfo
-{
-  Key left;
-  Key right;
-  Key up;
-  Key down;
-  Key snap;
-  Key bomb;
-};
-
-struct SetupInputInfo
-{
-  boolean use_joystick;
-  struct SetupJoystickInfo joy;
-  struct SetupKeyboardInfo key;
-};
-
-struct SetupInfo
-{
-  char *player_name;
-
-  boolean sound;
-  boolean sound_loops;
-  boolean sound_music;
-  boolean sound_simple;
-  boolean toons;
-  boolean double_buffering;
-  boolean direct_draw;         /* !double_buffering (redundant!) */
-  boolean scroll_delay;
-  boolean soft_scrolling;
-  boolean fading;
-  boolean autorecord;
-  boolean quick_doors;
-  boolean team_mode;
-  boolean handicap;
-  boolean time_limit;
-  boolean fullscreen;
-
-  struct SetupInputInfo input[MAX_PLAYERS];
-};
-
 struct PlayerInfo
 {
   boolean present;             /* player present in level playfield */
@@ -278,8 +225,6 @@ struct PlayerInfo
   byte programmed_action;      /* action forced by game itself (like moving
                                   through doors); overrides other actions */
 
-  int joystick_fd;             /* file descriptor of player's joystick */
-
   int jx,jy, last_jx,last_jy;
   int MovDir, MovPos, GfxPos;
   int Frame;
@@ -289,12 +234,12 @@ struct PlayerInfo
   boolean LevelSolved, GameOver;
   boolean snapped;
 
-  unsigned long move_delay;
-  int move_delay_value;
-
   int last_move_dir;
   int is_moving;
 
+  unsigned long move_delay;
+  int move_delay_value;
+
   unsigned long push_delay;
   unsigned long push_delay_value;
 
@@ -357,9 +302,13 @@ struct TapeInfo
   boolean pause_before_death;
   boolean recording, playing, pausing;
   boolean fast_forward;
+  boolean index_search;
+  boolean quick_resume;
+  boolean single_step;
   boolean changed;
   boolean player_participates[MAX_PLAYERS];
   int num_participating_players;
+
   struct
   {
     byte action[MAX_PLAYERS];
@@ -396,15 +345,11 @@ extern Pixmap             tile_clipmask[];
 extern DrawBuffer      *fieldbuffer;
 extern DrawBuffer      *drawto_field;
 
-extern int             joystick_device;
-extern char           *joystick_device_name[];
-
 extern int             game_status;
 extern boolean         level_editor_test_game;
 extern boolean         network_playing;
 
 extern int             key_joystick_mapping;
-extern int             global_joystick_status, joystick_status;
 
 extern boolean         redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 extern int             redraw_x1, redraw_y1;
@@ -426,7 +371,6 @@ extern short                ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern unsigned long   Elementeigenschaften1[MAX_ELEMENTS];
 extern unsigned long   Elementeigenschaften2[MAX_ELEMENTS];
 
-extern int             level_nr;
 extern int             lev_fieldx,lev_fieldy, scroll_x,scroll_y;
 
 extern int             FX,FY, ScrollStepSize;
@@ -450,14 +394,10 @@ extern struct LevelInfo           level;
 extern struct PlayerInfo       stored_player[], *local_player;
 extern struct HiScore          highscore[];
 extern struct TapeInfo         tape;
-extern struct JoystickInfo     joystick[];
-extern struct SetupInfo                setup;
 extern struct GameInfo         game;
 extern struct GlobalInfo       global;
 
 extern char            *sound_name[];
-extern int             background_loop[];
-extern int             num_bg_loops;
 extern char            *element_info[];
 extern int             num_element_info;
 
@@ -1498,23 +1438,6 @@ extern int               num_element_info;
 
 #define NUM_SOUNDS             55
 
-/* default input keys */
-#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
-#define MV_LEFT                        (1 << 0)
-#define MV_RIGHT               (1 << 1)
-#define MV_UP                  (1 << 2)
-#define MV_DOWN                        (1 << 3)
-
 /* values for game_status */
 #define EXITGAME               0
 #define MAINMENU               1
@@ -1525,8 +1448,6 @@ extern int                num_element_info;
 #define TYPENAME               6
 #define HALLOFFAME             7
 #define SETUP                  8
-#define SETUPINPUT             9
-#define CALIBRATION            10
 
 #define PROGRAM_VERSION_MAJOR  2
 #define PROGRAM_VERSION_MINOR  0
@@ -1542,6 +1463,8 @@ extern int                num_element_info;
 #define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
 #define ICON_TITLE_STRING      PROGRAM_TITLE_STRING
 #define UNIX_USERDATA_DIRECTORY        ".rocksndiamonds"
+#define COOKIE_PREFIX          "ROCKSNDIAMONDS"
+#define FILENAME_PREFIX                "Rocks"
 
 #define X11_ICON_FILENAME      "rocks_icon.xbm"
 #define X11_ICONMASK_FILENAME  "rocks_iconmask.xbm"