removed library dependency to glib-2.0
[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_random.h"
43 #include "bd_sound.h"
44
45
46 // ----------------------------------------------------------------------------
47 // constant definitions
48 // ----------------------------------------------------------------------------
49
50 /* screen sizes and positions for BD engine */
51
52 #define TILESIZE                32
53
54 extern int                      TILESIZE_VAR;
55
56 #define TILEX                   TILESIZE_VAR
57 #define TILEY                   TILESIZE_VAR
58
59 extern int                      SCR_FIELDX, SCR_FIELDY;
60
61 /* often used screen positions */
62
63 extern int                      SX, SY;
64
65 #define SXSIZE                  (SCR_FIELDX * TILEX)
66 #define SYSIZE                  (SCR_FIELDY * TILEY)
67
68 /* compatibility macros */
69
70 #define gettext(String) (String)
71 #define      N_(String) (String)
72 #define       _(String) (String)
73
74 #define STRUCT_MEMBER_P(struct_p, struct_offset)   \
75   ((void *) ((byte *) (struct_p) + (long) (struct_offset)))
76 #define STRUCT_MEMBER(member_type, struct_p, struct_offset)   \
77   (*(member_type*) STRUCT_MEMBER_P ((struct_p), (struct_offset)))
78
79
80 // ----------------------------------------------------------------------------
81 // data structure definitions
82 // ----------------------------------------------------------------------------
83
84 // ----------------------------------------------------------------------------
85 // exported variables
86 // ----------------------------------------------------------------------------
87
88 // ----------------------------------------------------------------------------
89 // exported functions
90 // ----------------------------------------------------------------------------
91
92 #endif  // MAIN_BD_H