int ScreenBuffer[2 + MAX_PLAYFIELD_WIDTH + 2][2 + MAX_PLAYFIELD_HEIGHT + 2];
-int getFieldbufferOffsetX_SP()
+int getFieldbufferOffsetX_SP(void)
{
int px = 2 * TILEX + (mScrollX - mScrollX_last) % TILEX;
return px;
}
-int getFieldbufferOffsetY_SP()
+int getFieldbufferOffsetY_SP(void)
{
int py = 2 * TILEY + (mScrollY - mScrollY_last) % TILEY;
return py;
}
-void RestorePlayfield()
+void RestorePlayfield(void)
{
int x1 = mScrollX / TILEX - 2;
int y1 = mScrollY / TILEY - 2;
}
}
-static void ScrollPlayfieldIfNeeded()
+static void ScrollPlayfieldIfNeeded(void)
{
ScrollPlayfieldIfNeededExt(FALSE);
}
-void InitScrollPlayfield()
+void InitScrollPlayfield(void)
{
ScrollPlayfieldIfNeededExt(TRUE);
}
int num_redrawn = 0;
#endif
+ if (force_redraw)
+ {
+ // force re-initialization of graphics status variables
+ for (y = DisplayMinY; y <= DisplayMaxY; y++)
+ for (x = DisplayMinX; x <= DisplayMaxX; x++)
+ GfxGraphic[x][y] = -1;
+
+ // force complete playfield redraw
+ DisplayLevel();
+ }
+
for (y = DisplayMinY; y <= DisplayMaxY; y++)
{
for (x = DisplayMinX; x <= DisplayMaxX; x++)