rnd-19980812
[rocksndiamonds.git] / src / init.c
index c9fc72c86fa0bb0201664034196178ac7b6cfcff..134cf74aeadfee1f092b95fb9496cb1adc9b2b09 100644 (file)
@@ -361,6 +361,9 @@ void InitGfx()
   pix[PIX_DB_DOOR] = XCreatePixmap(display, window,
                                   3*DXSIZE,DYSIZE+VYSIZE,
                                   XDefaultDepth(display,screen));
+  pix[PIX_DB_FIELD] = XCreatePixmap(display, window,
+                                   FXSIZE,FYSIZE,
+                                   XDefaultDepth(display,screen));
 
   if (!pix[PIX_DB_BACK] || !pix[PIX_DB_DOOR])
   {
@@ -383,7 +386,9 @@ void InitGfx()
     }
   }
 
-  drawto = drawto_field = backbuffer = pix[PIX_DB_BACK];
+  drawto = backbuffer = pix[PIX_DB_BACK];
+  fieldbuffer = pix[PIX_DB_FIELD];
+  SetDrawtoField(DRAW_BACKBUFFER);
 
   XCopyArea(display,pix[PIX_BACK],backbuffer,gc,
            0,0, WIN_XSIZE,WIN_YSIZE, 0,0);
@@ -392,11 +397,11 @@ void InitGfx()
   XFillRectangle(display,pix[PIX_DB_DOOR],gc,
                 0,0, 3*DXSIZE,DYSIZE+VYSIZE);
 
-  for(i=0;i<SCR_FIELDX;i++)
-    for(j=0;j<SCR_FIELDY;j++)
-      redraw[i][j]=0;
-  redraw_tiles=0;
-  redraw_mask=REDRAW_ALL;
+  for(i=0; i<MAX_BUF_XSIZE; i++)
+    for(j=0; j<MAX_BUF_YSIZE; j++)
+      redraw[i][j] = 0;
+  redraw_tiles = 0;
+  redraw_mask = REDRAW_ALL;
 }
 
 void LoadGfx(int pos, struct PictureFileInfo *pic)