added some new graphics for BD engine game elements
[rocksndiamonds.git] / src / game_sp / main_sp.h
1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2024 by Artsoft Entertainment
5 //                  Holger Schemel
6 //                  info@artsoft.org
7 //                  https://www.artsoft.org/
8 // ----------------------------------------------------------------------------
9 // main_sp.h
10 // ============================================================================
11
12 #ifndef MAIN_SP_H
13 #define MAIN_SP_H
14
15 // ============================================================================
16 // external functions and definitions imported from main program to game_sp
17 // ============================================================================
18
19 #include "import_sp.h"
20
21
22 // ============================================================================
23 // functions and definitions that are exported from game_sp to main program
24 // ============================================================================
25
26 #include "export_sp.h"
27
28
29 // ============================================================================
30 // internal functions and definitions that are not exported to main program
31 // ============================================================================
32
33
34 // ----------------------------------------------------------------------------
35 // constant definitions
36 // ----------------------------------------------------------------------------
37
38 // screen sizes and positions for SP engine
39
40 extern int                      TILESIZE_VAR;
41
42 #define TILESIZE                32
43 #define TILEX                   TILESIZE
44 #define TILEY                   TILESIZE
45 #define TILEX_VAR               TILESIZE_VAR
46 #define TILEY_VAR               TILESIZE_VAR
47
48 extern int                      SCR_FIELDX, SCR_FIELDY;
49
50 #define MAX_BUF_XSIZE           (2 + SCR_FIELDX + 2)
51 #define MAX_BUF_YSIZE           (2 + SCR_FIELDY + 2)
52
53 // often used screen positions
54
55 extern int                      SX, SY;
56
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)
61
62 extern int                      REAL_SX, REAL_SY;
63
64 #define FULL_SXSIZE             (2 + SXSIZE + 2)
65 #define FULL_SYSIZE             (2 + SYSIZE + 2)
66
67
68 // ----------------------------------------------------------------------------
69 // data structure definitions
70 // ----------------------------------------------------------------------------
71
72 // ----------------------------------------------------------------------------
73 // exported variables
74 // ----------------------------------------------------------------------------
75
76 extern struct LevelInfo_SP native_sp_level;
77
78 extern Bitmap *bitmap_db_field_sp;
79
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];
84
85
86 // ----------------------------------------------------------------------------
87 // exported functions
88 // ----------------------------------------------------------------------------
89
90 #endif  // MAIN_SP_H