X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fmain_sp.h;h=ac239390e4df98f692088ef08da02caf24b075e4;hb=1d3eff06cde10309320341fa92abec5b14f1c6f6;hp=d9294194132c2bf45cafe567410fcba0ef5b0de1;hpb=79d7ca29718d025ed0b131bf5389685fe9b941c4;p=rocksndiamonds.git diff --git a/src/game_sp/main_sp.h b/src/game_sp/main_sp.h index d9294194..ac239390 100644 --- a/src/game_sp/main_sp.h +++ b/src/game_sp/main_sp.h @@ -6,6 +6,7 @@ /* ========================================================================= */ #include "../engines.h" +#include "../conf_gfx.h" /* ========================================================================= */ @@ -26,28 +27,70 @@ /* screen sizes and positions for SP engine */ -#define ORIG_TILEX 16 -#define ORIG_TILEY 16 +#define NEW_TILESIZE 1 -#define ZOOM_FACTOR 2 +#define ORIG_TILESIZE 16 -#define TILEX (ORIG_TILEX * ZOOM_FACTOR) -#define TILEY (ORIG_TILEY * ZOOM_FACTOR) +#if NEW_TILESIZE +#define ZOOM_FACTOR (2 * TILESIZE_VAR / TILESIZE) +#else +#define ZOOM_FACTOR 2 +#endif + +#if NEW_TILESIZE +extern int TILESIZE_VAR; +#define TILESIZE 32 +#define TILEX TILESIZE +#define TILEY TILESIZE +#define TILEX_VAR TILESIZE_VAR +#define TILEY_VAR TILESIZE_VAR +#else +#define TILESIZE (ORIG_TILESIZE * ZOOM_FACTOR) +#define TILEX TILESIZE +#define TILEY TILESIZE +#endif #define ORIG_SCR_MENUX 20 #define ORIG_SCR_MENUY 12 #define SCR_MENUX 17 #define SCR_MENUY 12 +#if 1 +extern int SCR_FIELDX, SCR_FIELDY; +#else #define SCR_FIELDX 17 #define SCR_FIELDY 17 -#define MAX_BUF_XSIZE (SCR_FIELDX + 2) -#define MAX_BUF_YSIZE (SCR_FIELDY + 2) +#endif +#define MAX_BUF_XSIZE (2 + SCR_FIELDX + 2) +#define MAX_BUF_YSIZE (2 + SCR_FIELDY + 2) /* often used screen positions */ +#if 1 +extern int SX, SY; +#else #define SX 8 #define SY 8 +#endif + +#if NEW_TILESIZE +#define SXSIZE (SCR_FIELDX * TILEX_VAR) +#define SYSIZE (SCR_FIELDY * TILEY_VAR) +#define FXSIZE (MAX_BUF_XSIZE * TILEX_VAR) +#define FYSIZE (MAX_BUF_YSIZE * TILEY_VAR) +#else #define SXSIZE (SCR_FIELDX * TILEX) #define SYSIZE (SCR_FIELDY * TILEY) +#define FXSIZE (MAX_BUF_XSIZE * TILEX) +#define FYSIZE (MAX_BUF_YSIZE * TILEY) +#endif + +#if 1 +extern int REAL_SX, REAL_SY; +#else +#define REAL_SX (SX - 2) +#define REAL_SY (SY - 2) +#endif +#define FULL_SXSIZE (2 + SXSIZE + 2) +#define FULL_SYSIZE (2 + SYSIZE + 2) /* ------------------------------------------------------------------------- */ @@ -60,9 +103,12 @@ extern struct LevelInfo_SP native_sp_level; -extern Bitmap *screenBitmap; +extern Bitmap *bitmap_db_field_sp; -extern Bitmap *sp_objects; +extern int GfxElementLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxGraphicLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxGraphic[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; +extern int GfxFrame[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT]; /* ------------------------------------------------------------------------- */