rnd-19981005-1
[rocksndiamonds.git] / src / main.h
index 2aeb77090462363b445a311d19f3c2edf49f10a2..354b23eca1c7bf2938e42c844bda537ad5a8a5bc 100644 (file)
@@ -40,6 +40,7 @@
 #endif  /* #ifndef MSDOS */
 
 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,10 +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             networking;
 extern int             standalone;
+extern int             verbose;
 
 extern int             game_status;
 extern int             game_emulation;
@@ -376,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[];
@@ -391,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
@@ -614,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
 
@@ -754,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
@@ -822,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)