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];
79 // ----------------------------------------------------------------------------
81 // ----------------------------------------------------------------------------
83 extern struct GlobalInfo_EM global_em_info;
84 extern struct GameInfo_EM game_em;
85 extern struct LevelInfo_EM native_em_level;
86 extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
87 extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8];
88 extern struct EngineSnapshotInfo_EM engine_snapshot_em;
90 void em_open_all(void);
91 void em_close_all(void);
93 void InitGfxBuffers_EM(void);
95 void InitGameEngine_EM(void);
96 void GameActions_EM(byte *, boolean);
98 unsigned int InitEngineRandom_EM(int);
100 void setLevelInfoToDefaults_EM(void);
101 boolean LoadNativeLevel_EM(char *, boolean);
103 int getFieldbufferOffsetX_EM(void);
104 int getFieldbufferOffsetY_EM(void);
106 void BackToFront_EM(void);
107 void BlitScreenToBitmap_EM(Bitmap *);
108 void RedrawPlayfield_EM(boolean);
110 void LoadEngineSnapshotValues_EM(void);
111 void SaveEngineSnapshotValues_EM(void);
113 boolean checkIfAllPlayersFitToScreen(void);
115 void tab_generate(void);
116 void tab_generate_graphics_info_em(void);