4 // ============================================================================
5 // functions and definitions exported from game_em to main program
6 // ============================================================================
11 // ----------------------------------------------------------------------------
12 // exported structures
13 // ----------------------------------------------------------------------------
25 boolean any_player_moving;
26 boolean any_player_snapping;
28 boolean use_single_button;
29 boolean use_snap_key_bug;
31 int last_moving_player;
32 int last_player_direction[MAX_PLAYERS];
39 short cave[EM_MAX_CAVE_WIDTH][EM_MAX_CAVE_HEIGHT];
42 struct PLAYER *ply[MAX_PLAYERS];
44 /* used for runtime values */
45 struct GameInfo_EM *game_em;
52 int src_offset_x, src_offset_y;
53 int dst_offset_x, dst_offset_y;
56 Bitmap *crumbled_bitmap;
57 int crumbled_src_x, crumbled_src_y;
58 int crumbled_border_size;
59 int crumbled_tile_size;
61 boolean has_crumbled_graphics;
62 boolean preserve_background;
64 int unique_identifier; /* used to identify needed screen updates */
67 struct EngineSnapshotInfo_EM
69 struct GameInfo_EM game_em;
70 unsigned int RandomEM;
72 struct PLAYER ply[MAX_PLAYERS];
73 short Array[4][EM_MAX_CAVE_WIDTH][EM_MAX_CAVE_HEIGHT];
84 // ----------------------------------------------------------------------------
86 // ----------------------------------------------------------------------------
88 extern struct GlobalInfo_EM global_em_info;
89 extern struct GameInfo_EM game_em;
90 extern struct LevelInfo_EM native_em_level;
91 extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
92 extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8];
93 extern struct EngineSnapshotInfo_EM engine_snapshot_em;
95 void em_open_all(void);
96 void em_close_all(void);
98 void InitGfxBuffers_EM(void);
100 void InitGameEngine_EM(void);
101 void GameActions_EM(byte *, boolean);
103 unsigned int InitEngineRandom_EM(int);
105 void setLevelInfoToDefaults_EM(void);
106 boolean LoadNativeLevel_EM(char *, boolean);
108 int getFieldbufferOffsetX_EM(void);
109 int getFieldbufferOffsetY_EM(void);
111 void BackToFront_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);
120 void tab_generate(void);
121 void tab_generate_graphics_info_em(void);