+void RestorePlayfield()
+{
+ int x1 = mScrollX / TILEX - 2;
+ int y1 = mScrollY / TILEY - 2;
+ int x2 = mScrollX / TILEX + (SCR_FIELDX - 1) + 2;
+ int y2 = mScrollY / TILEY + (SCR_FIELDY - 1) + 2;
+ int x, y;
+
+ DrawFrameIfNeeded();
+
+ for (y = DisplayMinY; y <= DisplayMaxY; y++)
+ {
+ for (x = DisplayMinX; x <= DisplayMaxX; x++)
+ {
+ if (x >= x1 && x <= x2 && y >= y1 && y <= y2)
+ {
+ DrawFieldNoAnimated(x, y);
+ DrawFieldAnimated(x, y);
+ }
+ }
+ }
+}