Disable vsync when fast forwarding, inspired by pSXAuthor

This commit is contained in:
pagefault
2006-04-05 11:50:15 +00:00
parent 21604fdded
commit 955d143897

View File

@@ -321,6 +321,7 @@ void DDrawError(){
} }
extern "C" BYTE vsyncon; extern "C" BYTE vsyncon;
extern "C" BYTE curblank;
extern "C" BYTE KitchenSync; extern "C" BYTE KitchenSync;
extern "C" BYTE TripleBufferWin; extern "C" BYTE TripleBufferWin;
extern "C" BYTE PauseFocusChange; extern "C" BYTE PauseFocusChange;
@@ -345,11 +346,10 @@ void DrawScreen()
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST) if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
DD_Primary->Restore(); DD_Primary->Restore();
} }
} }
else else
{ {
if (vsyncon == 1) if (vsyncon == 1 && curblank != 0x40)
{ {
if (lpDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, NULL) != DD_OK) if (lpDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, NULL) != DD_OK)
{ {
@@ -359,7 +359,6 @@ void DrawScreen()
DD_Primary->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL); DD_Primary->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL);
DD_Primary->Restore(); DD_Primary->Restore();
} }
} }
else else
{ {