X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_sp%2Fmain_sp.h;h=ac239390e4df98f692088ef08da02caf24b075e4;hb=80aa0e4b2b060112407417a9d2896395023a21cc;hp=7e0480e2c9f6fea89103b15e52fbfa4329e8571f;hpb=572a4bab20b6f36ef1a4782094b27ac5a703a476;p=rocksndiamonds.git diff --git a/src/game_sp/main_sp.h b/src/game_sp/main_sp.h index 7e0480e2..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 +#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]; /* ------------------------------------------------------------------------- */