X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_em%2Fexport.h;h=ae5f9a1b468cd2a922f7ffa42bcf3b4421e776f6;hp=495aa918769d2e393b5639d36c12a80e8e7d4b9d;hb=855700d73bbef8bb1248fe0ac735738478d6044b;hpb=a8613c2d9809cf90870f7c33b6fda80957241827 diff --git a/src/game_em/export.h b/src/game_em/export.h index 495aa918..ae5f9a1b 100644 --- a/src/game_em/export.h +++ b/src/game_em/export.h @@ -353,6 +353,12 @@ enum 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, @@ -659,6 +665,11 @@ struct GlobalInfo_EM 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]; }; @@ -671,6 +682,9 @@ struct LevelInfo_EM struct LEVEL *lev; struct PLAYER *ply[MAX_PLAYERS]; + + /* used for runtime values */ + struct GameInfo_EM *game_em; }; struct GraphicInfo_EM @@ -684,6 +698,7 @@ 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; @@ -694,13 +709,17 @@ struct GraphicInfo_EM struct EngineSnapshotInfo_EM { struct GameInfo_EM game_em; - unsigned long RandomEM; + 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; }; @@ -709,28 +728,38 @@ struct EngineSnapshotInfo_EM /* ------------------------------------------------------------------------- */ 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(); -extern void em_close_all(); +void em_open_all(void); +void em_close_all(void); + +void InitGfxBuffers_EM(void); + +void InitGameEngine_EM(void); +void GameActions_EM(byte *, boolean); + +unsigned int InitEngineRandom_EM(int); + +void setLevelInfoToDefaults_EM(void); +boolean LoadNativeLevel_EM(char *, boolean); -extern void InitGameEngine_EM(); -extern void GameActions_EM(byte *, boolean); +int getFieldbufferOffsetX_EM(void); +int getFieldbufferOffsetY_EM(void); -extern unsigned int InitEngineRND_EM(long); +void BackToFront_EM(void); +void BlitScreenToBitmap_EM(Bitmap *); +void RedrawPlayfield_EM(boolean); -extern void setLevelInfoToDefaults_EM(); -extern boolean LoadNativeLevel_EM(char *); +void LoadEngineSnapshotValues_EM(void); +void SaveEngineSnapshotValues_EM(void); -extern void BackToFront_EM(void); -extern void BlitScreenToBitmap_EM(Bitmap *); -extern void RedrawPlayfield_EM(boolean); -extern void DrawGameDoorValues_EM(); +boolean checkIfAllPlayersFitToScreen(void); -extern void LoadEngineSnapshotValues_EM(); -extern void SaveEngineSnapshotValues_EM(); +void tab_generate(void); +void tab_generate_graphics_info_em(void); #endif /* EXPORT_H */