removed unused image file for native Boulder Dash graphics
[rocksndiamonds.git] / src / game_em / main_em.h
index 0620b7256d0d8af95092851e21a7779c3ab0052c..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
 
@@ -48,17 +59,17 @@ extern int                  TILESIZE_VAR;
 
 extern int                     SCR_FIELDX, SCR_FIELDY;
 
-#define MAX_BUF_XSIZE          (SCR_FIELDX + 2)
-#define MAX_BUF_YSIZE          (SCR_FIELDY + 2)
+#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
@@ -85,35 +99,16 @@ extern int                  SX, SY;
 // exported variables
 // ----------------------------------------------------------------------------
 
-extern unsigned int RandomEM;
-
-extern struct LEVEL lev;
+extern struct CAVE cav;
+extern struct LOGIC lev;
 extern struct PLAYER ply[MAX_PLAYERS];
 
 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 GameInfo_EM game_em;
 
-extern unsigned char tab_blank[TILE_MAX];
-extern unsigned char tab_acid[TILE_MAX];
-extern unsigned char tab_fake_acid[TILE_MAX];
-extern unsigned char tab_amoeba[TILE_MAX];
-extern unsigned char tab_android_move[TILE_MAX];
-extern unsigned short tab_explode_normal[TILE_MAX];
-extern unsigned short tab_explode_dynamite[TILE_MAX];
-
-extern unsigned short map_obj[8][TILE_MAX];
-extern unsigned short map_ply[2][8][PLY_MAX];
-extern unsigned short map_ttl[128];
-
 extern Bitmap *screenBitmap;
-extern Bitmap *scoreBitmap;
-
-extern Bitmap *objBitmap;
-extern Bitmap *sprBitmap;
-extern Bitmap *ttlBitmap;
-extern Bitmap *botBitmap;
 
 
 // ----------------------------------------------------------------------------