added showing optional title screen for native BD cavesets
[rocksndiamonds.git] / src / game_em / main_em.h
index cdb9325cad4d1be58da3494c85191f42e0faa993..3bbbcfe02e01208ca2c4628d763608c40c2baca9 100644 (file)
@@ -1,3 +1,14 @@
+// ============================================================================
+// Rocks'n'Diamonds - McDuffin Strikes Back!
+// ----------------------------------------------------------------------------
+// (c) 1995-2024 by Artsoft Entertainment
+//                         Holger Schemel
+//                 info@artsoft.org
+//                 https://www.artsoft.org/
+// ----------------------------------------------------------------------------
+// main_em.h
+// ============================================================================
+
 #ifndef MAIN_EM_H
 #define MAIN_EM_H
 
 // external functions and definitions imported from main program to game_em
 // ============================================================================
 
-#include "../engines.h"
+#include "import_em.h"
 
 
 // ============================================================================
 // functions and definitions that are exported from game_em to main program
 // ============================================================================
 
-#include "export.h"
+#include "export_em.h"
 
 
 // ============================================================================
 // constant definitions
 // ----------------------------------------------------------------------------
 
-/* values for native Emerald Mine game version */
+// values for native Emerald Mine game version
 #define FILE_VERSION_EM_UNKNOWN        0
 #define FILE_VERSION_EM_V1     1
 #define FILE_VERSION_EM_V2     2
 #define FILE_VERSION_EM_V3     3
-#define FILE_VERSION_EM_V4     4       /* (there really was no version 4) */
+#define FILE_VERSION_EM_V4     4       // (there really was no version 4)
 #define FILE_VERSION_EM_V5     5
 #define FILE_VERSION_EM_V6     6
 
 #define FILE_VERSION_EM_ACTUAL FILE_VERSION_EM_V6
 
-/* screen sizes and positions for EM engine */
+// screen sizes and positions for EM engine
 
 #define TILESIZE               32
 
@@ -51,14 +62,14 @@ extern int                  SCR_FIELDX, SCR_FIELDY;
 #define MAX_BUF_XSIZE          (SCR_FIELDX + 2 * CAVE_BUFFER_XOFFSET)
 #define MAX_BUF_YSIZE          (SCR_FIELDY + 2 * CAVE_BUFFER_YOFFSET)
 
-/* often used screen positions */
+// often used screen positions
 
 extern int                     SX, SY;
 
 #define SXSIZE                 (SCR_FIELDX * TILEX)
 #define SYSIZE                 (SCR_FIELDY * TILEY)
 
-/* other settings */
+// other settings
 #define PLAY_ELEMENT_SOUND     FALSE
 
 
@@ -76,6 +87,9 @@ extern int                    SX, SY;
 
 #define DISPLAY_TIME(x)                ROUNDED_DIVIDE(x, FRAMES_PER_SECOND)
 
+#define CAVE_POS_X(x)          ((x) - lev.left)
+#define CAVE_POS_Y(x)          ((x) - lev.top)
+
 
 // ----------------------------------------------------------------------------
 // data structure definitions