1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2024 by Artsoft Entertainment
7 // https://www.artsoft.org/
8 // ----------------------------------------------------------------------------
10 // ============================================================================
15 // ============================================================================
16 // external functions and definitions imported from main program to game_sp
17 // ============================================================================
19 #include "import_sp.h"
22 // ============================================================================
23 // functions and definitions that are exported from game_sp to main program
24 // ============================================================================
26 #include "export_sp.h"
29 // ============================================================================
30 // internal functions and definitions that are not exported to main program
31 // ============================================================================
34 // ----------------------------------------------------------------------------
35 // constant definitions
36 // ----------------------------------------------------------------------------
38 // screen sizes and positions for SP engine
40 extern int TILESIZE_VAR;
43 #define TILEX TILESIZE
44 #define TILEY TILESIZE
45 #define TILEX_VAR TILESIZE_VAR
46 #define TILEY_VAR TILESIZE_VAR
48 extern int SCR_FIELDX, SCR_FIELDY;
50 #define MAX_BUF_XSIZE (2 + SCR_FIELDX + 2)
51 #define MAX_BUF_YSIZE (2 + SCR_FIELDY + 2)
53 // often used screen positions
57 #define SXSIZE (SCR_FIELDX * TILEX_VAR)
58 #define SYSIZE (SCR_FIELDY * TILEY_VAR)
59 #define FXSIZE (MAX_BUF_XSIZE * TILEX_VAR)
60 #define FYSIZE (MAX_BUF_YSIZE * TILEY_VAR)
62 extern int REAL_SX, REAL_SY;
64 #define FULL_SXSIZE (2 + SXSIZE + 2)
65 #define FULL_SYSIZE (2 + SYSIZE + 2)
68 // ----------------------------------------------------------------------------
69 // data structure definitions
70 // ----------------------------------------------------------------------------
72 // ----------------------------------------------------------------------------
74 // ----------------------------------------------------------------------------
76 extern struct LevelInfo_SP native_sp_level;
78 extern Bitmap *bitmap_db_field_sp;
80 extern int GfxElementLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
81 extern int GfxGraphicLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
82 extern int GfxGraphic[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
83 extern int GfxFrameSP[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
86 // ----------------------------------------------------------------------------
88 // ----------------------------------------------------------------------------