added GDash cave definition for native Boulder Dash game engine
[rocksndiamonds.git] / src / game_bd / export_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 // export_bd.h
10 // ============================================================================
11
12 #ifndef EXPORT_BD_H
13 #define EXPORT_BD_H
14
15 // ============================================================================
16 // functions and definitions exported from game_bd to main program
17 // ============================================================================
18
19 #include "bd_cave.h"
20 #include "bd_elements.h"
21
22
23 // ----------------------------------------------------------------------------
24 // constant definitions
25 // ----------------------------------------------------------------------------
26
27 #define BD_MAX_CAVE_WIDTH               MAX_PLAYFIELD_WIDTH
28 #define BD_MAX_CAVE_HEIGHT              MAX_PLAYFIELD_HEIGHT
29
30
31 // ----------------------------------------------------------------------------
32 // data structure definitions
33 // ----------------------------------------------------------------------------
34
35 struct GameInfo_BD
36 {
37   boolean level_solved;
38   boolean game_over;
39
40   // needed for updating panel
41   int time_played;
42   int gems_still_needed;
43   int score;
44 };
45
46 struct LevelInfo_BD
47 {
48   int width;
49   int height;
50
51   int cave[BD_MAX_CAVE_WIDTH][BD_MAX_CAVE_HEIGHT];
52 };
53
54 struct EngineSnapshotInfo_BD
55 {
56 };
57
58
59 // ----------------------------------------------------------------------------
60 // exported functions
61 // ----------------------------------------------------------------------------
62
63 extern struct GameInfo_BD game_bd;
64 extern struct LevelInfo_BD native_bd_level;
65 extern struct EngineSnapshotInfo_BD engine_snapshot_bd;
66
67 void setLevelInfoToDefaults_BD(void);
68
69 #endif  // EXPORT_BD_H