X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fexport_bd.h;h=35f2e687fc2fa57daa740b7a5bf56c33437dca1e;hb=7e0902aa2014d4f2899972319f56fe9d5f24578d;hp=a060e2e4be7f5f07990d10aa2560747968cf74ba;hpb=e0b898e0ad24e38b076fe2459c826577421a3a1b;p=rocksndiamonds.git diff --git a/src/game_bd/export_bd.h b/src/game_bd/export_bd.h index a060e2e4..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 @@ -72,6 +75,19 @@ struct GraphicInfo_BD 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]; }; @@ -96,6 +112,7 @@ boolean checkGamePlaying_BD(void); boolean checkBonusTime_BD(void); int getFramesPerSecond_BD(void); int getTimeLeft_BD(void); +void SetTimeFrames_BD(int); void InitGfxBuffers_BD(void); @@ -117,7 +134,9 @@ 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 skip_bd_falling_sounds(void); +boolean use_bd_falling_sounds(void); + +boolean hasColorTemplate_BD(void); Bitmap **GetTitleScreenBitmaps_BD(void); void CoverScreen_BD(void); @@ -125,4 +144,7 @@ void CoverScreen_BD(void); void BlitScreenToBitmap_BD(Bitmap *); void RedrawPlayfield_BD(boolean); +void SaveEngineSnapshotValues_BD(void); +void LoadEngineSnapshotValues_BD(void); + #endif // EXPORT_BD_H