rnd-20091124-2-src
[rocksndiamonds.git] / src / game_sp / DDSpriteBuffer.c
index 00e49d7ac02f62aaaac59c05e3445c853382f57a..872ded6f1a27b736c23d074c79b8520ba0109cbe 100644 (file)
@@ -179,10 +179,12 @@ static void Blt(int pX, int pY, int SpriteX, int SpriteY)
 
 #if 1
 
-  int sx1 = mScrollX_last - 2 * TILEX;
-  int sy1 = mScrollY_last - 2 * TILEY;
-  int sx2 = mScrollX_last + SXSIZE + 1 * TILEX;
-  int sy2 = mScrollY_last + SYSIZE + 1 * TILEY;
+  int scx = (mScrollX_last < 0 ? 0 : mScrollX_last);
+  int scy = (mScrollY_last < 0 ? 0 : mScrollY_last);
+  int sx1 = scx - 2 * TILEX;
+  int sy1 = scy - 2 * TILEY;
+  int sx2 = scx + SXSIZE + 1 * TILEX;
+  int sy2 = scy + SYSIZE + 1 * TILEY;
 
   int sx = pX - sx1;
   int sy = pY - sy1;