rnd-20100624-3-src
[rocksndiamonds.git] / src / game_sp / main_sp.h
index d9294194132c2bf45cafe567410fcba0ef5b0de1..ac239390e4df98f692088ef08da02caf24b075e4 100644 (file)
@@ -6,6 +6,7 @@
 /* ========================================================================= */
 
 #include "../engines.h"
+#include "../conf_gfx.h"
 
 
 /* ========================================================================= */
 
 /* 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)
 
 
 /* ------------------------------------------------------------------------- */
 
 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];
 
 
 /* ------------------------------------------------------------------------- */