blt fill did broke winquake fix it now.

svn path=/trunk/; revision=15744
This commit is contained in:
Magnus Olsen 2005-06-03 01:18:02 +00:00
parent 253b2e8c8a
commit f240bd9f61

View file

@ -329,18 +329,17 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo)
else else
{ {
SourceX = ((BltInfo->DestRect.bottom - BltInfo->DestRect.top) * SourceX = ((BltInfo->DestRect.bottom - BltInfo->DestRect.top) *
BltInfo->DestRect.right) << 2; BltInfo->DestRect.right);
memset4(BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.top * memset4(BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.top *
BltInfo->DestSurface->lDelta, 0x00000000, SourceX); BltInfo->DestSurface->lDelta, 0x00000000, SourceX);
} }
#else #else
SourceX = (BltInfo->DestRect.right - BltInfo->DestRect.left) << 2;
for (DestY=BltInfo->DestRect.bottom-1;DestY>=BltInfo->DestRect.top;DestY--) for (DestY=BltInfo->DestRect.bottom-1;DestY>=BltInfo->DestRect.top;DestY--)
{ {
DIB_32BPP_HLine(BltInfo->DestSurface, BltInfo->DestRect.bottom, SourceX, DestY, 0x00000000); DIB_32BPP_HLine(BltInfo->DestSurface, BltInfo->DestRect.left, BltInfo->DestRect.right, DestY, 0x00000000);
} }
#endif #endif
@ -364,7 +363,7 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo)
else else
{ {
SourceX = ((BltInfo->DestRect.bottom - BltInfo->DestRect.top) * SourceX = ((BltInfo->DestRect.bottom - BltInfo->DestRect.top) *
BltInfo->DestRect.right) << 2; BltInfo->DestRect.right);
memset4(BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.top * memset4(BltInfo->DestSurface->pvScan0 + BltInfo->DestRect.top *
BltInfo->DestSurface->lDelta, 0xFFFFFFFF, SourceX); BltInfo->DestSurface->lDelta, 0xFFFFFFFF, SourceX);
@ -372,10 +371,9 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo)
} }
#else #else
SourceX = (BltInfo->DestRect.right - BltInfo->DestRect.left) << 2;
for (DestY=BltInfo->DestRect.bottom-1;DestY>=BltInfo->DestRect.top;DestY--) for (DestY=BltInfo->DestRect.bottom-1;DestY>=BltInfo->DestRect.top;DestY--)
{ {
DIB_32BPP_HLine(BltInfo->DestSurface, BltInfo->DestRect.bottom, SourceX, DestY, 0xFFFFFFFF); DIB_32BPP_HLine(BltInfo->DestSurface, BltInfo->DestRect.left, BltInfo->DestRect.left, DestY, 0xFFFFFFFF);
} }
#endif #endif
return TRUE; return TRUE;
@ -395,6 +393,7 @@ DIB_32BPP_BitBlt(PBLTINFO BltInfo)
case BMF_24BPP: case BMF_24BPP:
break; break;
case BMF_32BPP: case BMF_32BPP:
SrcmaxX = BltInfo->SourceSurface->sizlBitmap.cx - BltInfo->SourcePoint.x; SrcmaxX = BltInfo->SourceSurface->sizlBitmap.cx - BltInfo->SourcePoint.x;
SrcmaxY = BltInfo->SourceSurface->sizlBitmap.cy - BltInfo->SourcePoint.y; SrcmaxY = BltInfo->SourceSurface->sizlBitmap.cy - BltInfo->SourcePoint.y;