More bug fixes

This commit is contained in:
pagefault
2003-07-23 22:22:14 +00:00
parent 536620880b
commit 4622cfbc12

View File

@@ -271,17 +271,26 @@ void DDrawError(){
extern "C" BYTE vsyncon; extern "C" BYTE vsyncon;
extern "C" BYTE KitchenSync; extern "C" BYTE KitchenSync;
extern "C" BYTE TripleBufferWin; extern "C" BYTE TripleBufferWin;
void DrawScreen() void DrawScreen()
{ {
if (FullScreen == 1) if (FullScreen == 1)
{ {
if (TripleBufferWin == 1) if (TripleBufferWin == 1 || KitchenSync == 1)
{ {
DD_BackBuffer->Blt(NULL, DD_CFB, &BlitArea, DDBLT_WAIT, NULL); DD_BackBuffer->Blt(NULL, DD_CFB, &BlitArea, DDBLT_WAIT, NULL);
DD_Primary->Flip(NULL, DDFLIP_WAIT); DD_Primary->Flip(NULL, DDFLIP_WAIT);
if (KitchenSync == 1)
{
if (DD_BackBuffer->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL) == DDERR_SURFACELOST)
DD_Primary->Restore();
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
DD_Primary->Restore();
}
} }
else else
{ {
@@ -294,14 +303,7 @@ void DrawScreen()
} }
DD_Primary->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL); DD_Primary->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL);
} }
if (KitchenSync == 1)
{
if (DD_BackBuffer->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL) == DDERR_SURFACELOST)
DD_Primary->Restore();
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
DD_Primary->Restore();
}
} }
else else
{ {
@@ -312,7 +314,7 @@ void DrawScreen()
DDrawError(); DDrawError();
} }
} }
DD_Primary->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL); DD_Primary->Blt(&rcWindow, AltSurface == 0 ? DD_CFB : DD_CFB16, &BlitArea, DDBLT_WAIT, NULL);
} }
} }