Fixed NTSC filter bugs
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
EXTSYM MinimizeWindow
|
EXTSYM MinimizeWindow
|
||||||
|
EXTSYM initwinvideo
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
SECTION .bss
|
SECTION .bss
|
||||||
@@ -2541,7 +2542,7 @@ DisplayGUIVideoClick:
|
|||||||
cmp byte[GUINTVID+ebx],0
|
cmp byte[GUINTVID+ebx],0
|
||||||
je near .nontscfilter
|
je near .nontscfilter
|
||||||
FilterExcl 115,173,En2xSaI,hqFilter,scanlines,cfgscanline,antienab,cfginterp,BilinearFilter
|
FilterExcl 115,173,En2xSaI,hqFilter,scanlines,cfgscanline,antienab,cfginterp,BilinearFilter
|
||||||
GUIClickCButton5 115,173,byte[NTSCFilter],1
|
GUIClickCButtonf 115,173,byte[NTSCFilter],initwinvideo
|
||||||
.nontscfilter
|
.nontscfilter
|
||||||
%ifdef __UNIXSDL__
|
%ifdef __UNIXSDL__
|
||||||
xor ebx,ebx ; bilinear
|
xor ebx,ebx ; bilinear
|
||||||
|
|||||||
@@ -1401,6 +1401,7 @@ DWORD SMode=0;
|
|||||||
DWORD DSMode=0;
|
DWORD DSMode=0;
|
||||||
DWORD NTSCMode=0;
|
DWORD NTSCMode=0;
|
||||||
DWORD prevHQMode=~0;
|
DWORD prevHQMode=~0;
|
||||||
|
DWORD prevNTSCMode=0;
|
||||||
DWORD prevScanlines=~0;
|
DWORD prevScanlines=~0;
|
||||||
WORD Refresh = 0;
|
WORD Refresh = 0;
|
||||||
extern "C" BYTE GUIWFVID[];
|
extern "C" BYTE GUIWFVID[];
|
||||||
@@ -1866,10 +1867,11 @@ void initwinvideo(void)
|
|||||||
if ( GUIHQ4X[cvidmode] != 0 ) HQMode=4;
|
if ( GUIHQ4X[cvidmode] != 0 ) HQMode=4;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((CurMode!=cvidmode) || (prevHQMode!=HQMode))
|
if ((CurMode!=cvidmode) || (prevHQMode!=HQMode) || (prevNTSCMode!=NTSCFilter))
|
||||||
{
|
{
|
||||||
CurMode=cvidmode;
|
CurMode=cvidmode;
|
||||||
prevHQMode=HQMode;
|
prevHQMode=HQMode;
|
||||||
|
prevNTSCMode=NTSCFilter;
|
||||||
newmode=1;
|
newmode=1;
|
||||||
SurfaceX=256;
|
SurfaceX=256;
|
||||||
SurfaceY=240;
|
SurfaceY=240;
|
||||||
@@ -1969,8 +1971,10 @@ void initwinvideo(void)
|
|||||||
SurfaceX = 512;
|
SurfaceX = 512;
|
||||||
else
|
else
|
||||||
SurfaceX = 640;
|
SurfaceX = 640;
|
||||||
|
|
||||||
SurfaceY=480;
|
SurfaceY=480;
|
||||||
if (NTSCMode)
|
|
||||||
|
if (NTSCMode && NTSCFilter)
|
||||||
{
|
{
|
||||||
if (!FullScreen)
|
if (!FullScreen)
|
||||||
{
|
{
|
||||||
@@ -2510,6 +2514,8 @@ void drawscreenwin(void)
|
|||||||
if (prevHQMode!=HQMode)
|
if (prevHQMode!=HQMode)
|
||||||
initwinvideo();
|
initwinvideo();
|
||||||
|
|
||||||
|
if (prevNTSCMode != NTSCFilter) initwinvideo();
|
||||||
|
|
||||||
if (prevScanlines != scanlines)
|
if (prevScanlines != scanlines)
|
||||||
{
|
{
|
||||||
initwinvideo();
|
initwinvideo();
|
||||||
|
|||||||
Reference in New Issue
Block a user