X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fexport.h;h=409a04e43525f8fccdf877aaeb304fe50857e626;hb=92ae204856b3b41863f4244dd75cc5c7268f034d;hp=a1a0d10bd8b921f99ef243efcfacc16a7ccbc500;hpb=5b0c9b194a5a219450d09a84131d4feaba5c4ff1;p=rocksndiamonds.git diff --git a/src/game_em/export.h b/src/game_em/export.h index a1a0d10b..409a04e4 100644 --- a/src/game_em/export.h +++ b/src/game_em/export.h @@ -6,6 +6,7 @@ // ============================================================================ #include "emerald.h" +#include "cave.h" // ---------------------------------------------------------------------------- @@ -27,27 +28,36 @@ struct GlobalInfo_EM struct GameInfo_EM { + unsigned int random; + boolean level_solved; boolean game_over; 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]; - struct LEVEL *lev; + struct LOGIC *lev; struct PLAYER *ply[MAX_PLAYERS]; + + // flags to handle bugs in and changes between different engine versions + boolean use_single_button; + boolean use_snap_key_bug; + boolean use_random_bug; + boolean use_old_explosions; + boolean use_old_android; + boolean use_old_push_elements; + boolean use_old_push_into_acid; + boolean use_wrap_around; }; struct LevelInfo_EM { int file_version; - struct LEVEL *cav; + struct CAVE *cav; }; struct GraphicInfo_EM @@ -72,12 +82,12 @@ struct GraphicInfo_EM struct EngineSnapshotInfo_EM { struct GameInfo_EM game_em; - unsigned int RandomEM; - struct LEVEL lev; + struct LOGIC lev; struct PLAYER ply[MAX_PLAYERS]; + + int frame; int screen_x; int screen_y; - int frame; }; @@ -88,7 +98,7 @@ 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_object[GAME_TILE_MAX][8]; extern struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][PLY_MAX][8]; extern struct EngineSnapshotInfo_EM engine_snapshot_em; @@ -98,7 +108,7 @@ void em_close_all(void); void InitGfxBuffers_EM(void); void InitGameEngine_EM(void); -void GameActions_EM(byte *, boolean); +void GameActions_EM(byte[MAX_PLAYERS]); unsigned int InitEngineRandom_EM(int); @@ -116,4 +126,7 @@ void SaveEngineSnapshotValues_EM(void); boolean checkIfAllPlayersFitToScreen(void); +int map_em_element_C_to_X(int); +int map_em_element_X_to_C(int); + #endif // EXPORT_H