moved correcting playfield buffer scroll position to EM engine
[rocksndiamonds.git] / src / game_em / main_em.h
index 2daa1e86f574c7d070b72213f3b96d3cf3740322..84d5509ba327bcfcf02dd9719c7aadaeee9d80e5 100644 (file)
@@ -48,8 +48,8 @@ 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 */
 
@@ -76,6 +76,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
@@ -90,18 +93,10 @@ 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 Bitmap *screenBitmap;