int sy2 = scy + (SCR_FIELDY + 1) * TILEY;
int sx = pX - sx1;
int sy = pY - sy1;
- int tile_x = sx / TILESIZE;
- int tile_y = sy / TILESIZE;
- int move_x = (sx + TILESIZE - 1) / TILESIZE;
- int move_y = (sy + TILESIZE - 1) / TILESIZE;
if (NoDisplayFlag)
return;
- /* do not draw fields that are outside the visible screen area */
+ // do not draw fields that are outside the visible screen area
if (pX < sx1 || pX > sx2 || pY < sy1 || pY > sy2)
return;
BlitBitmap(bitmap, bitmap_db_field_sp, SpriteX, SpriteY,
TILEX_VAR, TILEY_VAR, sx, sy);
-
- redraw[tile_x][tile_y] = TRUE;
- redraw_tiles++;
-
- if (move_x != tile_x)
- {
- redraw[move_x][tile_y] = TRUE;
- redraw_tiles++;
- }
- else if (move_y != tile_y)
- {
- redraw[tile_x][move_y] = TRUE;
- redraw_tiles++;
- }
}
void DDSpriteBuffer_BltImg(int pX, int pY, int graphic, int sync_frame)
if (NoDisplayFlag)
return;
- getGraphicSource_SP(&g, graphic, sync_frame, -1, -1);
+ if (graphic < 0)
+ return;
+
+ getGraphicSource_SP(&g, graphic, sync_frame);
Blt(pX, pY, g.bitmap, g.src_x, g.src_y);
}