#include <fcntl.h>
#include "libgame/libgame.h"
+
+#include "game_bd/game_bd.h"
#include "game_em/game_em.h"
#include "game_sp/game_sp.h"
#include "game_mm/game_mm.h"
-#include "engines.h"
#include "conf_gfx.h" // include auto-generated data structure definitions
#include "conf_snd.h" // include auto-generated data structure definitions
#define EL_BD_FIREFLY_UP 75
#define EL_BD_FIREFLY_LEFT 76
#define EL_BD_FIREFLY_DOWN 77
-#define EL_BD_BUTTERFLY_1 EL_BD_BUTTERFLY_DOWN
-#define EL_BD_BUTTERFLY_2 EL_BD_BUTTERFLY_LEFT
-#define EL_BD_BUTTERFLY_3 EL_BD_BUTTERFLY_UP
-#define EL_BD_BUTTERFLY_4 EL_BD_BUTTERFLY_RIGHT
-#define EL_BD_FIREFLY_1 EL_BD_FIREFLY_LEFT
-#define EL_BD_FIREFLY_2 EL_BD_FIREFLY_DOWN
-#define EL_BD_FIREFLY_3 EL_BD_FIREFLY_RIGHT
-#define EL_BD_FIREFLY_4 EL_BD_FIREFLY_UP
#define EL_BD_BUTTERFLY 78
#define EL_BD_FIREFLY 79
#define EL_PLAYER_1 80
#define PROGRAM_VERSION_SUPER 4
#define PROGRAM_VERSION_MAJOR 3
#define PROGRAM_VERSION_MINOR 8
-#define PROGRAM_VERSION_PATCH 1
+#define PROGRAM_VERSION_PATCH 2
#define PROGRAM_VERSION_EXTRA ""
#define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"
#define PROGRAM_AUTHOR_STRING "Holger Schemel"
#define PROGRAM_EMAIL_STRING "info@artsoft.org"
#define PROGRAM_WEBSITE_STRING "https://www.artsoft.org/"
-#define PROGRAM_COPYRIGHT_STRING "1995-2023 by Holger Schemel"
+#define PROGRAM_COPYRIGHT_STRING "1995-2024 by Holger Schemel"
#define PROGRAM_COMPANY_STRING "A Game by Artsoft Entertainment"
#define PROGRAM_ICON_FILENAME "icons/icon.png"
// values for game engine type identifier
#define GAME_ENGINE_TYPE_UNKNOWN LEVEL_FILE_TYPE_UNKNOWN
#define GAME_ENGINE_TYPE_RND LEVEL_FILE_TYPE_RND
+#define GAME_ENGINE_TYPE_BD LEVEL_FILE_TYPE_BD
#define GAME_ENGINE_TYPE_EM LEVEL_FILE_TYPE_EM
#define GAME_ENGINE_TYPE_SP LEVEL_FILE_TYPE_SP
#define GAME_ENGINE_TYPE_MM LEVEL_FILE_TYPE_MM
-#define NUM_ENGINE_TYPES 4
+#define NUM_ENGINE_TYPES 5
// values for automatically playing tapes
#define AUTOPLAY_NONE 0
int game_engine_type;
// level stored in native format for the alternative native game engines
+ struct LevelInfo_BD *native_bd_level;
struct LevelInfo_EM *native_em_level;
struct LevelInfo_SP *native_sp_level;
struct LevelInfo_MM *native_mm_level;
extern int SBX_Left, SBX_Right;
extern int SBY_Upper, SBY_Lower;
-extern int TimeFrames, TimePlayed, TimeLeft, TapeTime;
+extern int TimeFrames, TimePlayed, TimeLeft;
+extern int TapeTimeFrames, TapeTime;
extern boolean network_player_action_received;
extern struct ElementDirectionInfo element_direction_info[];
extern struct SpecialSuffixInfo special_suffix_info[];
extern struct TokenIntPtrInfo image_config_vars[];
+extern struct TokenIntPtrInfo sound_config_vars[];
extern struct FontInfo font_info[];
extern struct GlobalAnimInfo global_anim_info[];
extern struct GlobalAnimNameInfo global_anim_name_info[];
extern struct HelpAnimInfo *helpanim_info;
extern SetupFileHash *helptext_info;
extern SetupFileHash *image_config_hash;
+extern SetupFileHash *sound_config_hash;
extern SetupFileHash *element_token_hash;
extern SetupFileHash *graphic_token_hash;
extern SetupFileHash *font_token_hash;