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 // functions and definitions exported from game_bd to main program
17 // ============================================================================
20 #include "bd_elements.h"
21 #include "bd_gameplay.h"
24 // ----------------------------------------------------------------------------
25 // constant definitions
26 // ----------------------------------------------------------------------------
28 #define BD_MAX_CAVE_WIDTH MAX_PLAYFIELD_WIDTH
29 #define BD_MAX_CAVE_HEIGHT MAX_PLAYFIELD_HEIGHT
32 // ----------------------------------------------------------------------------
33 // data structure definitions
34 // ----------------------------------------------------------------------------
40 unsigned int random_seed;
46 // needed for updating panel
48 int gems_still_needed;
60 boolean loaded_from_caveset;
73 struct EngineSnapshotInfo_BD
78 // ----------------------------------------------------------------------------
80 // ----------------------------------------------------------------------------
82 extern struct GameInfo_BD game_bd;
83 extern struct LevelInfo_BD native_bd_level;
84 extern struct GraphicInfo_BD graphic_info_bd_object[O_MAX_ALL][8];
85 extern struct GraphicInfo_BD graphic_info_bd_color_template;
86 extern struct EngineSnapshotInfo_BD engine_snapshot_bd;
88 void bd_open_all(void);
89 void bd_close_all(void);
91 int map_action_RND_to_BD(int);
92 int map_action_BD_to_RND(int);
94 boolean checkGameRunning_BD(void);
95 boolean checkGamePlaying_BD(void);
96 boolean checkBonusTime_BD(void);
97 int getFramesPerSecond_BD(void);
98 int getTimeLeft_BD(void);
100 void InitGfxBuffers_BD(void);
102 void setLevelInfoToDefaults_BD_Ext(int, int);
103 void setLevelInfoToDefaults_BD(void);
104 boolean LoadNativeLevel_BD(char *, int, boolean);
105 boolean SaveNativeLevel_BD(char *);
107 void PreparePreviewTileBitmap_BD(Bitmap *, int);
108 void SetPreviewTileBitmapReference_BD(Bitmap *);
109 Bitmap *GetPreviewTileBitmap_BD(Bitmap *);
111 unsigned int InitEngineRandom_BD(int);
112 void InitGameEngine_BD(void);
113 void GameActions_BD(byte[MAX_PLAYERS]);
115 Bitmap *GetTitleScreen_BD(void);
116 void CoverScreen_BD(void);
118 void BlitScreenToBitmap_BD(Bitmap *);
119 void RedrawPlayfield_BD(boolean);
121 #endif // EXPORT_BD_H