added workaround for +1 scanline size in 16bit mode

This commit is contained in:
spacy51 2007-12-02 00:13:40 +00:00
parent 144a2762ad
commit 48dfe1eec3
2 changed files with 12 additions and 1 deletions

View File

@ -484,7 +484,15 @@ void Direct3DDisplay::render()
return;
} else {
if( !theApp.filterFunction ) {
copyImage( pix, lr.pBits, theApp.sizeX, theApp.sizeY, lr.Pitch, systemColorDepth );
copyImage(
pix,
lr.pBits,
(systemColorDepth == 32) ? theApp.sizeX
: theApp.sizeX + 1, // TODO: workaround results in one pixel black border at right side
theApp.sizeY,
lr.Pitch,
systemColorDepth
);
} else {
u32 pitch = theApp.filterWidth * (systemColorDepth>>3) + 4;
theApp.filterFunction( pix + pitch,

View File

@ -721,6 +721,9 @@ void DirectDrawDisplay::render()
copyX = 160;
copyY = 144;
}
}
if( systemColorDepth == 16 ) {
copyX++; // TODO: workaround results in one pixel black border at right side
}
copyImage( pix, ddsDesc.lpSurface, copyX, copyY, ddsDesc.lPitch, systemColorDepth );
}