X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fexport_bd.h;h=690481a26b801121cd80a5a89215886d850781c1;hb=3b292f6abf8f677bbfdbd9b583c54113b8e64959;hp=eaf511f629b6c3b71ece7e1e354a2ef26009ec42;hpb=5bb4dba95d27f31aaa4a060c0efef70c671ebd7e;p=rocksndiamonds.git diff --git a/src/game_bd/export_bd.h b/src/game_bd/export_bd.h index eaf511f6..690481a2 100644 --- a/src/game_bd/export_bd.h +++ b/src/game_bd/export_bd.h @@ -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" // ---------------------------------------------------------------------------- @@ -34,8 +35,13 @@ 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; @@ -54,6 +60,16 @@ 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 { }; @@ -65,9 +81,45 @@ 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 InitGfxBuffers_BD(void); + void setLevelInfoToDefaults_BD_Ext(int, int); void setLevelInfoToDefaults_BD(void); +boolean LoadNativeLevel_BD(char *, int, boolean); +boolean SaveNativeLevel_BD(char *); + +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); + +Bitmap **GetTitleScreenBitmaps_BD(void); +void CoverScreen_BD(void); + +void BlitScreenToBitmap_BD(Bitmap *); +void RedrawPlayfield_BD(boolean); #endif // EXPORT_BD_H