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