boolean game_over;
boolean cover_screen;
+ boolean player_moving;
+ boolean player_snapping;
+
// 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
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];
};
boolean checkBonusTime_BD(void);
int getFramesPerSecond_BD(void);
int getTimeLeft_BD(void);
+void SetTimeFrames_BD(int);
void InitGfxBuffers_BD(void);
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 *);
void InitGameEngine_BD(void);
void GameActions_BD(byte[MAX_PLAYERS]);
-Bitmap *GetTitleScreen_BD(void);
+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