added code to convert native Boulder Dash tapes
[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   unsigned int random_seed;
38
39   boolean level_solved;
40   boolean game_over;
41   boolean cover_screen;
42
43   // needed for updating panel
44   int time_played;
45   int gems_still_needed;
46   int score;
47 };
48
49 struct LevelInfo_BD
50 {
51   GdCave *cave;
52   GdReplay *replay;
53
54   int cave_nr;
55   int level_nr;
56
57   boolean loaded_from_caveset;
58 };
59
60 struct EngineSnapshotInfo_BD
61 {
62 };
63
64
65 // ----------------------------------------------------------------------------
66 // exported functions
67 // ----------------------------------------------------------------------------
68
69 extern struct GameInfo_BD game_bd;
70 extern struct LevelInfo_BD native_bd_level;
71 extern struct EngineSnapshotInfo_BD engine_snapshot_bd;
72
73 int map_action_BD_to_RND(int);
74
75 void setLevelInfoToDefaults_BD_Ext(int, int);
76 void setLevelInfoToDefaults_BD(void);
77
78 #endif  // EXPORT_BD_H