rnd-20091101-3-src
authorHolger Schemel <info@artsoft.org>
Sun, 1 Nov 2009 20:37:08 +0000 (21:37 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:57:56 +0000 (10:57 +0200)
src/conftime.h
src/game_sp/DDScrollBuffer.c
src/game_sp/MainForm.c

index 3a907a713967cf69fb56428beb92f96698e3c7d6..524cdb82dc356d742cf6197af7579070c8e2071b 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "2009-11-01 17:22"
+#define COMPILE_DATE_STRING "2009-11-01 21:31"
index 48a35ef12084aeb44410caeedc9b2586c91e2af1..23ce4ce9af381573ff42c585aefa7f7cc3867ea5 100644 (file)
@@ -135,13 +135,19 @@ void DDScrollBuffer_Blt_Ext(Bitmap *target_bitmap)
 {
   RECT DR, SR;
   long tX, tY, L;
+  int sX, sY;
   // RECT ERect;
   // long Restore;
 
   if (NoDisplayFlag)
     return;
 
-#if 0
+#if 1
+  DR.left = 0;
+  DR.top = 0;
+  DR.right = SCR_FIELDX * TILEX;
+  DR.bottom = SCR_FIELDY * TILEY;
+#else
   // --- On Error GoTo BltEH
   DirectX.GetWindowRect(mhWnd, DR);
   // --- On Error GoTo 0
@@ -175,10 +181,37 @@ void DDScrollBuffer_Blt_Ext(Bitmap *target_bitmap)
   }
 
 #if 1
+  SR.left = (SR.left < 0 ? 0 : SR.left);
+  SR.top  = (SR.top  < 0 ? 0 : SR.top);
+#endif
 
-#if 0
-  printf("::: DDScrollBuffer.c: DDScrollBuffer_Blt(): blit from %d, %d [%ld, %ld] [%ld, %ld]\n",
-        SR.left, SR.top, mScrollX, mScrollY, mDestXOff, mDestYOff);
+#if 1
+  {
+    int full_xsize = (FieldWidth  - (menBorder.Checked ? 0 : 1)) * TILEX;
+    int full_ysize = (FieldHeight - (menBorder.Checked ? 0 : 1)) * TILEY;
+    int sxsize = SCR_FIELDX * TILEX;
+    int sysize = SCR_FIELDY * TILEY;
+
+    tX = (full_xsize < sxsize ? full_xsize : tX);
+    tY = (full_ysize < sysize ? full_ysize : tY);
+    sX = SX + (full_xsize < sxsize ? (sxsize - full_xsize) / 2 : 0);
+    sY = SY + (full_ysize < sysize ? (sysize - full_ysize) / 2 : 0);
+  }
+#endif
+
+#if 1
+  if (!menBorder.Checked)
+  {
+    SR.left += 16;
+    SR.top  += 16;
+  }
+#endif
+
+#if 1
+
+#if 1
+  printf("::: DDScrollBuffer.c: DDScrollBuffer_Blt(): blit from %d, %d [%ld, %ld] [%ld, %ld] [%ld, %ld]\n",
+        SR.left, SR.top, mScrollX, mScrollY, mDestXOff, mDestYOff, tX, tY);
 #endif
 
 #if 0
@@ -194,6 +227,9 @@ void DDScrollBuffer_Blt_Ext(Bitmap *target_bitmap)
 #endif
 
 #if 1
+  BlitBitmap(screenBitmap, target_bitmap,
+            SR.left, SR.top, tX, tY, sX, sY);
+#else
   BlitBitmap(screenBitmap, target_bitmap,
             SR.left, SR.top,
              SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
index 0a66bd964ae134efaaa000851e7bec2d48e44a83..7936fee2f28d9e6d4a1f2b3d7969fd3bef8c494e 100644 (file)
@@ -1024,7 +1024,8 @@ void DisplayLevel()
 
   DrawFrame(0);
 
-#if 0
+  /* !!! CHECK THIS !!! */
+#if 1
   if (! menBorder.Checked)
     DrawFrame(1);
 #endif
@@ -1369,7 +1370,9 @@ void Form_Load()
   PauseMode = 0;
   //  BaseWidth = 16
 
+#if 0
   menBorder_Click();
+#endif
 
   Loaded = True;