HQ3X filter update

This commit is contained in:
pagefault
2003-07-23 17:02:41 +00:00
parent 3391733ae1
commit 1c13ff3988
3 changed files with 76 additions and 83 deletions

View File

@@ -492,7 +492,6 @@ hq3x:
mov [w8],edx
mov [w9],edx
.loopx
mov ebx,[BitConv32Ptr]
mov eax,[w2]
mov [w1],eax
mov eax,[w5]

View File

@@ -1272,7 +1272,7 @@ NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
NEWSYM GUISMODE, db 0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0
NEWSYM GUIDSMODE, db 0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
SECTION .text

View File

@@ -1263,6 +1263,17 @@ void TestJoy()
extern "C" DWORD converta;
extern "C" unsigned int BitConv32Ptr;
extern "C" unsigned int RGBtoYUVPtr;
extern "C" unsigned char cvidmode;
extern "C" unsigned char hq3xFilter;
DWORD FirstVid=1;
DWORD FirstFull=1;
DWORD SMode=0;
DWORD DSMode=0;
DWORD prevHQ3XMode=-1;
extern "C" BYTE GUIWFVID[];
extern "C" BYTE GUISMODE[];
extern "C" BYTE GUIDSMODE[];
extern "C" BYTE GUIHQ3X[];
int Refresh = 0;
int InitDirectDraw()
@@ -1308,6 +1319,11 @@ int InitDirectDraw()
ClientToScreen(hMainWindow, ( LPPOINT )&rcWindow);
ClientToScreen(hMainWindow, ( LPPOINT )&rcWindow + 1);
FullScreen=GUIWFVID[cvidmode];
DSMode=GUIDSMODE[cvidmode];
if (FullScreen == 1 && DSMode == 0)
{
if (SurfaceX == 768 && SurfaceY == 720)
{
int marginx = (rcWindow.right - rcWindow.left - BlitArea.right + BlitArea.left)/2;
@@ -1323,6 +1339,7 @@ int InitDirectDraw()
rcWindow.bottom -= marginy;
}
}
}
if (pDirectDrawCreateEx(NULL, (void **)&lpDD, IID_IDirectDraw7, NULL) != DD_OK)
{
@@ -1588,17 +1605,6 @@ void Stop36HZ(void)
}
char WinMessage[256];
extern unsigned char cvidmode;
extern unsigned char hq3xFilter;
DWORD FirstVid=1;
DWORD FirstFull=1;
DWORD SMode=0;
DWORD DSMode=0;
DWORD prevHQ3XMode=-1;
extern BYTE GUIWFVID[];
extern BYTE GUISMODE[];
extern BYTE GUIDSMODE[];
extern BYTE GUIHQ3X[];
extern unsigned short resolutn;
void clearwin();
void clear_display();
@@ -1684,16 +1690,8 @@ void initwinvideo(void)
case 10:
WindowWidth=768;
WindowHeight=672;
if (HQ3XMode!=0)
{
SurfaceX=768;
SurfaceY=720;
}
else
{
SurfaceX=512;
SurfaceY=480;
}
break;
case 11:
WindowWidth=800;
@@ -1712,16 +1710,8 @@ void initwinvideo(void)
case 14:
WindowWidth=800;
WindowHeight=600;
if (HQ3XMode!=0)
{
SurfaceX=768;
SurfaceY=720;
}
else
{
SurfaceX=640;
SurfaceY=480;
}
break;
case 15:
WindowWidth=800;
@@ -1746,16 +1736,8 @@ void initwinvideo(void)
case 19:
WindowWidth=1024;
WindowHeight=768;
if (HQ3XMode!=0)
{
SurfaceX=768;
SurfaceY=720;
}
else
{
SurfaceX=640;
SurfaceY=480;
}
break;
case 20:
WindowWidth=1024;
@@ -1831,6 +1813,12 @@ void initwinvideo(void)
break;
}
if (HQ3XMode!=0)
{
SurfaceX=768;
SurfaceY=720;
}
BlitArea.top = 0;
BlitArea.left = 0;
BlitArea.right = SurfaceX;
@@ -1887,6 +1875,8 @@ void initwinvideo(void)
ClientToScreen(hMainWindow, (LPPOINT) &rcWindow);
ClientToScreen(hMainWindow, (LPPOINT) &rcWindow + 1);
if (FullScreen == 1 && DSMode == 0)
{
if (SurfaceX == 768 && SurfaceY == 720)
{
int marginx = (rcWindow.right - rcWindow.left - BlitArea.right + BlitArea.left)/2;
@@ -1903,6 +1893,7 @@ void initwinvideo(void)
}
}
}
}
else
{
atexit(ExitFunction);
@@ -2185,6 +2176,8 @@ void clearwin()
}
void clear_display()
{
if (FullScreen == 1)
{
if ((DD_Primary != NULL) && (DD_BackBuffer != NULL))
{
@@ -2209,6 +2202,7 @@ void clear_display()
DD_Primary->Restore();
}
}
}
extern void DrawWin256x224x16();
extern void DrawWin256x224x16MB();