4 // ============================================================================
5 // functions and definitions exported from game_em to main program
6 // ============================================================================
12 // ----------------------------------------------------------------------------
13 // constant definitions
14 // ----------------------------------------------------------------------------
16 #define EM_MAX_CAVE_WIDTH CAVE_WIDTH
17 #define EM_MAX_CAVE_HEIGHT CAVE_HEIGHT
20 // ----------------------------------------------------------------------------
21 // exported structures
22 // ----------------------------------------------------------------------------
34 boolean any_player_moving;
35 boolean any_player_snapping;
37 boolean use_single_button;
38 boolean use_snap_key_bug;
40 int last_moving_player;
41 int last_player_direction[MAX_PLAYERS];
44 struct PLAYER *ply[MAX_PLAYERS];
58 int src_offset_x, src_offset_y;
59 int dst_offset_x, dst_offset_y;
62 Bitmap *crumbled_bitmap;
63 int crumbled_src_x, crumbled_src_y;
64 int crumbled_border_size;
65 int crumbled_tile_size;
67 boolean has_crumbled_graphics;
68 boolean preserve_background;
70 int unique_identifier; /* used to identify needed screen updates */
73 struct EngineSnapshotInfo_EM
75 struct GameInfo_EM game_em;
76 unsigned int RandomEM;
78 struct PLAYER ply[MAX_PLAYERS];
85 // ----------------------------------------------------------------------------
87 // ----------------------------------------------------------------------------
89 extern struct GlobalInfo_EM global_em_info;
90 extern struct GameInfo_EM game_em;
91 extern struct LevelInfo_EM native_em_level;
92 extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
93 extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8];
94 extern struct EngineSnapshotInfo_EM engine_snapshot_em;
96 void em_open_all(void);
97 void em_close_all(void);
99 void InitGfxBuffers_EM(void);
101 void InitGameEngine_EM(void);
102 void GameActions_EM(byte *, boolean);
104 unsigned int InitEngineRandom_EM(int);
106 void setLevelInfoToDefaults_EM(void);
107 boolean LoadNativeLevel_EM(char *, boolean);
109 int getFieldbufferOffsetX_EM(void);
110 int getFieldbufferOffsetY_EM(void);
112 void BlitScreenToBitmap_EM(Bitmap *);
113 void RedrawPlayfield_EM(boolean);
115 void LoadEngineSnapshotValues_EM(void);
116 void SaveEngineSnapshotValues_EM(void);
118 boolean checkIfAllPlayersFitToScreen(void);