rnd-19981005-1
[rocksndiamonds.git] / src / main.h
index d1abeccc52462bd684590a231af72f3dbd16531d..354b23eca1c7bf2938e42c844bda537ad5a8a5bc 100644 (file)
 #ifndef MAIN_H
 #define MAIN_H
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
 #ifndef MSDOS
 #define XK_MISCELLANY
 #define XK_LATIN1
 #include "msdos.h"
 #endif  /* #ifndef MSDOS */
 
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-
 typedef int BOOL;
+typedef unsigned char byte;
 
 #ifndef FALSE
 #define FALSE 0
@@ -143,12 +144,7 @@ typedef int BOOL;
 #define IS_PUSHABLE(e)         (Elementeigenschaften[e] & EP_BIT_PUSHABLE)
 #define ELEM_IS_PLAYER(e)      (Elementeigenschaften[e] & EP_BIT_PLAYER)
 
-/*
-#define IS_PLAYER(x,y)         (JX == (x) && JY == (y))
-*/
-
 #define IS_PLAYER(x,y)         (ELEM_IS_PLAYER(StorePlayer[x][y]))
-#define IS_LOCAL_PLAYER(x,y)   (StorePlayer[x][y] == EL_SPIELER1)
 
 #define IS_FREE(x,y)           (Feld[x][y] == EL_LEERRAUM && !IS_PLAYER(x,y))
 #define IS_FREE_OR_PLAYER(x,y) (Feld[x][y] == EL_LEERRAUM)
@@ -200,7 +196,8 @@ typedef int BOOL;
 #define MAX_LEVDIR_ENTRIES     15
 #define MAX_SCORE_ENTRIES      15
 
-#define MAX_FILENAME           256
+#define MAX_OPTION_LEN         256
+#define MAX_FILENAME_LEN       256
 #define MAX_NUM_AMOEBA         100
 #define MAX_ELEMENTS           512
 
@@ -212,7 +209,8 @@ struct HiScore
 
 struct PlayerInfo
 {
-  int nr, active, local;
+  int active, local;
+  int index_nr, client_nr, element_nr;
 
   char login_name[MAX_NAMELEN];
   char alias_name[MAX_NAMELEN];
@@ -287,8 +285,8 @@ struct RecordingInfo
   BOOL changed;
   struct
   {
-    unsigned char joystickdata[MAX_PLAYERS];
-    unsigned char delay;
+    byte action[MAX_PLAYERS];
+    byte delay;
   } pos[MAX_TAPELEN];
 };
 
@@ -321,8 +319,12 @@ extern char               *joystick_device_name[2];
 extern char           *level_directory;
 extern int                     width, height;
 
+extern char           *program_name;
+extern char           *display_name;
 extern char           *server_host;
 extern int             server_port;
+extern int             standalone;
+extern int             verbose;
 
 extern int             game_status;
 extern int             game_emulation;
@@ -341,7 +343,6 @@ extern int          fading_on;
 extern int             autorecord_on;
 extern int             joystick_nr;
 extern int             quick_doors;
-extern int             networking;
 
 extern BOOL            redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 extern int             redraw_x1, redraw_y1;
@@ -375,6 +376,8 @@ extern int          AllPlayersGone;
 extern int             FrameCounter, TimeFrames, TimeLeft;
 extern int             MampferNr, SiebAktiv;
 
+extern byte            network_player_action[];
+extern BOOL            network_player_action_stored;
 extern int             TestPlayer;
 
 extern struct LevelDirInfo     leveldir[];
@@ -390,8 +393,6 @@ extern char         *sound_name[];
 extern int             background_loop[];
 extern int             num_bg_loops;
 
-extern char            *progname;
-
 
 /* often used screen positions */
 #define SX                     8
@@ -613,7 +614,11 @@ extern char                *progname;
 #define EL_CHAR_COPY           (EL_CHAR_ASCII0+94)
 #define EL_CHAR_END            (EL_CHAR_START+79)
 
-#define EL_UNUSED_200          200
+#define EL_MAUER_X             200
+#define EL_MAUER_Y             201
+#define EL_MAUER_XY            202
+
+#define EL_UNUSED_200          203
 /* ... */
 #define EL_UNUSED_255          255
 
@@ -753,15 +758,20 @@ extern char               *progname;
 #define GFX_MAULWURF           145
 #define GFX_SCHWEIN            146
 #define GFX_DRACHE             147
+#define GFX_MAUER_XY           148
+#define GFX_MAUER_X            149
+#define GFX_MAUER_Y            150
 #define GFX_EDELSTEIN_ROT      152
 #define GFX_EDELSTEIN_LILA     154
 #define GFX_DYNABOMB_XL                156
 #define GFX_SONDE              159
 /* Zeile 10 (160) */
 #define GFX_EDELSTEIN_BD       163
-#define GFX_MAUER_R1           165
+#define GFX_MAUER_RIGHT                165
+#define GFX_MAUER_R1           GFX_MAUER_RIGHT
 #define GFX_MAUER_R            167
-#define GFX_MAUER_L1           168
+#define GFX_MAUER_LEFT         168
+#define GFX_MAUER_L1           GFX_MAUER_LEFT
 #define GFX_MAUER_L            170
 #define GFX_MAUER_LEBT         171
 #define GFX_SIEB2_LEER         172
@@ -821,6 +831,9 @@ extern char         *progname;
 #define GFX_SPIELER4_RIGHT     (GFX_START_ROCKSHEROES +10*HEROES_PER_LINE + 4)
 #define GFX_SPIELER4_PUSH_RIGHT        (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 0)
 #define GFX_SPIELER4_PUSH_LEFT (GFX_START_ROCKSHEROES +11*HEROES_PER_LINE + 4)
+#define GFX_MAUER_DOWN         (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 0)
+#define GFX_MAUER_UP           (GFX_START_ROCKSHEROES +12*HEROES_PER_LINE + 3)
+
 #define GFX_SONDE_START                (GFX_START_ROCKSHEROES + 9*HEROES_PER_LINE + 8)
 #define GFX_SCHWEIN_DOWN       (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE + 8)
 #define GFX_SCHWEIN_UP         (GFX_START_ROCKSHEROES + 0*HEROES_PER_LINE +12)