added support for BD game engine to Makefile for Android
[rocksndiamonds.git] / src / game_mm / main_mm.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_mm.h
10 // ============================================================================
11
12 #ifndef MAIN_MM_H
13 #define MAIN_MM_H
14
15 // ============================================================================
16 // external functions and definitions imported from main program to game_mm
17 // ============================================================================
18
19 #include "import_mm.h"
20
21
22 // ============================================================================
23 // functions and definitions that are exported from game_mm to main program
24 // ============================================================================
25
26 #include "export_mm.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 MM 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 #define MINI_TILESIZE           (TILESIZE / 2)
49 #define MINI_TILEX              (TILEX / 2)
50 #define MINI_TILEY              (TILEY / 2)
51
52 extern int                      SCR_FIELDX, SCR_FIELDY;
53
54 #define MAX_BUF_XSIZE           SCR_FIELDX
55 #define MAX_BUF_YSIZE           SCR_FIELDY
56
57 // often used screen positions
58
59 extern int                      SX, SY;
60
61 #define SXSIZE                  (SCR_FIELDX * TILEX_VAR)
62 #define SYSIZE                  (SCR_FIELDY * TILEY_VAR)
63 #define FXSIZE                  (MAX_BUF_XSIZE * TILEX_VAR)
64 #define FYSIZE                  (MAX_BUF_YSIZE * TILEY_VAR)
65
66 extern int                      REAL_SX, REAL_SY;
67
68 #define FULL_SXSIZE             (2 + SXSIZE + 2)
69 #define FULL_SYSIZE             (2 + SYSIZE + 2)
70
71
72 // ----------------------------------------------------------------------------
73 // data structure definitions
74 // ----------------------------------------------------------------------------
75
76 // ----------------------------------------------------------------------------
77 // exported variables
78 // ----------------------------------------------------------------------------
79
80 extern struct LevelInfo_MM native_mm_level;
81
82
83 // ----------------------------------------------------------------------------
84 // exported functions
85 // ----------------------------------------------------------------------------
86
87 #endif  // MAIN_MM_H