HQ3X updates and fixes [MaxSt]
This commit is contained in:
@@ -273,14 +273,14 @@ void DrawScreen()
|
|||||||
{
|
{
|
||||||
if (FullScreen == 1)
|
if (FullScreen == 1)
|
||||||
{
|
{
|
||||||
DDBLTFX ddbltfx;
|
if ((DD_Primary != NULL) && (DD_BackBuffer != NULL))
|
||||||
|
{
|
||||||
|
if (DD_BackBuffer->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
|
||||||
ddbltfx.dwSize = sizeof(ddbltfx);
|
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
|
||||||
ddbltfx.dwFillColor = 0;
|
DD_Primary->Restore();
|
||||||
|
}
|
||||||
DD_BackBuffer->Blt( NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx );
|
|
||||||
DD_BackBuffer->Blt(&rcWindow, DD_CFB, &BlitArea, DDBLT_WAIT, NULL);
|
|
||||||
DD_Primary->Flip(NULL, DDFLIP_WAIT);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1589,6 +1589,7 @@ extern BYTE GUIDSMODE[];
|
|||||||
extern BYTE GUIHQ3X[];
|
extern BYTE GUIHQ3X[];
|
||||||
extern unsigned short resolutn;
|
extern unsigned short resolutn;
|
||||||
void clearwin();
|
void clearwin();
|
||||||
|
void clear_display();
|
||||||
|
|
||||||
char WinName[]={"ZSNESW\0"};
|
char WinName[]={"ZSNESW\0"};
|
||||||
|
|
||||||
@@ -1936,6 +1937,7 @@ void initwinvideo(void)
|
|||||||
FirstVid = 0;
|
FirstVid = 0;
|
||||||
InitDirectDraw();
|
InitDirectDraw();
|
||||||
clearwin();
|
clearwin();
|
||||||
|
clear_display();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1946,6 +1948,7 @@ void initwinvideo(void)
|
|||||||
ReleaseDirectDraw();
|
ReleaseDirectDraw();
|
||||||
InitDirectDraw();
|
InitDirectDraw();
|
||||||
clearwin();
|
clearwin();
|
||||||
|
clear_display();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2169,6 +2172,32 @@ void clearwin()
|
|||||||
UnlockSurface();
|
UnlockSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clear_display()
|
||||||
|
{
|
||||||
|
if ((DD_Primary != NULL) && (DD_BackBuffer != NULL))
|
||||||
|
{
|
||||||
|
DDBLTFX ddbltfx;
|
||||||
|
|
||||||
|
ddbltfx.dwSize = sizeof(ddbltfx);
|
||||||
|
ddbltfx.dwFillColor = 0;
|
||||||
|
|
||||||
|
if (DD_BackBuffer->Blt( NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx ) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
|
||||||
|
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
|
||||||
|
if (DD_BackBuffer->Blt( NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx ) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
|
||||||
|
if (DD_Primary->Flip(NULL, DDFLIP_WAIT) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
|
||||||
|
if (DD_BackBuffer->Blt( NULL, NULL, NULL, DDBLT_COLORFILL | DDBLT_WAIT, &ddbltfx ) == DDERR_SURFACELOST)
|
||||||
|
DD_Primary->Restore();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
extern void DrawWin256x224x16();
|
extern void DrawWin256x224x16();
|
||||||
extern void DrawWin256x224x16MB();
|
extern void DrawWin256x224x16MB();
|
||||||
extern void DrawWin256x224x32();
|
extern void DrawWin256x224x32();
|
||||||
|
|||||||
Reference in New Issue
Block a user