1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2024 by Artsoft Entertainment
7 // https://www.artsoft.org/
8 // ----------------------------------------------------------------------------
10 // ============================================================================
15 // ============================================================================
16 // external functions and definitions imported from main program to game_bd
17 // ============================================================================
19 #include "import_bd.h"
22 // ============================================================================
23 // functions and definitions that are exported from game_bd to main program
24 // ============================================================================
26 #include "export_bd.h"
29 // ============================================================================
30 // internal functions and definitions that are not exported to main program
31 // ============================================================================
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"
47 // ----------------------------------------------------------------------------
48 // constant definitions
49 // ----------------------------------------------------------------------------
51 // screen sizes and positions for BD engine
55 extern int TILESIZE_VAR;
57 #define TILEX TILESIZE_VAR
58 #define TILEY TILESIZE_VAR
60 extern int SCR_FIELDX, SCR_FIELDY;
62 // often used screen positions
66 #define SXSIZE (SCR_FIELDX * TILEX)
67 #define SYSIZE (SCR_FIELDY * TILEY)
69 // compatibility macros
71 #define gettext(String) (String)
72 #define N_(String) (String)
73 #define _(String) (String)
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)))
81 // ----------------------------------------------------------------------------
82 // data structure definitions
83 // ----------------------------------------------------------------------------
85 // ----------------------------------------------------------------------------
87 // ----------------------------------------------------------------------------
89 // ----------------------------------------------------------------------------
91 // ----------------------------------------------------------------------------