X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fexport_bd.h;h=35f2e687fc2fa57daa740b7a5bf56c33437dca1e;hb=7e0902aa2014d4f2899972319f56fe9d5f24578d;hp=a56e948bf282dd3566bf2bfe8db0034a9118d347;hpb=c3f4524693a17a8d75c7d25da24d4003b234d114;p=rocksndiamonds.git diff --git a/src/game_bd/export_bd.h b/src/game_bd/export_bd.h index a56e948b..35f2e687 100644 --- a/src/game_bd/export_bd.h +++ b/src/game_bd/export_bd.h @@ -44,9 +44,12 @@ struct GameInfo_BD 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 @@ -65,10 +68,26 @@ struct GraphicInfo_BD Bitmap *bitmap; int src_x, src_y; int width, height; + + int graphic; + int frame; }; struct EngineSnapshotInfo_BD { + GdGame game; + + // data from pointers in game structure + int element_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + int last_element_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + int dir_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + int gfx_buffer[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + + GdCave cave; + + // data from pointers in cave structure + short map[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + short hammered_reappear[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; }; @@ -79,6 +98,7 @@ 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); @@ -92,19 +112,39 @@ 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); +void SaveEngineSnapshotValues_BD(void); +void LoadEngineSnapshotValues_BD(void); + #endif // EXPORT_BD_H