-#if 1
-#if 1
- {
- px += game_sp.scroll_xoffset;
- py += game_sp.scroll_yoffset;
- }
-#else
- if (1)
- {
- px += TILEX / 2;
- py += TILEY / 2;
- }
-#endif
-#else
-#if 1
- if (0 && !menBorder)
- {
- if (mScrollX < ScrollMinX + TILEX / 2)
- px += ScrollMinX + TILEX / 2 - mScrollX;
- else if (mScrollX > ScrollMaxX - TILEX / 2)
- px -= mScrollX - (ScrollMaxX - TILEX / 2);
- if (mScrollY < ScrollMinY + TILEY / 2)
- py += ScrollMinY + TILEY / 2 - mScrollY;
- else if (mScrollY > ScrollMaxY - TILEY / 2)
- py -= mScrollY - (ScrollMaxY - TILEY / 2);
- }
-#else
- if (!menBorder)
- {
- px += TILEX / 2;
- py += TILEY / 2;
- }
-#endif
-#endif
-
- BlitBitmap(bitmap_db_field_sp, target_bitmap, px, py, sxsize, sysize, sx, sy);
-}
-
-void BackToFront_SP(void)
-{
- static boolean scrolling_last = FALSE;
- int left = mScrollX / TILEX;
- int top = mScrollY / TILEY;
- boolean scrolling = (mScrollX % TILEX != 0 || mScrollY % TILEY != 0);
- int x, y;
-
- SyncDisplay();
+ /* scroll correction for even number of visible tiles (half tile shifted) */
+ px += game_sp.scroll_xoffset;
+ py += game_sp.scroll_yoffset;