rnd-20070126-1-src
authorHolger Schemel <info@artsoft.org>
Fri, 26 Jan 2007 01:54:29 +0000 (02:54 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:54:15 +0000 (10:54 +0200)
src/conftime.h
src/game.c
src/init.c
src/main.c
src/main.h

index a7fc3e08838fe06bb91536311f7c31cafb75e4e0..caae2a710e4301572f3902908bf018c32a927855 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2007-01-25 03:07"
+#define COMPILE_DATE_STRING "2007-01-26 02:51"
index bb6e6ede2b2d259978b05380fef26368630f6027..0b52048d657b6e2243a4ebb8bb2830e4fb2caef6 100644 (file)
@@ -10565,8 +10565,32 @@ static boolean AllPlayersInVisibleScreen()
 
 void ScrollLevel(int dx, int dy)
 {
+  int i, x, y;
+
+  /* only horizontal XOR vertical scroll direction allowed */
+  if ((dx == 0 && dy == 0) || (dx != 0 && dy != 0))
+    return;
+
+#if 1
+  int xsize = (BX2 - BX1 + 1);
+  int ysize = (BY2 - BY1 + 1);
+  int start = (dx != 0 ? (dx == -1 ? BX1 : BX2) : (dy == -1 ? BY1 : BY2));
+  int end   = (dx != 0 ? (dx == -1 ? BX2 : BX1) : (dy == -1 ? BY2 : BY1));
+  int step  = (start < end ? +1 : -1);
+
+  for (i = start; i != end; i += step)
+  {
+    BlitBitmap(drawto_field, drawto_field,
+              FX + TILEX * (dx != 0 ? i + step : 0),
+              FY + TILEY * (dy != 0 ? i + step : 0),
+              TILEX * (dx != 0 ? 1 : xsize),
+              TILEY * (dy != 0 ? 1 : ysize),
+              FX + TILEX * (dx != 0 ? i : 0),
+              FY + TILEY * (dy != 0 ? i : 0));
+  }
+#else
+
   int softscroll_offset = (setup.soft_scrolling ? TILEX : 0);
-  int x, y;
 
 #if 1
   BlitBitmap(drawto_field, bitmap_db_field2,
@@ -10591,16 +10615,17 @@ void ScrollLevel(int dx, int dy)
             SYSIZE - TILEY * (dy != 0) + 2 * softscroll_offset,
             FX + TILEX * (dx == 1) - softscroll_offset,
             FY + TILEY * (dy == 1) - softscroll_offset);
+#endif
 #endif
 
-  if (dx)
+  if (dx != 0)
   {
     x = (dx == 1 ? BX1 : BX2);
     for (y = BY1; y <= BY2; y++)
       DrawScreenField(x, y);
   }
 
-  if (dy)
+  if (dy != 0)
   {
     y = (dy == 1 ? BY1 : BY2);
     for (x = BX1; x <= BX2; x++)
index 6487cb0b3c3ec095b14df599b29ce4119132c7bb..49006fa1f8d547466c514a458bc3f3bc927d7ce0 100644 (file)
@@ -4718,7 +4718,6 @@ void InitGfx()
   /* create additional image buffers for double-buffering and cross-fading */
   bitmap_db_cross = CreateBitmap(WIN_XSIZE, WIN_YSIZE, DEFAULT_DEPTH);
   bitmap_db_field = CreateBitmap(FXSIZE, FYSIZE, DEFAULT_DEPTH);
-  bitmap_db_field2= CreateBitmap(FXSIZE, FYSIZE, DEFAULT_DEPTH);
   bitmap_db_panel = CreateBitmap(DXSIZE, DYSIZE, DEFAULT_DEPTH);
   bitmap_db_door  = CreateBitmap(3 * DXSIZE, DYSIZE + VYSIZE, DEFAULT_DEPTH);
 
index 7f0eca2ea7347441434be0de1e6081442c8c565d..83eefa6d38b236f3810cf50d54bed2d73dc219b3 100644 (file)
@@ -22,7 +22,6 @@
 
 Bitmap                *bitmap_db_cross;
 Bitmap                *bitmap_db_field;
-Bitmap                *bitmap_db_field2;
 Bitmap                *bitmap_db_panel;
 Bitmap                *bitmap_db_door;
 DrawBuffer            *fieldbuffer;
index d07b005f3dda4acc05a7b003259329fd9004b0f5..fd1fe6ee0cdb1c2323e278a164bcb9679c44d3db 100644 (file)
@@ -2559,7 +2559,6 @@ struct HelpAnimInfo
 
 extern Bitmap                 *bitmap_db_cross;
 extern Bitmap                 *bitmap_db_field;
-extern Bitmap                 *bitmap_db_field2;
 extern Bitmap                 *bitmap_db_panel;
 extern Bitmap                 *bitmap_db_door;
 extern Pixmap                  tile_clipmask[];