added separate time counter for tape time frames
[rocksndiamonds.git] / src / main.h
index 228ca5a63b0d6b92f462b95ba6259921e22ae57f..2906946675d805c773f5ad8dc94a6f3ad1d3dedd 100644 (file)
 #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
@@ -2553,6 +2546,7 @@ enum
   FONT_ENVELOPE_2,
   FONT_ENVELOPE_3,
   FONT_ENVELOPE_4,
+  FONT_REQUEST_NARROW,
   FONT_REQUEST,
   FONT_INPUT_1_ACTIVE,
   FONT_INPUT_2_ACTIVE,
@@ -2662,7 +2656,7 @@ enum
 // program information and versioning definitions
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          3
-#define PROGRAM_VERSION_MINOR          7
+#define PROGRAM_VERSION_MINOR          8
 #define PROGRAM_VERSION_PATCH          2
 #define PROGRAM_VERSION_EXTRA          ""
 
@@ -2670,7 +2664,7 @@ enum
 #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"
@@ -2730,11 +2724,12 @@ enum
 // 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
@@ -3236,6 +3231,7 @@ struct LevelInfo
   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;
@@ -3920,7 +3916,8 @@ extern int                        BX2, BY2;
 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;
 
@@ -3967,6 +3964,7 @@ extern struct ElementActionInfo   element_action_info[];
 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[];
@@ -3979,6 +3977,7 @@ extern struct MusicFileInfo    *music_file_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;