4 // ============================================================================
5 // functions and definitions exported from game_em to main program
6 // ============================================================================
11 // ----------------------------------------------------------------------------
12 // constant definitions
13 // ----------------------------------------------------------------------------
15 #define EM_MAX_CAVE_WIDTH CAVE_WIDTH
16 #define EM_MAX_CAVE_HEIGHT CAVE_HEIGHT
19 // ----------------------------------------------------------------------------
20 // exported structures
21 // ----------------------------------------------------------------------------
33 boolean any_player_moving;
34 boolean any_player_snapping;
36 boolean use_single_button;
37 boolean use_snap_key_bug;
39 int last_moving_player;
40 int last_player_direction[MAX_PLAYERS];
47 short cave[CAVE_WIDTH][CAVE_HEIGHT];
50 struct PLAYER *ply[MAX_PLAYERS];
52 /* used for runtime values */
53 struct GameInfo_EM *game_em;
60 int src_offset_x, src_offset_y;
61 int dst_offset_x, dst_offset_y;
64 Bitmap *crumbled_bitmap;
65 int crumbled_src_x, crumbled_src_y;
66 int crumbled_border_size;
67 int crumbled_tile_size;
69 boolean has_crumbled_graphics;
70 boolean preserve_background;
72 int unique_identifier; /* used to identify needed screen updates */
75 struct EngineSnapshotInfo_EM
77 struct GameInfo_EM game_em;
78 unsigned int RandomEM;
80 struct PLAYER ply[MAX_PLAYERS];
87 // ----------------------------------------------------------------------------
89 // ----------------------------------------------------------------------------
91 extern struct GlobalInfo_EM global_em_info;
92 extern struct GameInfo_EM game_em;
93 extern struct LevelInfo_EM native_em_level;
94 extern struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8];
95 extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8];
96 extern struct EngineSnapshotInfo_EM engine_snapshot_em;
98 void em_open_all(void);
99 void em_close_all(void);
101 void InitGfxBuffers_EM(void);
103 void InitGameEngine_EM(void);
104 void GameActions_EM(byte *, boolean);
106 unsigned int InitEngineRandom_EM(int);
108 void setLevelInfoToDefaults_EM(void);
109 boolean LoadNativeLevel_EM(char *, boolean);
111 int getFieldbufferOffsetX_EM(void);
112 int getFieldbufferOffsetY_EM(void);
114 void BackToFront_EM(void);
115 void BlitScreenToBitmap_EM(Bitmap *);
116 void RedrawPlayfield_EM(boolean);
118 void LoadEngineSnapshotValues_EM(void);
119 void SaveEngineSnapshotValues_EM(void);
121 boolean checkIfAllPlayersFitToScreen(void);
123 void tab_generate(void);
124 void tab_generate_graphics_info_em(void);