// 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
// ============================================================================
#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;
+ int time_left;
int gems_still_needed;
int score;
+
+ // needed for saving score time
+ int frames_played;
};
struct LevelInfo_BD
boolean loaded_from_caveset;
};
+struct GraphicInfo_BD
+{
+ Bitmap *bitmap;
+ int src_x, src_y;
+ int width, height;
+
+ int graphic;
+ int frame;
+};
+
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 GraphicInfo_BD graphic_info_bd_color_template;
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);
+boolean checkGamePlaying_BD(void);
+boolean checkBonusTime_BD(void);
+int getFramesPerSecond_BD(void);
+int getTimeLeft_BD(void);
+void SetTimeFrames_BD(int);
+
+void InitGfxBuffers_BD(void);
+
void setLevelInfoToDefaults_BD_Ext(int, int);
void setLevelInfoToDefaults_BD(void);
+boolean LoadNativeLevel_BD(char *, int, boolean);
+boolean SaveNativeLevel_BD(char *);
+void DumpLevelset_BD(void);
+
+void PreparePreviewTileBitmap_BD(Bitmap *, int);
+void SetPreviewTileBitmapReference_BD(Bitmap *);
+Bitmap *GetPreviewTileBitmap_BD(Bitmap *);
+
+unsigned int InitEngineRandom_BD(int);
+void InitGameEngine_BD(void);
+void GameActions_BD(byte[MAX_PLAYERS]);
+
+boolean use_native_bd_graphics_engine(void);
+boolean use_bd_smooth_movements(void);
+boolean use_bd_pushing_graphics(void);
+boolean use_bd_up_down_graphics(void);
+boolean use_bd_falling_sounds(void);
+
+boolean hasColorTemplate_BD(void);
+
+Bitmap **GetTitleScreenBitmaps_BD(void);
+void CoverScreen_BD(void);
+
+void BlitScreenToBitmap_BD(Bitmap *);
+void RedrawPlayfield_BD(boolean);
#endif // EXPORT_BD_H