summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/dfxvideo/draw.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/plugins/dfxvideo/draw.c b/plugins/dfxvideo/draw.c
index 6517594c..3b477b10 100644
--- a/plugins/dfxvideo/draw.c
+++ b/plugins/dfxvideo/draw.c
@@ -1352,11 +1352,20 @@ void BlitScreen32(unsigned char *surf, int32_t x, int32_t y)
if (PreviousPSXDisplay.Range.y0) // centering needed?
{
+ memset(surf, 0, PreviousPSXDisplay.Range.y0 * lPitch);
surf += PreviousPSXDisplay.Range.y0 * lPitch;
dy -= PreviousPSXDisplay.Range.y0;
}
- surf += PreviousPSXDisplay.Range.x0 << 2;
+ if (PreviousPSXDisplay.Range.x0)
+ {
+ for (column = 0; column < dy; column++)
+ {
+ destpix = (uint32_t *)(surf + (column * lPitch));
+ memset(destpix, 0, PreviousPSXDisplay.Range.x0 << 2);
+ }
+ surf += PreviousPSXDisplay.Range.x0 << 2;
+ }
if (PSXDisplay.RGB24)
{
@@ -1405,11 +1414,20 @@ void BlitToYUV(unsigned char * surf,int32_t x,int32_t y)
if (PreviousPSXDisplay.Range.y0) // centering needed?
{
+ memset(surf, 0, PreviousPSXDisplay.Range.y0 * lPitch);
surf += PreviousPSXDisplay.Range.y0 * lPitch;
dy -= PreviousPSXDisplay.Range.y0;
}
- surf += PreviousPSXDisplay.Range.x0 << 2;
+ if (PreviousPSXDisplay.Range.x0)
+ {
+ for (column = 0; column < dy; column++)
+ {
+ destpix = (uint32_t *)(surf + (column * lPitch));
+ memset(destpix, 0, PreviousPSXDisplay.Range.x0 << 2);
+ }
+ surf += PreviousPSXDisplay.Range.x0 << 2;
+ }
if (PSXDisplay.RGB24)
{