if (NoDisplayFlag)
return;
-
+#if 0
// --- On Error GoTo BltEH
DirectX.GetWindowRect(mhWnd, DR);
// --- On Error GoTo 0
+#endif
{
tX = (DR.right - DR.left) / Stretch;
// DR.top = DR.top - Stretch * (mScrollY + mDestYOff)
// End If
}
+
+#if 1
+
+#if 0
+ printf("::: DDScrollBuffer.c: DDScrollBuffer_Blt(): blit from %d, %d [%ld, %ld] [%ld, %ld]\n",
+ SR.left, SR.top, mScrollX, mScrollY, mDestXOff, mDestYOff);
+#endif
+
+#if 0
+ BlitBitmap(screenBitmap, window,
+ 1600, 320,
+ SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
+#else
+ BlitBitmap(screenBitmap, window,
+ SR.left, SR.top,
+ SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
+#endif
+
+ return;
+#endif
+
// DDraw.WaitForVerticalBlank DDWAITVB_BLOCKBEGIN, 0
if (IS_NOTHING(&Buffer, sizeof(Buffer)))
return;
{
switch (L)
{
+#if 0
case DDERR_GENERIC:
Debug.Assert(False);
break;
case DDERR_SURFACEBUSY:
Debug.Assert(False);
break;
+#endif
case DDERR_SURFACELOST:
DDraw.RestoreAllSurfaces();
// ClipToWindow 0
break;
+#if 0
case DDERR_UNSUPPORTED:
Debug.Assert(False);
break;
default:
Debug.Assert(False);
break;
+#endif
}
}
mScrollY = Y;
ScrollX = mScrollX;
ScrollY = mScrollY;
+
+#if 0
+ printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTo(): mScroll: %ld, %ld [%d, %d]\n",
+ mScrollX, mScrollY, X, Y);
+#endif
}
void DDScrollBuffer_ScrollTowards(int X, int Y, double Step)
if (NoDisplayFlag)
return;
+#if 0
+ printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (1) mScroll: %ld, %ld [%d, %d, %f]\n",
+ mScrollX, mScrollY, X, Y, Step);
+#endif
+
X = X / Stretch;
Y = Y / Stretch;
dx = X - mScrollX;
mScrollY = mScrollY + dY * r;
ScrollX = mScrollX;
ScrollY = mScrollY;
+
+#if 0
+ printf("::: DDScrollBuffer.c: DDScrollBuffer_ScrollTowards(): (2) mScroll: %ld, %ld [%d, %d, %f]\n",
+ mScrollX, mScrollY, X, Y, Step);
+#endif
}
void DDScrollBuffer_SoftScrollTo(int X, int Y, long TimeMS, int FPS)
{
double dx, dY;
+#if 0
TickCountObject Tick;
+#endif
long dT, StepCount;
double T, tStep;
long oldX, oldY, maxD;
- boolean AlreadyRunning;
+ static boolean AlreadyRunning = False;
if (NoDisplayFlag)
return;
Y = Y / Stretch;
dx = X - mScrollX;
dY = Y - mScrollY;
- maxD = (Abs(dx) < Abs(dY) ? Abs(dY) : Abs(dY));
+ maxD = (Abs(dx) < Abs(dY) ? Abs(dY) : Abs(dx));
StepCount = FPS * (TimeMS / (double)1000);
if (StepCount > maxD)
StepCount = maxD;
goto SoftScrollEH;
// If Claim Then Exit For
+
+#if 0
Tick.DelayMS(dT, False);
+#endif
+
mScrollX = oldX + T * dx;
mScrollY = oldY + T * dY;
ScrollX = mScrollX;
if (UserDragFlag)
goto SoftScrollEH;
+#if 0
Tick.DelayMS(dT, False);
+#endif
+
mScrollX = X;
mScrollY = Y;
ScrollX = mScrollX;
SoftScrollEH:
AlreadyRunning = False;
+
+#if 0
+ printf("::: DDScrollBuffer.c: DDScrollBuffer_SoftScrollTo(): mScroll: %ld, %ld\n",
+ mScrollX, mScrollY);
+#endif
}