X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fexport_bd.h;h=35f2e687fc2fa57daa740b7a5bf56c33437dca1e;hb=7e0902aa2014d4f2899972319f56fe9d5f24578d;hp=deb7d692d2786251517cfb4fdb643a731ce4a496;hpb=45483d224aed58ac2cf856b0fcdd2d4707084047;p=rocksndiamonds.git diff --git a/src/game_bd/export_bd.h b/src/game_bd/export_bd.h index deb7d692..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); @@ -88,11 +108,43 @@ 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); + +void SaveEngineSnapshotValues_BD(void); +void LoadEngineSnapshotValues_BD(void); #endif // EXPORT_BD_H