rnd-19980925
[rocksndiamonds.git] / src / main.h
index d34fbb96085bbae64644fcad02f29afde17b0bd2..928489ab42ec0077c0e82732acea54935952abbb 100644 (file)
@@ -68,6 +68,8 @@ typedef int BOOL;
 #define MAX_LEV_FIELDX 128
 #define MAX_LEV_FIELDY 128
 
+#define MAX_PLAYERS    4
+
 #ifndef MIN
 #define MIN(a,b)       ((a)<(b) ? (a) : (b))
 #endif
@@ -205,12 +207,28 @@ struct HiScore
 
 struct PlayerInfo
 {
+  BOOL active, local;
+
   char login_name[MAX_NAMELEN];
   char alias_name[MAX_NAMELEN];
   int handicap;
   unsigned int setup;
   int leveldir_nr;
   int level_nr;
+
+  int JX,JY, lastJX,lastJY, ZX,ZY, ExitX,ExitY;
+  int PlayerMovDir, PlayerMovPos, PlayerPushing;
+  int PlayerFrame, PlayerGfxPos;
+  int PlayerGone, LevelSolved, GameOver;
+
+  int score;
+  int gems_still_needed;
+  int sokobanfields_still_needed;
+  int lights_still_needed;
+  int friends_still_needed;
+  int key[4];
+  int dynamite;
+  int dynabomb_count, dynabomb_size, dynabombs_left, dynabomb_xl;
 };
 
 struct LevelInfo
@@ -302,7 +320,6 @@ extern int          fading_on;
 extern int             autorecord_on;
 extern int             joystick_nr;
 extern int             quick_doors;
-extern int             cpu_friendly;
 
 extern BOOL            redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
 extern int             redraw_x1, redraw_y1;
@@ -327,21 +344,19 @@ extern int                level_nr, leveldir_nr, num_leveldirs;
 extern int             lev_fieldx,lev_fieldy, scroll_x,scroll_y;
 
 extern int             FX,FY, ScreenMovPos, ScrollStepSize;
-extern int             GameSpeed, MoveSpeed;
+extern int             GameFrameDelay, MoveSpeed;
 extern int             BX1,BY1, BX2,BY2;
 extern int             JX,JY, lastJX,lastJY, ZX,ZY, ExitX,ExitY;
 extern int             PlayerMovDir, PlayerMovPos, PlayerPushing;
 extern int             PlayerFrame, PlayerGfxPos;
 extern int             PlayerGone,LevelSolved,GameOver;
-extern int             FrameCounter,TimeFrames,TimeLeft,Score;
-extern int             Gems,SokobanFields,Lights,Friends;
-extern int             Dynamite,Key[4],MampferNr;
-extern int             DynaBombCount, DynaBombSize, DynaBombsLeft, DynaBombXL;
-extern int             SiebAktiv;
+extern int             FrameCounter,TimeFrames,TimeLeft;
+extern int             MampferNr, SiebAktiv;
 
 extern struct LevelDirInfo     leveldir[];
 extern struct LevelInfo                level;
-extern struct PlayerInfo       player;
+extern struct PlayerInfo       stored_player[];
+extern struct PlayerInfo       *local_player, *actual_player;
 extern struct HiScore          highscore[];
 extern struct RecordingInfo    tape;
 extern struct SoundInfo                Sound[];