X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=928489ab42ec0077c0e82732acea54935952abbb;hb=34b9fd6b89ffe8fa0637840118b43e4d36bb1798;hp=37131fef9f8460bec5828fee51731761b706732f;hpb=4b0c6356359ee52f98cee8fa578179c6c41d4ef1;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index 37131fef..928489ab 100644 --- a/src/main.h +++ b/src/main.h @@ -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,10 +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 clipmask[], tile_clipmask[]; #ifdef XPM_INCLUDE_FILE extern XpmAttributes xpm_att[]; @@ -285,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; @@ -328,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[]; @@ -603,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) @@ -751,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