rnd-20070331-1-src
[rocksndiamonds.git] / src / game_em / graphics.c
index 2d8188f188320850fb6b63bd19972445ee841de8..68f1c297bf6dfae913ddef9b5c8b061ef5ba6db1 100644 (file)
@@ -27,6 +27,7 @@
                                  (8 - frame) * ply[p].y) * TILEY / 8   \
                                 - ((SCR_FIELDY - 1) * TILEY) / 2)
 
+#define USE_EXTENDED_GRAPHICS_ENGINE           0
 
 int frame;                     /* current screen frame */
 int screen_x;                  /* current scroll position */
@@ -149,8 +150,9 @@ static void DrawLevelField_EM(int x, int y, int sx, int sy,
   int tile = Draw[y][x];
   struct GraphicInfo_EM *g = &graphic_info_em_object[tile][frame];
 
-#if 1
-  getGraphicSourceObjectExt_EM(tile, frame, &g->bitmap, &g->src_x, &g->src_y);
+#if USE_EXTENDED_GRAPHICS_ENGINE
+  getGraphicSourceObjectExt_EM(tile, frame, &g->bitmap, &g->src_x, &g->src_y,
+                              x - 2, y - 2);
 #endif
 
   int src_x = g->src_x + g->src_offset_x;
@@ -253,7 +255,7 @@ static void DrawLevelPlayer_EM(int x1, int y1, int player_nr, int anim,
 {
   struct GraphicInfo_EM *g = &graphic_info_em_player[player_nr][anim][frame];
 
-#if 1
+#if USE_EXTENDED_GRAPHICS_ENGINE
   getGraphicSourcePlayerExt_EM(player_nr, anim, frame,
                               &g->bitmap, &g->src_x, &g->src_y);
 #endif
@@ -367,7 +369,11 @@ static void animscreen(void)
       }
 
       /* only redraw screen tiles if they (or their crumbled state) changed */
+#if USE_EXTENDED_GRAPHICS_ENGINE
       // if (screentiles[sy][sx] != obj || crumbled_state[sy][sx] != crm)
+#else
+      if (screentiles[sy][sx] != obj || crumbled_state[sy][sx] != crm)
+#endif
       {
        DrawLevelField_EM(x, y, sx, sy, FALSE);
        DrawLevelFieldCrumbled_EM(x, y, sx, sy, crm, FALSE);
@@ -516,7 +522,7 @@ void DrawRelocatePlayer(struct PlayerInfo *player, boolean quick_relocation)
 
   if (quick_relocation)
   {
-    int offset = (setup.scroll_delay ? 3 : 0);
+    int offset = game.scroll_delay_value;
 
     if (!IN_VIS_FIELD(SCREENX(jx), SCREENY(jy)))
     {
@@ -720,7 +726,7 @@ void RedrawPlayfield_EM(boolean force_redraw)
   int player_nr = game_em.last_moving_player;
 #endif
   int stepsize = TILEX / 8;
-  int offset = (setup.scroll_delay ? 3 : 0) * TILEX;
+  int offset = game.scroll_delay_value * TILEX;
   int offset_x = offset;
   int offset_y = offset;
   int screen_x_old = screen_x;