Xsand_stonesand_2,
Xsand_stonesand_3,
Xsand_stonesand_4,
+
+#ifdef EM_ENGINE_USE_ADDITIONAL_ELEMENTS
+ Xsand_stonesand_quickout_1,
+ Xsand_stonesand_quickout_2,
+#endif
+
Xsand_stoneout_1,
Xsand_stoneout_2,
Xsand_sandstone_1,
short ball_array[8][8]; /* ball data */
short android_array[TILE_MAX];/* android clone table */
int num_ball_arrays; /* number of ball data arrays used */
+
+ int exit_x, exit_y; /* kludge for playing player exit sound */
};
struct PLAYER
struct GameInfo_EM
{
boolean any_player_moving;
+ boolean any_player_snapping;
+
+ boolean use_single_button;
+ boolean use_snap_key_bug;
+
int last_moving_player;
int last_player_direction[MAX_PLAYERS];
};
struct LEVEL *lev;
struct PLAYER *ply[MAX_PLAYERS];
+
+ /* used for runtime values */
+ struct GameInfo_EM *game_em;
};
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;
int unique_identifier; /* used to identify needed screen updates */
};
+struct EngineSnapshotInfo_EM
+{
+ struct GameInfo_EM game_em;
+ unsigned int RandomEM;
+ struct LEVEL lev;
+ struct PLAYER ply[MAX_PLAYERS];
+ short Array[4][EM_MAX_CAVE_HEIGHT][EM_MAX_CAVE_WIDTH];
+ int screen_x;
+ int screen_y;
+ int frame;
+ short **Boom;
+ short **Cave;
+ short **Next;
+ short **Draw;
+};
+
/* ------------------------------------------------------------------------- */
/* exported functions */
/* ------------------------------------------------------------------------- */
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];
+extern struct EngineSnapshotInfo_EM engine_snapshot_em;
+
+extern void em_open_all(void);
+extern void em_close_all(void);
-extern void em_open_all();
-extern void em_close_all();
+extern void InitGfxBuffers_EM(void);
-extern void InitGameEngine_EM();
+extern void InitGameEngine_EM(void);
extern void GameActions_EM(byte *, boolean);
-extern unsigned int InitEngineRND_EM(long);
+extern unsigned int InitEngineRandom_EM(int);
-extern void setLevelInfoToDefaults_EM();
-extern boolean LoadNativeLevel_EM(char *);
+extern void setLevelInfoToDefaults_EM(void);
+extern boolean LoadNativeLevel_EM(char *, boolean);
+extern int getFieldbufferOffsetX_EM(void);
+extern int getFieldbufferOffsetY_EM(void);
+
+extern void BackToFront_EM(void);
extern void BlitScreenToBitmap_EM(Bitmap *);
extern void RedrawPlayfield_EM(boolean);
-extern void DrawGameDoorValues_EM();
+
+extern void LoadEngineSnapshotValues_EM(void);
+extern void SaveEngineSnapshotValues_EM(void);
+
+extern boolean checkIfAllPlayersFitToScreen(void);
+
+extern void tab_generate(void);
+extern void tab_generate_graphics_info_em(void);
#endif /* EXPORT_H */