X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fmain.h;h=d34fbb96085bbae64644fcad02f29afde17b0bd2;hp=455037c26372973d603d9084ec7a58bbab2c8f2b;hb=c4baa69cc8d5e8398425e67498b49f4b77f8e477;hpb=5335fd9e893a7af87a72fb78609c2eb281bd7f63 diff --git a/src/main.h b/src/main.h index 455037c2..d34fbb96 100644 --- a/src/main.h +++ b/src/main.h @@ -15,11 +15,13 @@ #ifndef MAIN_H #define MAIN_H +#ifndef MSDOS #define XK_MISCELLANY #define XK_LATIN1 #include #include +#include #include #include #include @@ -27,6 +29,9 @@ #ifdef XPM_INCLUDE_FILE #include XPM_INCLUDE_FILE #endif +#else +#include "msdos.h" +#endif // von #ifndef MSDOS #include #include @@ -37,13 +42,20 @@ typedef int BOOL; -#define TRUE 1 -#define FALSE 0 +#ifndef FALSE +#define FALSE 0 +#define TRUE (!FALSE) +#endif -#define WIN_XPOS 0 -#define WIN_YPOS 0 #define WIN_XSIZE 672 #define WIN_YSIZE 560 +#ifndef MSDOS +#define WIN_XPOS 0 +#define WIN_YPOS 0 +#else +#define WIN_XPOS (XRES-WIN_XSIZE)/2 +#define WIN_YPOS (YRES-WIN_YSIZE)/2 +#endif #define SCR_FIELDX 17 #define SCR_FIELDY 17 #define MAX_BUF_XSIZE (SCR_FIELDX + 2) @@ -56,10 +68,18 @@ typedef int BOOL; #define MAX_LEV_FIELDX 128 #define MAX_LEV_FIELDY 128 +#ifndef MIN #define MIN(a,b) ((a)<(b) ? (a) : (b)) +#endif +#ifndef MAX #define MAX(a,b) ((a)>(b) ? (a) : (b)) +#endif +#ifndef ABS #define ABS(a) ((a)<0 ? -(a) : (a)) +#endif +#ifndef SIGN #define SIGN(a) ((a)<0 ? -1 : ((a)>0 ? 1 : 0)) +#endif #define SCROLLX(a) ((a)-scroll_x) #define SCROLLY(a) ((a)-scroll_y) #define UNSCROLLX(a) ((a)+scroll_x) @@ -243,12 +263,12 @@ struct JoystickInfo }; 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[]; @@ -264,7 +284,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; @@ -283,6 +302,7 @@ 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; @@ -306,10 +326,12 @@ extern long Elementeigenschaften[MAX_ELEMENTS]; extern int level_nr, leveldir_nr, num_leveldirs; extern int lev_fieldx,lev_fieldy, scroll_x,scroll_y; -extern int FX,FY, ScreenMovPos; +extern int FX,FY, ScreenMovPos, ScrollStepSize; +extern int GameSpeed, MoveSpeed; extern int BX1,BY1, BX2,BY2; extern int JX,JY, lastJX,lastJY, ZX,ZY, ExitX,ExitY; -extern int PlayerMovDir, PlayerMovPos, PlayerFrame, PlayerPushing; +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; @@ -580,6 +602,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) @@ -728,6 +752,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 @@ -934,10 +962,17 @@ extern char *progname; #define JOYDAT_PATH GAME_DIR #endif +#ifndef MSDOS #define SCORE_FILENAME "ROCKS.score" #define NAMES_FILENAME "ROCKS.names" #define LEVDIR_FILENAME "ROCKS.levelinfo" #define JOYDAT_FILENAME "ROCKS.joystick" +#else +#define SCORE_FILENAME "ROCKS.sco" +#define NAMES_FILENAME "ROCKS.nam" +#define LEVDIR_FILENAME "ROCKS.lev" +#define JOYDAT_FILENAME "ROCKS.joy" +#endif #define JOYDAT_FILE JOYDAT_PATH "/" JOYDAT_FILENAME @@ -964,7 +999,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" @@ -981,8 +1016,13 @@ extern char *progname; #define MB_MENU_MARK TRUE #define MB_MENU_INITIALIZE (-1) #define MB_LEFT 1 +#ifdef MSDOS +#define MB_MIDDLE 4 +#define MB_RIGHT 2 +#else #define MB_MIDDLE 2 #define MB_RIGHT 3 +#endif /* values for key_status */ #define KEY_NOT_PRESSED FALSE @@ -1051,5 +1091,6 @@ extern char *progname; /* für DrawGraphicAnimation (tools.c) und AnimateToon (cartoons.c) */ #define ANIM_NORMAL 0 #define ANIM_OSCILLATE 1 +#define ANIM_REVERSE 2 #endif