More bug fixes
This commit is contained in:
@@ -271,17 +271,26 @@ void DDrawError(){
|
||||
|
||||
extern "C" BYTE vsyncon;
|
||||
extern "C" BYTE KitchenSync;
|
||||
|
||||
extern "C" BYTE TripleBufferWin;
|
||||
|
||||
void DrawScreen()
|
||||
{
|
||||
if (FullScreen == 1)
|
||||
{
|
||||
if (TripleBufferWin == 1)
|
||||
if (TripleBufferWin == 1 || KitchenSync == 1)
|
||||
{
|
||||
DD_BackBuffer->Blt(NULL, DD_CFB, &BlitArea, DDBLT_WAIT, NULL);
|
||||
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
|
||||
{
|
||||
@@ -294,14 +303,7 @@ void DrawScreen()
|
||||
}
|
||||
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
|
||||
{
|
||||
@@ -312,7 +314,7 @@ void DrawScreen()
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user