eaf511f629b6c3b71ece7e1e354a2ef26009ec42
[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   GdCave *cave;
49   GdReplay *replay;
50
51   int cave_nr;
52   int level_nr;
53
54   boolean loaded_from_caveset;
55 };
56
57 struct EngineSnapshotInfo_BD
58 {
59 };
60
61
62 // ----------------------------------------------------------------------------
63 // exported functions
64 // ----------------------------------------------------------------------------
65
66 extern struct GameInfo_BD game_bd;
67 extern struct LevelInfo_BD native_bd_level;
68 extern struct EngineSnapshotInfo_BD engine_snapshot_bd;
69
70 void setLevelInfoToDefaults_BD_Ext(int, int);
71 void setLevelInfoToDefaults_BD(void);
72
73 #endif  // EXPORT_BD_H