fixed bug in single button handling causing broken tapes (EM engine)
[rocksndiamonds.git] / src / game_em / export.h
index 05e7ae65c5d8ce7c5ccec27055d7d3c32d00a0e1..365cafe863a6b2bcc29b0166838a25d429a65bb7 100644 (file)
@@ -665,6 +665,10 @@ struct GlobalInfo_EM
 struct GameInfo_EM
 {
   boolean any_player_moving;
+  boolean any_player_snapping;
+
+  boolean use_single_button;
+
   int last_moving_player;
   int last_player_direction[MAX_PLAYERS];
 };
@@ -677,6 +681,9 @@ struct LevelInfo_EM
 
   struct LEVEL *lev;
   struct PLAYER *ply[MAX_PLAYERS];
+
+  /* used for runtime values */
+  struct GameInfo_EM *game_em;
 };
 
 struct GraphicInfo_EM
@@ -690,6 +697,7 @@ struct GraphicInfo_EM
   Bitmap *crumbled_bitmap;
   int crumbled_src_x, crumbled_src_y;
   int crumbled_border_size;
+  int crumbled_tile_size;
 
   boolean has_crumbled_graphics;
   boolean preserve_background;
@@ -700,7 +708,7 @@ struct GraphicInfo_EM
 struct EngineSnapshotInfo_EM
 {
   struct GameInfo_EM game_em;
-  unsigned long RandomEM;
+  unsigned int RandomEM;
   struct LEVEL lev;
   struct PLAYER ply[MAX_PLAYERS];
   short Array[4][EM_MAX_CAVE_HEIGHT][EM_MAX_CAVE_WIDTH];
@@ -719,6 +727,7 @@ struct EngineSnapshotInfo_EM
 /* ------------------------------------------------------------------------- */
 
 extern struct GlobalInfo_EM global_em_info;
+extern struct GameInfo_EM game_em;
 extern struct LevelInfo_EM native_em_level;
 extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
 extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][SPR_MAX][8];
@@ -727,18 +736,22 @@ extern struct EngineSnapshotInfo_EM engine_snapshot_em;
 extern void em_open_all();
 extern void em_close_all();
 
+extern void InitGfxBuffers_EM();
+
 extern void InitGameEngine_EM();
 extern void GameActions_EM(byte *, boolean);
 
-extern unsigned int InitEngineRandom_EM(long);
+extern unsigned int InitEngineRandom_EM(int);
 
 extern void setLevelInfoToDefaults_EM();
-extern boolean LoadNativeLevel_EM(char *);
+extern boolean LoadNativeLevel_EM(char *, boolean);
+
+extern int getFieldbufferOffsetX_EM();
+extern int getFieldbufferOffsetY_EM();
 
 extern void BackToFront_EM(void);
 extern void BlitScreenToBitmap_EM(Bitmap *);
 extern void RedrawPlayfield_EM(boolean);
-extern void DrawGameDoorValues_EM();
 
 extern void LoadEngineSnapshotValues_EM();
 extern void SaveEngineSnapshotValues_EM();