+void ScrollFigure(int init)
+{
+ static long actual_frame_counter;
+ static int oldX = -1, oldY = -1;
+
+ if (init)
+ {
+ if (PlayerMovPos && oldX != -1 && oldY != -1)
+ {
+ if (Feld[JX2][JY2] == EL_LEERRAUM)
+ Feld[JX2][JY2] = EL_UNSICHTBAR;
+ DrawLevelElement(oldX,oldY, Feld[oldX][oldY]);
+ DrawPlayerField();
+ }
+
+ oldX = JX2;
+ oldY = JY2;
+ actual_frame_counter = FrameCounter;
+
+ /*
+ redraw[redraw_x1 + oldX][redraw_y1 + oldY] = 1;
+ redraw_tiles++;
+ */
+
+ /*
+ DrawLevelElement(oldX,oldY, Feld[oldX][oldY]);
+ */
+
+ DrawPlayerField();
+
+ return;
+ }
+ else if (!FrameReached(&actual_frame_counter,1))
+ return;
+
+ PlayerMovPos += (PlayerMovPos > 0 ? -1 : 1) * TILEX/4;
+
+ if (ScreenMovPos)
+ {
+ ScreenMovPos = PlayerMovPos;
+ redraw_mask |= REDRAW_FIELD;
+ }
+
+ if (Feld[oldX][oldY] == EL_UNSICHTBAR)
+ Feld[oldX][oldY] = EL_LEERRAUM;
+
+ DrawLevelElement(oldX,oldY, Feld[oldX][oldY]);
+ DrawPlayerField();
+
+ if (!PlayerMovPos)
+ {
+ JX2 = JX;
+ JY2 = JY;
+ }
+}
+