added support for BD game engine to Makefile for Android
[rocksndiamonds.git] / src / game_bd / main_bd.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_bd.h
10 // ============================================================================
11
12 #ifndef MAIN_BD_H
13 #define MAIN_BD_H
14
15 // ============================================================================
16 // external functions and definitions imported from main program to game_bd
17 // ============================================================================
18
19 #include "import_bd.h"
20
21
22 // ============================================================================
23 // functions and definitions that are exported from game_bd to main program
24 // ============================================================================
25
26 #include "export_bd.h"
27
28
29 // ============================================================================
30 // internal functions and definitions that are not exported to main program
31 // ============================================================================
32
33 #include "bd_bdcff.h"
34 #include "bd_cave.h"
35 #include "bd_cavedb.h"
36 #include "bd_caveset.h"
37 #include "bd_caveobject.h"
38 #include "bd_caveengine.h"
39 #include "bd_gameplay.h"
40 #include "bd_c64import.h"
41 #include "bd_graphics.h"
42 #include "bd_colors.h"
43 #include "bd_random.h"
44 #include "bd_sound.h"
45
46
47 // ----------------------------------------------------------------------------
48 // constant definitions
49 // ----------------------------------------------------------------------------
50
51 // screen sizes and positions for BD engine
52
53 #define TILESIZE                32
54
55 extern int                      TILESIZE_VAR;
56
57 #define TILEX                   TILESIZE_VAR
58 #define TILEY                   TILESIZE_VAR
59
60 extern int                      SCR_FIELDX, SCR_FIELDY;
61
62 // often used screen positions
63
64 extern int                      SX, SY;
65
66 #define SXSIZE                  (SCR_FIELDX * TILEX)
67 #define SYSIZE                  (SCR_FIELDY * TILEY)
68
69 // compatibility macros
70
71 #define gettext(String) (String)
72 #define      N_(String) (String)
73 #define       _(String) (String)
74
75 #define STRUCT_MEMBER_P(struct_p, struct_offset)   \
76   ((void *) ((byte *) (struct_p) + (long) (struct_offset)))
77 #define STRUCT_MEMBER(member_type, struct_p, struct_offset)   \
78   (*(member_type*) STRUCT_MEMBER_P ((struct_p), (struct_offset)))
79
80
81 // ----------------------------------------------------------------------------
82 // data structure definitions
83 // ----------------------------------------------------------------------------
84
85 // ----------------------------------------------------------------------------
86 // exported variables
87 // ----------------------------------------------------------------------------
88
89 // ----------------------------------------------------------------------------
90 // exported functions
91 // ----------------------------------------------------------------------------
92
93 #endif  // MAIN_BD_H