rnd-19981016-2
[rocksndiamonds.git] / src / main.h
index dc5da4ffe71166dc8ca237d9129581dd3328ad87..0e967f3d7ca1256bb3f072263e5466a6a12493bd 100644 (file)
@@ -144,12 +144,7 @@ typedef unsigned char byte;
 #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)
@@ -214,7 +209,12 @@ struct HiScore
 
 struct PlayerInfo
 {
-  int nr, active, local;
+  BOOL present;                        /* player present in level playfield */
+  BOOL connected;              /* player connected locally or via network */
+  BOOL local;                  /* player connected locally */
+  BOOL active;                 /* player (present && connected) */
+
+  int index_nr, client_nr, element_nr;
 
   char login_name[MAX_NAMELEN];
   char alias_name[MAX_NAMELEN];
@@ -225,13 +225,11 @@ struct PlayerInfo
 
   int jx,jy, last_jx,last_jy;
   int MovDir, MovPos, GfxPos;
-  int Pushing, Frame;
-
-  int gone, LevelSolved, GameOver;
-
-  long actual_frame_counter;
+  int Frame;
 
-  int frame_reset_delay;
+  BOOL Pushing;
+  BOOL gone, LevelSolved, GameOver;
+  BOOL snapped;
 
   long move_delay;
   int last_move_dir;
@@ -239,7 +237,9 @@ struct PlayerInfo
   long push_delay;
   int push_delay_value;
 
-  int snapped;
+  int frame_reset_delay;
+
+  long actual_frame_counter;
 
   int score;
   int gems_still_needed;
@@ -277,7 +277,7 @@ struct LevelDirInfo
 struct RecordingInfo
 {
   int level_nr;
-  unsigned int random_seed;
+  unsigned long random_seed;
   unsigned long date;
   unsigned long counter;
   unsigned long length;
@@ -289,7 +289,7 @@ struct RecordingInfo
   BOOL changed;
   struct
   {
-    byte joystickdata[MAX_PLAYERS];
+    byte action[MAX_PLAYERS];
     byte delay;
   } pos[MAX_TAPELEN];
 };
@@ -327,12 +327,13 @@ extern char              *program_name;
 extern char           *display_name;
 extern char           *server_host;
 extern int             server_port;
-extern int             networking;
-extern int             standalone;
+extern int             serveronly;
+extern int             network;
 extern int             verbose;
 
 extern int             game_status;
 extern int             game_emulation;
+extern int             network_playing;
 extern int             button_status, motion_status;
 extern int             key_joystick_mapping;
 extern int             global_joystick_status, joystick_status;
@@ -381,6 +382,8 @@ extern int          AllPlayersGone;
 extern int             FrameCounter, TimeFrames, TimeLeft;
 extern int             MampferNr, SiebAktiv;
 
+extern byte            network_player_action[];
+extern BOOL            network_player_action_received;
 extern int             TestPlayer;
 
 extern struct LevelDirInfo     leveldir[];