#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
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
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 clipmask[], tile_clipmask[];
#ifdef XPM_INCLUDE_FILE
extern XpmAttributes xpm_att[];
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;
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[];
#define GFX_START_ROCKSHEROES 512
#define GFX_END_ROCKSHEROES 767
+#define NUM_TILES 768
+
/* graphics from "RocksScreen" */
/* Zeile 0 (0) */
#define GFX_LEERRAUM (-1)
#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
#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"