/* screen sizes and positions for SP engine */
-#define ORIG_TILEX 16
-#define ORIG_TILEY 16
+extern int TILESIZE_VAR;
-#define ZOOM_FACTOR 2
+#define TILESIZE 32
+#define TILEX TILESIZE
+#define TILEY TILESIZE
+#define TILEX_VAR TILESIZE_VAR
+#define TILEY_VAR TILESIZE_VAR
-#define TILEX (ORIG_TILEX * ZOOM_FACTOR)
-#define TILEY (ORIG_TILEY * ZOOM_FACTOR)
+extern int SCR_FIELDX, SCR_FIELDY;
-#define ORIG_SCR_MENUX 20
-#define ORIG_SCR_MENUY 12
-#define SCR_MENUX 17
-#define SCR_MENUY 12
-#define SCR_FIELDX 17
-#define SCR_FIELDY 17
#define MAX_BUF_XSIZE (2 + SCR_FIELDX + 2)
#define MAX_BUF_YSIZE (2 + SCR_FIELDY + 2)
/* often used screen positions */
-#define SX 8
-#define SY 8
-#define SXSIZE (SCR_FIELDX * TILEX)
-#define SYSIZE (SCR_FIELDY * TILEY)
-#define REAL_SX (SX - 2)
-#define REAL_SY (SY - 2)
+extern int SX, SY;
+
+#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)
+
+extern int REAL_SX, REAL_SY;
+
#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];
/* ------------------------------------------------------------------------- */