added random number initialization function for native BD engine
[rocksndiamonds.git] / src / game_bd / export_bd.h
index 069c10a304a44f9d4dcc0e8126e09b6424c067cf..7c12293076a2b7c13d4f50b89e7becf382e0a2e7 100644 (file)
@@ -2,9 +2,9 @@
 // Rocks'n'Diamonds - McDuffin Strikes Back!
 // ----------------------------------------------------------------------------
 // (c) 1995-2024 by Artsoft Entertainment
-//                  Holger Schemel
-//                  info@artsoft.org
-//                  https://www.artsoft.org/
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 https://www.artsoft.org/
 // ----------------------------------------------------------------------------
 // export_bd.h
 // ============================================================================
@@ -18,6 +18,7 @@
 
 #include "bd_cave.h"
 #include "bd_elements.h"
+#include "bd_gameplay.h"
 
 
 // ----------------------------------------------------------------------------
 
 struct GameInfo_BD
 {
+  GdGame *game;
+
+  unsigned int random_seed;
+
   boolean level_solved;
   boolean game_over;
+  boolean cover_screen;
 
   // needed for updating panel
   int time_played;
@@ -45,10 +51,20 @@ struct GameInfo_BD
 
 struct LevelInfo_BD
 {
-  int width;
-  int height;
+  GdCave *cave;
+  GdReplay *replay;
+
+  int cave_nr;
+  int level_nr;
 
-  int cave[BD_MAX_CAVE_WIDTH][BD_MAX_CAVE_HEIGHT];
+  boolean loaded_from_caveset;
+};
+
+struct GraphicInfo_BD
+{
+  Bitmap *bitmap;
+  int src_x, src_y;
+  int width, height;
 };
 
 struct EngineSnapshotInfo_BD
@@ -62,8 +78,23 @@ struct EngineSnapshotInfo_BD
 
 extern struct GameInfo_BD game_bd;
 extern struct LevelInfo_BD native_bd_level;
+extern struct GraphicInfo_BD graphic_info_bd_object[O_MAX_ALL][8];
 extern struct EngineSnapshotInfo_BD engine_snapshot_bd;
 
+void bd_open_all(void);
+void bd_close_all(void);
+
+int map_action_RND_to_BD(int);
+int map_action_BD_to_RND(int);
+
+boolean checkGameRunning_BD(void);
+
+void InitGfxBuffers_BD(void);
+
+void setLevelInfoToDefaults_BD_Ext(int, int);
 void setLevelInfoToDefaults_BD(void);
+boolean LoadNativeLevel_BD(char *, int, boolean);
+
+unsigned int InitEngineRandom_BD(int);
 
 #endif // EXPORT_BD_H