#include <math.h>
-long mWidth, mHeight;
-long mhWnd;
long mScrollX, mScrollY;
long mScrollX_last, mScrollY_last;
-long mDestXOff, mDestYOff;
long ScreenBuffer[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE];
printf("::: REDRAW (%d, %d): %d, %d\n", x, y, graphic, sync_frame);
#endif
- StretchedSprites.BltImg(sx, sy, graphic, sync_frame);
+ DDSpriteBuffer_BltImg(sx, sy, graphic, sync_frame);
#if 1
num_redrawn++;
int xsize = SXSIZE;
int ysize = SYSIZE;
- int full_xsize = (FieldWidth - (menBorder.Checked ? 0 : 1)) * TILEX;
- int full_ysize = (FieldHeight - (menBorder.Checked ? 0 : 1)) * TILEY;
+ int full_xsize = (FieldWidth - (menBorder ? 0 : 1)) * TILEX;
+ int full_ysize = (FieldHeight - (menBorder ? 0 : 1)) * TILEY;
sxsize = (full_xsize < xsize ? full_xsize : xsize);
sysize = (full_ysize < ysize ? full_ysize : ysize);
sx = SX + (full_xsize < xsize ? (xsize - full_xsize) / 2 : 0);
sy = SY + (full_ysize < ysize ? (ysize - full_ysize) / 2 : 0);
- if (!menBorder.Checked)
+ if (!menBorder)
{
px += TILEX / 2;
py += TILEY / 2;
scrolling_last = scrolling;
}
-void DDScrollBuffer_Blt()
-{
- BackToFront_SP();
-}
-
void DDScrollBuffer_ScrollTo(int X, int Y)
{
if (NoDisplayFlag)
return;
- X = X / Stretch;
- Y = Y / Stretch;
- mScrollX = X;
- mScrollY = Y;
- ScrollX = mScrollX;
- ScrollY = mScrollY;
+ ScrollX = mScrollX = X;
+ ScrollY = mScrollY = Y;
ScrollPlayfieldIfNeeded();
}
if (NoDisplayFlag)
return;
- X = X / Stretch;
- Y = Y / Stretch;
dx = X - mScrollX;
dY = Y - mScrollY;
else
r = 1;
- mScrollX = mScrollX + dx * r;
- mScrollY = mScrollY + dY * r;
- ScrollX = mScrollX;
- ScrollY = mScrollY;
+ ScrollX = mScrollX = mScrollX + dx * r;
+ ScrollY = mScrollY = mScrollY + dY * r;
ScrollPlayfieldIfNeeded();
}
return;
AlreadyRunning = True;
- X = X / Stretch;
- Y = Y / Stretch;
+
dx = X - mScrollX;
dY = Y - mScrollY;
maxD = (Abs(dx) < Abs(dY) ? Abs(dY) : Abs(dx));
for (T = (double)tStep; T <= (double)1; T += tStep)
{
- if (UserDragFlag)
- goto SoftScrollEH;
-
- mScrollX = oldX + T * dx;
- mScrollY = oldY + T * dY;
- ScrollX = mScrollX;
- ScrollY = mScrollY;
+ ScrollX = mScrollX = oldX + T * dx;
+ ScrollY = mScrollY = oldY + T * dY;
}
- if (UserDragFlag)
- goto SoftScrollEH;
-
- mScrollX = X;
- mScrollY = Y;
- ScrollX = mScrollX;
- ScrollY = mScrollY;
+ ScrollX = mScrollX = X;
+ ScrollY = mScrollY = Y;
-SoftScrollEH:
AlreadyRunning = False;
ScrollPlayfieldIfNeeded();