rnd-19980925
[rocksndiamonds.git] / src / main.h
index 11a80a88dfa3bbec349451fce56ade1fb7fc6226..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
@@ -266,17 +284,9 @@ extern Display            *display;
 extern Visual         *visual;
 extern int             screen;
 extern Window                  window;
-extern GC              gc, clip_gc[];
-extern XImage         *image[];
-extern Pixmap          clipmask[];
+extern GC              gc, clip_gc[], tile_clip_gc;
 extern Pixmap          pix[];
-
-
-extern Pixmap          test_pix[];
-extern Pixmap          test_clipmask[];
-extern int             test_picture_count;
-
-
+extern Pixmap          clipmask[], tile_clipmask[];
 
 #ifdef XPM_INCLUDE_FILE
 extern XpmAttributes   xpm_att[];
@@ -292,7 +302,6 @@ extern int          joystick_device;
 extern char           *joystick_device_name[2];
 extern char           *level_directory;
 extern int                     width, height;
-extern unsigned long   pen_fg, pen_bg;
 
 extern int             game_status;
 extern int             game_emulation;
@@ -335,20 +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             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[];
@@ -609,6 +617,8 @@ extern char         *progname;
 #define GFX_START_ROCKSHEROES  512
 #define GFX_END_ROCKSHEROES    767
 
+#define NUM_TILES              768
+
 /* graphics from "RocksScreen" */
 /* Zeile 0 (0) */
 #define GFX_LEERRAUM           (-1)
@@ -757,6 +767,10 @@ extern char                *progname;
 #define GFX_FIREFLY_L          206
 #define GFX_FIREFLY_U          207
 
+/* CHANGE THIS!!!! (NO REGULAR POSITIONS...) */
+#define GFX_MASK_SPARKLING     210
+/* CHANGE THIS!!!! (NO REGULAR POSITIONS...) */
+
 #define GFX_SCHLUESSEL         GFX_SCHLUESSEL1
 #define GFX_SPIELFIGUR         GFX_SPIELER1
 
@@ -1000,7 +1014,7 @@ extern char               *progname;
 #define LEVELREC_COOKIE_LEN    (strlen(LEVELREC_COOKIE)+1)
 #define JOYSTICK_COOKIE_LEN    (strlen(JOYSTICK_COOKIE)+1)
 
-#define VERSION_STRING         "1.1"
+#define VERSION_STRING         "1.2"
 #define GAMETITLE_STRING       "Rocks'n'Diamonds"
 #define WINDOWTITLE_STRING     GAMETITLE_STRING " " VERSION_STRING
 #define COPYRIGHT_STRING       "Copyright ^1995-98 by Holger Schemel"