X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fmain.h;h=738e39b9b51b60d43e12666bb36b5c9dfdedab43;hp=b37e21c50ebf6c13670763a9f23dd9dff66d0b26;hb=94f017e57e45fae89e35a4948fe7005bdf3f13ba;hpb=77ed16f5281022dce4854250c08ec288f37a99e8 diff --git a/src/main.h b/src/main.h index b37e21c5..738e39b9 100644 --- a/src/main.h +++ b/src/main.h @@ -31,6 +31,9 @@ #include "conf_mus.h" /* include auto-generated data structure definitions */ +#define NEW_TILESIZE 1 +#define NEW_SCROLL 1 + #define IMG_UNDEFINED (-1) #define IMG_EMPTY IMG_EMPTY_SPACE #define IMG_SP_EMPTY IMG_EMPTY_SPACE @@ -962,6 +965,8 @@ #define TILESIZE 32 #define TILEX TILESIZE #define TILEY TILESIZE +#define TILEX_VAR TILESIZE_VAR +#define TILEY_VAR TILESIZE_VAR #define MINI_TILESIZE (TILESIZE / 2) #define MINI_TILEX MINI_TILESIZE #define MINI_TILEY MINI_TILESIZE @@ -970,18 +975,49 @@ #define MICRO_TILEY MICRO_TILESIZE #define MIDPOSX (SCR_FIELDX / 2) #define MIDPOSY (SCR_FIELDY / 2) +#if NEW_TILESIZE +#if NEW_SCROLL +#if 0 +#define SXSIZE (SCR_FIELDX * TILEX_VAR) +#define SYSIZE (SCR_FIELDY * TILEY_VAR) +#endif +#define FXSIZE ((2 + SCR_FIELDX + 2) * TILEX_VAR) +#define FYSIZE ((2 + SCR_FIELDY + 2) * TILEY_VAR) +#else +#if 0 +#define SXSIZE (SCR_FIELDX * TILEX_VAR) +#define SYSIZE (SCR_FIELDY * TILEY_VAR) +#endif +#define FXSIZE ((SCR_FIELDX + 2) * TILEX_VAR) +#define FYSIZE ((SCR_FIELDY + 2) * TILEY_VAR) +#endif +#else +#if NEW_SCROLL +#if 0 +#define SXSIZE (SCR_FIELDX * TILEX) +#define SYSIZE (SCR_FIELDY * TILEY) +#endif +#define FXSIZE ((2 + SCR_FIELDX + 2) * TILEX) +#define FYSIZE ((2 + SCR_FIELDY + 2) * TILEY) +#else +#if 0 #define SXSIZE (SCR_FIELDX * TILEX) #define SYSIZE (SCR_FIELDY * TILEY) +#endif #define FXSIZE ((SCR_FIELDX + 2) * TILEX) #define FYSIZE ((SCR_FIELDY + 2) * TILEY) +#endif +#endif #define DXSIZE 100 #define DYSIZE 280 #define VXSIZE DXSIZE #define VYSIZE 100 #define EXSIZE DXSIZE #define EYSIZE (VYSIZE + 44) +#if 0 #define FULL_SXSIZE (2 + SXSIZE + 2) #define FULL_SYSIZE (2 + SYSIZE + 2) +#endif #define MICROLEVEL_XSIZE ((STD_LEV_FIELDX + 2) * MICRO_TILEX) #define MICROLEVEL_YSIZE ((STD_LEV_FIELDY + 2) * MICRO_TILEY) #define MICROLEVEL_XPOS (SX + (SXSIZE - MICROLEVEL_XSIZE) / 2) @@ -1822,18 +1858,19 @@ #define GFX_SPECIAL_ARG_TITLE 3 #define GFX_SPECIAL_ARG_MAIN 4 #define GFX_SPECIAL_ARG_LEVELS 5 -#define GFX_SPECIAL_ARG_SCORES 6 -#define GFX_SPECIAL_ARG_EDITOR 7 -#define GFX_SPECIAL_ARG_INFO 8 -#define GFX_SPECIAL_ARG_SETUP 9 -#define GFX_SPECIAL_ARG_PLAYING 10 -#define GFX_SPECIAL_ARG_DOOR 11 -#define GFX_SPECIAL_ARG_TAPE 12 -#define GFX_SPECIAL_ARG_PANEL 13 -#define GFX_SPECIAL_ARG_PREVIEW 14 -#define GFX_SPECIAL_ARG_CRUMBLED 15 - -#define NUM_SPECIAL_GFX_ARGS 16 +#define GFX_SPECIAL_ARG_LEVELNR 6 +#define GFX_SPECIAL_ARG_SCORES 7 +#define GFX_SPECIAL_ARG_EDITOR 8 +#define GFX_SPECIAL_ARG_INFO 9 +#define GFX_SPECIAL_ARG_SETUP 10 +#define GFX_SPECIAL_ARG_PLAYING 11 +#define GFX_SPECIAL_ARG_DOOR 12 +#define GFX_SPECIAL_ARG_TAPE 13 +#define GFX_SPECIAL_ARG_PANEL 14 +#define GFX_SPECIAL_ARG_PREVIEW 15 +#define GFX_SPECIAL_ARG_CRUMBLED 16 + +#define NUM_SPECIAL_GFX_ARGS 17 /* these additional definitions are currently only used for draw offsets */ #define GFX_SPECIAL_ARG_INFO_MAIN 0 @@ -2000,25 +2037,25 @@ #define GAME_MODE_TITLE 3 #define GAME_MODE_MAIN 4 #define GAME_MODE_LEVELS 5 -#define GAME_MODE_SCORES 6 -#define GAME_MODE_EDITOR 7 -#define GAME_MODE_INFO 8 -#define GAME_MODE_SETUP 9 -#define GAME_MODE_PLAYING 10 -#define GAME_MODE_PSEUDO_DOOR 11 -#define GAME_MODE_PSEUDO_TAPE 12 -#define GAME_MODE_PSEUDO_PANEL 13 -#define GAME_MODE_PSEUDO_PREVIEW 14 -#define GAME_MODE_PSEUDO_CRUMBLED 15 +#define GAME_MODE_LEVELNR 6 +#define GAME_MODE_SCORES 7 +#define GAME_MODE_EDITOR 8 +#define GAME_MODE_INFO 9 +#define GAME_MODE_SETUP 10 +#define GAME_MODE_PLAYING 11 +#define GAME_MODE_PSEUDO_DOOR 12 +#define GAME_MODE_PSEUDO_TAPE 13 +#define GAME_MODE_PSEUDO_PANEL 14 +#define GAME_MODE_PSEUDO_PREVIEW 15 +#define GAME_MODE_PSEUDO_CRUMBLED 16 /* there are no special config file suffixes for these modes */ -#define GAME_MODE_PSEUDO_TYPENAME 16 -#define GAME_MODE_QUIT 17 +#define GAME_MODE_PSEUDO_TYPENAME 17 +#define GAME_MODE_QUIT 18 /* special definitions currently only used for custom artwork configuration */ #define MUSIC_PREFIX_BACKGROUND 0 #define NUM_MUSIC_PREFIXES 1 -#define MAX_LEVELS 1000 /* definitions for demo animation lists */ #define HELPANIM_LIST_NEXT -1 @@ -2028,12 +2065,12 @@ /* program information and versioning definitions */ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 3 -#define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_BUILD 2 +#define PROGRAM_VERSION_PATCH 1 +#define PROGRAM_VERSION_BUILD 1 #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds" #define PROGRAM_AUTHOR_STRING "Holger Schemel" -#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2010 by Holger Schemel" +#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2013 by Holger Schemel" #define PROGRAM_EMAIL_STRING "info@artsoft.org" #define PROGRAM_WEBSITE_STRING "http://www.artsoft.org/" #define PROGRAM_GAME_BY_STRING "A Game by Artsoft Entertainment" @@ -2466,6 +2503,8 @@ struct GlobalInfo int fading_status; int fading_type; #endif + + boolean use_envelope_request; }; struct ElementChangeInfo @@ -2579,7 +2618,7 @@ struct ElementInfo /* ---------- special element property values ---------- */ - unsigned long properties[NUM_EP_BITFIELDS]; /* element base properties */ + unsigned int properties[NUM_EP_BITFIELDS]; /* element base properties */ boolean use_gfx_element; /* use custom graphic element */ int gfx_element_initial; /* initial optional custom graphic element */ @@ -2825,7 +2864,11 @@ extern SDL_Thread *server_thread; extern int key_joystick_mapping; #if 1 +#if NEW_SCROLL +extern boolean redraw[2 + MAX_LEV_FIELDX + 2][2 + MAX_LEV_FIELDY + 2]; +#else extern boolean redraw[MAX_LEV_FIELDX + 2][MAX_LEV_FIELDY + 2]; +#endif #else extern boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; #endif @@ -2881,6 +2924,9 @@ extern int DX, DY; extern int VX, VY; extern int EX, EY; extern int dDX, dDY; +extern int SXSIZE, SYSIZE; +extern int FULL_SXSIZE, FULL_SYSIZE; +extern int TILESIZE_VAR; extern int FX, FY; extern int ScrollStepSize;