008afa319562d3ab84a781ae6b70b84e2fa00194
[rocksndiamonds.git] / src / game_sp / main_sp.h
1 #ifndef MAIN_SP_H
2 #define MAIN_SP_H
3
4 /* ========================================================================= */
5 /* external functions and definitions imported from main program to game_sp  */
6 /* ========================================================================= */
7
8 #include "../engines.h"
9
10
11 /* ========================================================================= */
12 /* functions and definitions that are exported from game_sp to main program  */
13 /* ========================================================================= */
14
15 #include "export.h"
16
17
18 /* ========================================================================= */
19 /* internal functions and definitions that are not exported to main program  */
20 /* ========================================================================= */
21
22
23 /* ------------------------------------------------------------------------- */
24 /* constant definitions                                                      */
25 /* ------------------------------------------------------------------------- */
26
27 /* screen sizes and positions for SP engine */
28
29 #define ORIG_TILEX              16
30 #define ORIG_TILEY              16
31
32 #define ZOOM_FACTOR             2
33
34 #define TILEX                   (ORIG_TILEX             * ZOOM_FACTOR)
35 #define TILEY                   (ORIG_TILEY             * ZOOM_FACTOR)
36
37 #define ORIG_SCR_MENUX          20
38 #define ORIG_SCR_MENUY          12
39 #define SCR_MENUX               17
40 #define SCR_MENUY               12
41 #define SCR_FIELDX              17
42 #define SCR_FIELDY              17
43 #define MAX_BUF_XSIZE           (2 + SCR_FIELDX + 2)
44 #define MAX_BUF_YSIZE           (2 + SCR_FIELDY + 2)
45
46 /* often used screen positions */
47 #define SX                      8
48 #define SY                      8
49 #define SXSIZE                  (SCR_FIELDX * TILEX)
50 #define SYSIZE                  (SCR_FIELDY * TILEY)
51
52 #define REAL_SX                 (SX - 2)
53 #define REAL_SY                 (SY - 2)
54 #define FULL_SXSIZE             (2 + SXSIZE + 2)
55 #define FULL_SYSIZE             (2 + SYSIZE + 2)
56
57
58 /* ------------------------------------------------------------------------- */
59 /* data structure definitions                                                */
60 /* ------------------------------------------------------------------------- */
61
62 /* ------------------------------------------------------------------------- */
63 /* exported variables                                                        */
64 /* ------------------------------------------------------------------------- */
65
66 extern struct LevelInfo_SP native_sp_level;
67
68 extern Bitmap *screenBitmap;
69
70 extern Bitmap *sp_objects;
71
72
73 /* ------------------------------------------------------------------------- */
74 /* exported functions                                                        */
75 /* ------------------------------------------------------------------------- */
76
77 #endif  /* MAIN_SP_H */