Forgot to fix the hq soft screen refresh when using the hotkey, done. You can now switch from any filter to any other without restriction using either mouse or keyb. Fixed a case where switching modes with alt-enter could cause a crash. NTSC filter option limited to video modes likely to support it first. Set minimum rewind interval to 200ms - dividing by zero blows, man. Some comments and cleanup.
This commit is contained in:
@@ -949,27 +949,27 @@ db ' ',0
|
|||||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
; 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
|
; 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
|
||||||
NEWSYM GUI16VID, db 0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 ; 16-bit mode
|
NEWSYM GUI16VID, db 0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 ; 16-bit mode
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0 ; New Graphics Mode Available
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0 ; New Graphics Engine
|
||||||
NEWSYM GUISLVID, db 0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1,0 ; Scanlines
|
NEWSYM GUISLVID, db 0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,1,1,0 ; Scanlines
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0 ; Interpolation
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0 ; DOS Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 ; Eagle
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0 ; DOS Eagle
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,1,0,1,0 ; DOS Eagle+Int
|
||||||
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0 ; Full Screen
|
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,0 ; DOS Fullscreen
|
||||||
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0 ; (Full Scr. | Wide Scr.)
|
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0 ; DOS Widescreen
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0 ; Small Screen
|
NEWSYM GUISSVID, db 0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0 ; DOS Smallscreen
|
||||||
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0 ; Triple Buffering
|
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0 ; DOS Triple Buffer
|
||||||
NEWSYM GUIHSVID, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0 ; Half/Quarter Scanlines
|
NEWSYM GUIHSVID, db 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUI2xVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUI2xVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 ; 2xSaI/Super Engines
|
||||||
NEWSYM GUIWFVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; If Windows Full Screen
|
NEWSYM GUIWFVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Fullscreen)
|
||||||
NEWSYM GUII2VID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Super 2xSAI Engine
|
NEWSYM GUII2VID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interpolation)
|
||||||
NEWSYM GUIM7VID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 ; Hi-Resolution Mode 7
|
NEWSYM GUIM7VID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 ; Hires Mode 7
|
||||||
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Bilinear Filtering
|
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (SDL Bilinear Filter)
|
||||||
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win)
|
NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Win Triple Buffer)
|
||||||
NEWSYM GUIHQ2X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; HQ2X Filter
|
NEWSYM GUIHQ2X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (hq2x Filter)
|
||||||
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0 ; (hq3x Filter)
|
||||||
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; HQ4X Filter
|
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (hq4x Filter)
|
||||||
NEWSYM GUINTSC, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; NTSC Filter
|
NEWSYM GUINTVID, db 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0 ; NTSC Filter
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
; ****************************
|
; ****************************
|
||||||
|
|||||||
@@ -88,13 +88,13 @@ EXTSYM NextLineCache,ResetTripleBuf,GUINGVID,ScanCodeListing
|
|||||||
EXTSYM AdjustFrequency,GUISaveVars,Init_Mouse,Get_MouseData,Set_MouseXMax
|
EXTSYM AdjustFrequency,GUISaveVars,Init_Mouse,Get_MouseData,Set_MouseXMax
|
||||||
EXTSYM Set_MouseYMax,Set_MousePosition,Get_MousePositionDisplacement,GUIInit
|
EXTSYM Set_MouseYMax,Set_MousePosition,Get_MousePositionDisplacement,GUIInit
|
||||||
EXTSYM GUIDeInit,SpecialLine,DrawWater,DrawBurn,SA1Enable,SA1RAMArea
|
EXTSYM GUIDeInit,SpecialLine,DrawWater,DrawBurn,SA1Enable,SA1RAMArea
|
||||||
EXTSYM MMXCheck,SaveCombFile,showinfogui
|
EXTSYM MMXCheck,SaveCombFile,showinfogui,GetDate,horizon_get
|
||||||
EXTSYM ErrorPointer,MessageOn,GetTime,sndrot,regsbackup,GetScreen
|
EXTSYM ErrorPointer,MessageOn,GetTime,sndrot,regsbackup,GetScreen
|
||||||
EXTSYM GUITBWVID,Clear2xSaIBuffer,MouseWindow,cfgcvidmode
|
EXTSYM GUITBWVID,Clear2xSaIBuffer,MouseWindow,cfgcvidmode,cfgsoundon
|
||||||
EXTSYM ExitFromGUI,GUIWFVID,cfgvsync,newgfx16b,cfgscanline,cfginterp
|
EXTSYM ExitFromGUI,GUIWFVID,cfgvsync,newgfx16b,cfgscanline,cfginterp
|
||||||
EXTSYM NumVideoModes,cfgvolume,MusicVol,DSPMem,NumInputDevices,GUIInputNames
|
EXTSYM NumVideoModes,cfgvolume,MusicVol,DSPMem,NumInputDevices,GUIInputNames
|
||||||
EXTSYM GUIVideoModeNames,GUISLVID,GUIINVID,GUIEAVID,GUIIEVID,GUIFSVID,GUIWSVID
|
EXTSYM GUIVideoModeNames,GUISLVID,GUIINVID,GUIEAVID,GUIIEVID,GUIFSVID,GUIWSVID
|
||||||
EXTSYM GUISSVID,GUITBVID,GUIHSVID,GUI2xVID,GUII2VID,GUIM7VID,cfgsoundon
|
EXTSYM GUISSVID,GUITBVID,GUIHSVID,GUI2xVID,GUII2VID,GUIM7VID,GUINTVID
|
||||||
EXTSYM cfgSoundQuality,cfgStereoSound,cfgforce8b,convertnum,converthex,snesmouse
|
EXTSYM cfgSoundQuality,cfgStereoSound,cfgforce8b,convertnum,converthex,snesmouse
|
||||||
EXTSYM pl1upk,pl1downk,pl1leftk,pl1rightk,pl1Lk,pl1Rk,pl1Ak,pl1Bk,outofmemfix
|
EXTSYM pl1upk,pl1downk,pl1leftk,pl1rightk,pl1Lk,pl1Rk,pl1Ak,pl1Bk,outofmemfix
|
||||||
EXTSYM yesoutofmemory,JoyX,JoyY,JoyMinX,JoyMinY,JoyMaxX,JoyMaxY,JoyMinX209
|
EXTSYM yesoutofmemory,JoyX,JoyY,JoyMinX,JoyMinY,JoyMaxX,JoyMaxY,JoyMinX209
|
||||||
@@ -102,9 +102,9 @@ EXTSYM JoyMaxX209,JoyMinY209,JoyMaxY209,GetCoords,GetCoords3,MultiTap,SFXEnable
|
|||||||
EXTSYM RestoreSystemVars,GUIBIFIL,GUIHQ2X,GUIHQ3X,GUIHQ4X,firstsaveinc,nssdip1
|
EXTSYM RestoreSystemVars,GUIBIFIL,GUIHQ2X,GUIHQ3X,GUIHQ4X,firstsaveinc,nssdip1
|
||||||
EXTSYM nssdip2,nssdip3,nssdip4,nssdip5,nssdip6,SkipMovie,MovieStop,MoviePlay
|
EXTSYM nssdip2,nssdip3,nssdip4,nssdip5,nssdip6,SkipMovie,MovieStop,MoviePlay
|
||||||
EXTSYM MovieRecord,MovieInsertChapter,MovieSeekAhead,MovieSeekBehind
|
EXTSYM MovieRecord,MovieInsertChapter,MovieSeekAhead,MovieSeekBehind
|
||||||
EXTSYM ResetDuringMovie,MovieDumpRaw
|
EXTSYM ResetDuringMovie,MovieDumpRaw,AutoLoadCht
|
||||||
|
|
||||||
EXTSYM GUIwinposx,GUIwinposy,maxskip,GUIEffect,hqFilter,En2xSaI,AutoLoadCht
|
EXTSYM GUIwinposx,GUIwinposy,maxskip,GUIEffect,hqFilter,En2xSaI,NTSCFilter
|
||||||
EXTSYM LowPassFilterType,MovieStartMethod,MovieDisplayFrame,resetposn
|
EXTSYM LowPassFilterType,MovieStartMethod,MovieDisplayFrame,resetposn
|
||||||
EXTSYM SnapPath,SPCPath,BSXPath,SGPath,STPath,GNextPath,FEOEZPath,SJNSPath
|
EXTSYM SnapPath,SPCPath,BSXPath,SGPath,STPath,GNextPath,FEOEZPath,SJNSPath
|
||||||
EXTSYM MDHPath,SPL4Path,CheatSrcByteSize,prevloadfnamel,prevloaddname
|
EXTSYM MDHPath,SPL4Path,CheatSrcByteSize,prevloadfnamel,prevloaddname
|
||||||
@@ -139,8 +139,7 @@ EXTSYM GUIwinposy2,GUIwinposx2,AllowMultipleInst,Surround,SoundBufEn,SPCDisable
|
|||||||
EXTSYM GUIEnableTransp,FilteredGUI,MouseWheel,TrapMouseCursor,AlwaysOnTop
|
EXTSYM GUIEnableTransp,FilteredGUI,MouseWheel,TrapMouseCursor,AlwaysOnTop
|
||||||
EXTSYM pl1p209,pl1p209b,SaveMainWindowPos,FastFwdToggle,SidewinderFix,RaisePitch
|
EXTSYM pl1p209,pl1p209b,SaveMainWindowPos,FastFwdToggle,SidewinderFix,RaisePitch
|
||||||
EXTSYM KeyDisplayBatt,PauseFocusChange,KeyIncreaseGamma,KeyDecreaseGamma
|
EXTSYM KeyDisplayBatt,PauseFocusChange,KeyIncreaseGamma,KeyDecreaseGamma
|
||||||
EXTSYM MovieVideoMode, MovieAudio, MovieVideoAudio, MovieAudioCompress
|
EXTSYM MovieVideoMode, MovieAudio,MovieVideoAudio,MovieAudioCompress
|
||||||
EXTSYM NTSCFilter,GUINTSC,GetDate, horizon_get
|
|
||||||
|
|
||||||
%ifdef __UNIXSDL__
|
%ifdef __UNIXSDL__
|
||||||
EXTSYM numlockptr
|
EXTSYM numlockptr
|
||||||
@@ -998,22 +997,20 @@ NEWSYM StartGUI
|
|||||||
mov byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
mov byte[hqFilter],0
|
mov byte[hqFilter],0
|
||||||
.no2xSaIdis
|
.no2xSaIdis
|
||||||
cmp byte[En2xSaI],0
|
|
||||||
je .no2xsaidis
|
|
||||||
mov byte[Triplebufen],0
|
|
||||||
.no2xsaidis
|
|
||||||
cmp byte[En2xSaI],0
|
cmp byte[En2xSaI],0
|
||||||
je .no2xsaien
|
je .no2xsaien
|
||||||
|
mov byte[Triplebufen],0
|
||||||
mov byte[hqFilter],0
|
mov byte[hqFilter],0
|
||||||
mov byte[scanlines],0
|
mov byte[scanlines],0
|
||||||
mov byte[antienab],0
|
mov byte[antienab],0
|
||||||
.no2xsaien
|
.no2xsaien
|
||||||
cmp byte[hqFilter],0
|
cmp byte[hqFilter],0
|
||||||
je .nohq
|
je .nohqen
|
||||||
mov byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
mov byte[scanlines],0
|
mov byte[scanlines],0
|
||||||
mov byte[antienab],0
|
mov byte[antienab],0
|
||||||
.nohq
|
.nohqen
|
||||||
|
|
||||||
mov ecx,64
|
mov ecx,64
|
||||||
mov eax,SpecialLine
|
mov eax,SpecialLine
|
||||||
.slloop
|
.slloop
|
||||||
|
|||||||
@@ -119,7 +119,6 @@
|
|||||||
mov %1,%2
|
mov %1,%2
|
||||||
%%clear
|
%%clear
|
||||||
ret
|
ret
|
||||||
%%noclick
|
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro GUIKeyCheckbox 2
|
%macro GUIKeyCheckbox 2
|
||||||
@@ -1111,15 +1110,15 @@ GUIVideoKeys:
|
|||||||
|
|
||||||
cmp dword[GUIVideoTabs],2
|
cmp dword[GUIVideoTabs],2
|
||||||
jne near .notfilterstab
|
jne near .notfilterstab
|
||||||
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUISLVID+eax],0
|
cmp byte[GUISLVID+eax],0
|
||||||
je .nofullscanlines
|
je .nofullscanlines
|
||||||
cmp dh,'F'
|
cmp dh,'F'
|
||||||
jne .nofullscanlines
|
jne .nofullscanlines
|
||||||
cmp byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
jne .nofullscanlines
|
mov byte[hqFilter],0
|
||||||
cmp byte[hqFilter],0
|
mov byte[NTSCFilter],0
|
||||||
jne .nofullscanlines
|
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
GUIkeystoggleoptn byte[scanlines],1
|
GUIkeystoggleoptn byte[scanlines],1
|
||||||
%ifdef __MSDOS__
|
%ifdef __MSDOS__
|
||||||
@@ -1142,37 +1141,19 @@ GUIVideoKeys:
|
|||||||
je near .noquarterscanlines
|
je near .noquarterscanlines
|
||||||
cmp dh,'5'
|
cmp dh,'5'
|
||||||
jne .nohalfscanlines
|
jne .nohalfscanlines
|
||||||
cmp byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
jne .nohalfscanlines
|
mov byte[hqFilter],0
|
||||||
cmp byte[hqFilter],0
|
mov byte[NTSCFilter],0
|
||||||
jne .nohalfscanlines
|
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
GUIkeystoggleoptn byte[scanlines],3
|
GUIkeystoggleoptn byte[scanlines],3
|
||||||
%ifdef __MSDOS__
|
|
||||||
;cmp byte[cvidmode],2
|
|
||||||
;jne .nohalfscanlines
|
|
||||||
;mov byte[cbitmode],1
|
|
||||||
;call initvideo2
|
|
||||||
;mov byte[cbitmode],0
|
|
||||||
;call GUISetPal
|
|
||||||
%endif
|
|
||||||
.nohalfscanlines
|
.nohalfscanlines
|
||||||
cmp dh,'2'
|
cmp dh,'2'
|
||||||
jne .noquarterscanlines
|
jne .noquarterscanlines
|
||||||
cmp byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
jne .noquarterscanlines
|
mov byte[hqFilter],0
|
||||||
cmp byte[hqFilter],0
|
mov byte[NTSCFilter],0
|
||||||
jne .noquarterscanlines
|
|
||||||
call ClearScreen
|
call ClearScreen
|
||||||
GUIkeystoggleoptn byte[scanlines],2
|
GUIkeystoggleoptn byte[scanlines],2
|
||||||
%ifdef __MSDOS__
|
|
||||||
;cmp byte[cvidmode],2
|
|
||||||
;jne .noquarterscanlines
|
|
||||||
;mov byte[cbitmode],1
|
|
||||||
;call initvideo2
|
|
||||||
;mov byte[cbitmode],0
|
|
||||||
;call GUISetPal
|
|
||||||
%endif
|
|
||||||
.noquarterscanlines
|
.noquarterscanlines
|
||||||
cmp dh,'Q'
|
cmp dh,'Q'
|
||||||
jne .nohqfilter
|
jne .nohqfilter
|
||||||
@@ -1186,6 +1167,9 @@ GUIVideoKeys:
|
|||||||
jne .hqfilter
|
jne .hqfilter
|
||||||
jmp .nohqfilter
|
jmp .nohqfilter
|
||||||
.hqfilter
|
.hqfilter
|
||||||
|
pushad
|
||||||
|
call Clear2xSaIBuffer
|
||||||
|
popad
|
||||||
xor byte[hqFilter],1
|
xor byte[hqFilter],1
|
||||||
jz .nohqfilter
|
jz .nohqfilter
|
||||||
mov byte[scanlines],0
|
mov byte[scanlines],0
|
||||||
@@ -1193,60 +1177,53 @@ GUIVideoKeys:
|
|||||||
mov byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
mov byte[antienab],0
|
mov byte[antienab],0
|
||||||
mov byte[cfginterp],0
|
mov byte[cfginterp],0
|
||||||
|
mov byte[NTSCFilter],0
|
||||||
.nohqfilter
|
.nohqfilter
|
||||||
cmp dh,'X'
|
|
||||||
jne .no2xsai
|
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUI2xVID+ebx],0
|
|
||||||
je near .no2xsai
|
|
||||||
pushad
|
|
||||||
call Clear2xSaIBuffer
|
|
||||||
popad
|
|
||||||
GUIkeystoggleoptn byte[En2xSaI],1
|
|
||||||
.no2xsai
|
|
||||||
cmp dh,'E'
|
|
||||||
jne .nosupereagle
|
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUI2xVID+ebx],0
|
|
||||||
je near .nosupereagle
|
|
||||||
pushad
|
|
||||||
call Clear2xSaIBuffer
|
|
||||||
popad
|
|
||||||
GUIkeystoggleoptn byte[En2xSaI],2
|
|
||||||
.nosupereagle
|
|
||||||
cmp dh,'S'
|
|
||||||
jne .nosuper2xsai
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUI2xVID+ebx],0
|
cmp byte[GUI2xVID+ebx],0
|
||||||
je near .nosuper2xsai
|
je near .nosuper2xsai
|
||||||
|
cmp dh,'X'
|
||||||
|
jne .no2xsai
|
||||||
|
GUIkeystoggleoptn byte[En2xSaI],1
|
||||||
|
jmp .yesfilter
|
||||||
|
.no2xsai
|
||||||
|
cmp dh,'E'
|
||||||
|
jne .nosupereagle
|
||||||
|
GUIkeystoggleoptn byte[En2xSaI],2
|
||||||
|
jmp .yesfilter
|
||||||
|
.nosupereagle
|
||||||
|
cmp dh,'S'
|
||||||
|
jne .nosuper2xsai
|
||||||
|
GUIkeystoggleoptn byte[En2xSaI],3
|
||||||
|
.yesfilter
|
||||||
|
mov byte[hqFilter],0
|
||||||
|
mov byte[scanlines],0
|
||||||
|
mov byte[cfgscanline],0
|
||||||
|
mov byte[antienab],0
|
||||||
|
mov byte[cfginterp],0
|
||||||
|
mov byte[NTSCFilter],0
|
||||||
pushad
|
pushad
|
||||||
call Clear2xSaIBuffer
|
call Clear2xSaIBuffer
|
||||||
popad
|
popad
|
||||||
GUIkeystoggleoptn byte[En2xSaI],3
|
|
||||||
.nosuper2xsai
|
.nosuper2xsai
|
||||||
cmp dh,'I'
|
|
||||||
jne .nointerpolationwin
|
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUII2VID+eax],0
|
|
||||||
je .nointerpolationwin
|
|
||||||
xor byte[antienab],1
|
|
||||||
mov al,[antienab]
|
|
||||||
mov [cfginterp],al
|
|
||||||
.nointerpolationwin
|
|
||||||
cmp dh,'I'
|
cmp dh,'I'
|
||||||
jne .nointerpolation
|
jne .nointerpolation
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
|
cmp byte[GUII2VID+eax],0
|
||||||
|
jne .interpolation
|
||||||
cmp byte[GUIIEVID+eax],0
|
cmp byte[GUIIEVID+eax],0
|
||||||
je .nointerpolation
|
je .nointerpolation
|
||||||
|
.interpolation
|
||||||
xor byte[antienab],1
|
xor byte[antienab],1
|
||||||
mov al,[antienab]
|
mov al,[antienab]
|
||||||
mov [cfginterp],al
|
mov [cfginterp],al
|
||||||
|
mov byte[En2xSaI],0
|
||||||
|
mov byte[hqFilter],0
|
||||||
|
mov byte[NTSCFilter],0
|
||||||
.nointerpolation
|
.nointerpolation
|
||||||
|
%ifdef __MSDOS__
|
||||||
cmp dh,'C'
|
cmp dh,'C'
|
||||||
jne .nofullscreen
|
jne .nofullscreen
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
@@ -1291,6 +1268,7 @@ GUIVideoKeys:
|
|||||||
pop ecx
|
pop ecx
|
||||||
pop eax
|
pop eax
|
||||||
.nosmallscreen
|
.nosmallscreen
|
||||||
|
%endif
|
||||||
cmp dh,'H'
|
cmp dh,'H'
|
||||||
jne .nohiresmode7
|
jne .nohiresmode7
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
@@ -1300,13 +1278,22 @@ GUIVideoKeys:
|
|||||||
xor byte[Mode7HiRes16b],1
|
xor byte[Mode7HiRes16b],1
|
||||||
.nohiresmode7
|
.nohiresmode7
|
||||||
cmp dh,'N'
|
cmp dh,'N'
|
||||||
jne .nontscfilters
|
jne .nontscfilter
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUINTSC+ebx],0
|
cmp byte[GUINTVID+ebx],0
|
||||||
je .nohiresmode7
|
je .nontscfilter
|
||||||
xor byte[NTSCFilter],1
|
xor byte[NTSCFilter],1
|
||||||
.nontscfilters
|
jz .nontscfilter
|
||||||
|
mov byte[En2xSaI],0
|
||||||
|
mov byte[hqFilter],0
|
||||||
|
mov byte[scanlines],0
|
||||||
|
mov byte[cfgscanline],0
|
||||||
|
mov byte[antienab],0
|
||||||
|
mov byte[cfginterp],0
|
||||||
|
mov byte[BilinearFilter],0
|
||||||
|
.nontscfilter
|
||||||
|
%ifdef __UNIXSDL__
|
||||||
cmp dh,'B'
|
cmp dh,'B'
|
||||||
jne .nobilinearfilter
|
jne .nobilinearfilter
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
@@ -1314,7 +1301,9 @@ GUIVideoKeys:
|
|||||||
cmp byte[GUIBIFIL+ebx],0
|
cmp byte[GUIBIFIL+ebx],0
|
||||||
je .nobilinearfilter
|
je .nobilinearfilter
|
||||||
xor byte[BilinearFilter],1
|
xor byte[BilinearFilter],1
|
||||||
|
mov byte[NTSCFilter],0
|
||||||
.nobilinearfilter
|
.nobilinearfilter
|
||||||
|
%endif
|
||||||
%ifdef __WIN32__
|
%ifdef __WIN32__
|
||||||
cmp dh,'T'
|
cmp dh,'T'
|
||||||
jne .notriplebufferwin
|
jne .notriplebufferwin
|
||||||
@@ -1342,10 +1331,6 @@ GUIVideoKeys:
|
|||||||
; mov byte[cfgvsync],0
|
; mov byte[cfgvsync],0
|
||||||
.notriplebuffer
|
.notriplebuffer
|
||||||
%endif
|
%endif
|
||||||
cmp dh,'G'
|
|
||||||
jne .nograyscale
|
|
||||||
xor byte[GrayscaleMode],1
|
|
||||||
.nograyscale
|
|
||||||
%ifndef __UNIXSDL__
|
%ifndef __UNIXSDL__
|
||||||
cmp dh,'V'
|
cmp dh,'V'
|
||||||
jne .novsync
|
jne .novsync
|
||||||
@@ -1357,12 +1342,15 @@ GUIVideoKeys:
|
|||||||
pushad
|
pushad
|
||||||
call Clear2xSaIBuffer
|
call Clear2xSaIBuffer
|
||||||
popad
|
popad
|
||||||
%endif
|
%else
|
||||||
%ifdef __MSDOS__
|
|
||||||
; mov byte[Triplebufen],0
|
; mov byte[Triplebufen],0
|
||||||
%endif
|
%endif
|
||||||
.novsync
|
.novsync
|
||||||
%endif
|
%endif
|
||||||
|
cmp dh,'G'
|
||||||
|
jne .nograyscale
|
||||||
|
xor byte[GrayscaleMode],1
|
||||||
|
.nograyscale
|
||||||
.notfilterstab
|
.notfilterstab
|
||||||
|
|
||||||
cmp dword[GUIVideoTabs],3
|
cmp dword[GUIVideoTabs],3
|
||||||
|
|||||||
@@ -893,14 +893,6 @@ SECTION .text
|
|||||||
|
|
||||||
NEWSYM SwitchFullScreen
|
NEWSYM SwitchFullScreen
|
||||||
pushad
|
pushad
|
||||||
; mov ecx,255*296
|
|
||||||
; mov eax,[vidbufferofsb]
|
|
||||||
;.loop
|
|
||||||
; mov dword[eax],0FEFEFEFEh
|
|
||||||
; add eax,4
|
|
||||||
; dec ecx
|
|
||||||
; jnz .loop
|
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIWFVID+eax],0
|
cmp byte[GUIWFVID+eax],0
|
||||||
@@ -1243,58 +1235,6 @@ GUIWinClicked:
|
|||||||
%%noclick
|
%%noclick
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro GUIClickCButton5 4
|
|
||||||
cmp eax,%1+1
|
|
||||||
jl %%noclick
|
|
||||||
cmp edx,%2+3
|
|
||||||
jl %%noclick
|
|
||||||
cmp eax,%1+6
|
|
||||||
jg %%noclick
|
|
||||||
cmp edx,%2+8
|
|
||||||
jg %%noclick
|
|
||||||
cmp %3,%4
|
|
||||||
jne %%set
|
|
||||||
xor %3,%4
|
|
||||||
jmp %%clear
|
|
||||||
%%set
|
|
||||||
mov %3,%4
|
|
||||||
%%clear
|
|
||||||
ret
|
|
||||||
%%noclick
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro GUIClickCButton6 4
|
|
||||||
cmp eax,%1+1
|
|
||||||
jl %%noclick
|
|
||||||
cmp edx,%2+3
|
|
||||||
jl %%noclick
|
|
||||||
cmp eax,%1+6
|
|
||||||
jg %%noclick
|
|
||||||
cmp edx,%2+8
|
|
||||||
jg %%noclick
|
|
||||||
cmp %3,%4
|
|
||||||
jne %%set
|
|
||||||
xor %3,%4
|
|
||||||
jmp %%clear
|
|
||||||
%%set
|
|
||||||
mov %3,%4
|
|
||||||
push eax
|
|
||||||
push ecx
|
|
||||||
mov eax,[vidbufferofsb]
|
|
||||||
mov ecx,288*128
|
|
||||||
%%loop
|
|
||||||
mov dword[eax],0
|
|
||||||
add eax,4
|
|
||||||
; loop %%loop
|
|
||||||
dec ecx
|
|
||||||
jnz %%loop
|
|
||||||
pop ecx
|
|
||||||
pop eax
|
|
||||||
%%clear
|
|
||||||
ret
|
|
||||||
%%noclick
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro GUIClickCButton4 5
|
%macro GUIClickCButton4 5
|
||||||
cmp eax,%1+1
|
cmp eax,%1+1
|
||||||
jl near %%noclick
|
jl near %%noclick
|
||||||
@@ -1334,6 +1274,57 @@ GUIWinClicked:
|
|||||||
%%noclick
|
%%noclick
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
%macro GUIClickCButton5 4
|
||||||
|
cmp eax,%1+1
|
||||||
|
jl %%noclick
|
||||||
|
cmp edx,%2+3
|
||||||
|
jl %%noclick
|
||||||
|
cmp eax,%1+6
|
||||||
|
jg %%noclick
|
||||||
|
cmp edx,%2+8
|
||||||
|
jg %%noclick
|
||||||
|
cmp %3,%4
|
||||||
|
jne %%set
|
||||||
|
xor %3,%4
|
||||||
|
jmp %%clear
|
||||||
|
%%set
|
||||||
|
mov %3,%4
|
||||||
|
%%clear
|
||||||
|
ret
|
||||||
|
%%noclick
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
%macro GUIClickCButton6 4
|
||||||
|
cmp eax,%1+1
|
||||||
|
jl %%noclick
|
||||||
|
cmp edx,%2+3
|
||||||
|
jl %%noclick
|
||||||
|
cmp eax,%1+6
|
||||||
|
jg %%noclick
|
||||||
|
cmp edx,%2+8
|
||||||
|
jg %%noclick
|
||||||
|
cmp %3,%4
|
||||||
|
jne %%set
|
||||||
|
xor %3,%4
|
||||||
|
jmp %%clear
|
||||||
|
%%set
|
||||||
|
mov %3,%4
|
||||||
|
push eax
|
||||||
|
push ecx
|
||||||
|
mov eax,[vidbufferofsb]
|
||||||
|
mov ecx,288*128
|
||||||
|
%%loop
|
||||||
|
mov dword[eax],0
|
||||||
|
add eax,4
|
||||||
|
dec ecx
|
||||||
|
jnz %%loop
|
||||||
|
pop ecx
|
||||||
|
pop eax
|
||||||
|
%%clear
|
||||||
|
ret
|
||||||
|
%%noclick
|
||||||
|
%endmacro
|
||||||
|
|
||||||
%macro GUIClickCButtonfr 3
|
%macro GUIClickCButtonfr 3
|
||||||
cmp eax,%1+1
|
cmp eax,%1+1
|
||||||
jl %%noclick
|
jl %%noclick
|
||||||
@@ -1400,21 +1391,6 @@ GUIWinClicked:
|
|||||||
%%noclick
|
%%noclick
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro GUIClickCButtonHQ 3
|
|
||||||
cmp eax,%1+1
|
|
||||||
jl %%noclick
|
|
||||||
cmp edx,%2+3
|
|
||||||
jl %%noclick
|
|
||||||
cmp eax,%1+6
|
|
||||||
jg %%noclick
|
|
||||||
cmp edx,%2+8
|
|
||||||
jg %%noclick
|
|
||||||
xor %3,1
|
|
||||||
jz %%noclick
|
|
||||||
mov byte[En2xSaI],0
|
|
||||||
%%noclick
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro GUIClickCButtonT 4
|
%macro GUIClickCButtonT 4
|
||||||
cmp eax,%1+1
|
cmp eax,%1+1
|
||||||
jl %%noclick
|
jl %%noclick
|
||||||
@@ -2186,6 +2162,23 @@ DisplayGUIMovieClick:
|
|||||||
%%skip
|
%%skip
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
%macro FilterExcl 3-* ; minX, minY, bytes to zero
|
||||||
|
cmp eax,%1+1
|
||||||
|
jl near %%noclick
|
||||||
|
cmp edx,%2+3
|
||||||
|
jl near %%noclick
|
||||||
|
cmp eax,%1+6
|
||||||
|
jg %%noclick
|
||||||
|
cmp edx,%2+8
|
||||||
|
jg %%noclick
|
||||||
|
%rotate 1
|
||||||
|
%rep (%0-2)
|
||||||
|
%rotate 1
|
||||||
|
mov byte[%1],0
|
||||||
|
%endrep
|
||||||
|
%%noclick
|
||||||
|
%endmacro
|
||||||
|
|
||||||
%macro GUIPTabClick 4 ; minX, maxX, var, value
|
%macro GUIPTabClick 4 ; minX, maxX, var, value
|
||||||
cmp eax,%1+1
|
cmp eax,%1+1
|
||||||
jl %%noclick
|
jl %%noclick
|
||||||
@@ -2385,8 +2378,9 @@ DisplayGUIOptionClick:
|
|||||||
%endif
|
%endif
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
DisplayGUIVideoClick2:
|
DisplayGUIVideoClick2:
|
||||||
cmp dword[GUIVideoTabs],1 ; modes
|
cmp dword[GUIVideoTabs],1 ; modes
|
||||||
jne near .notmodestab2
|
jne near .notmodestab2
|
||||||
push eax
|
push eax
|
||||||
mov eax,[NumVideoModes]
|
mov eax,[NumVideoModes]
|
||||||
@@ -2418,67 +2412,39 @@ DisplayGUIVideoClick:
|
|||||||
|
|
||||||
cmp dword[GUIVideoTabs],2 ; filters
|
cmp dword[GUIVideoTabs],2 ; filters
|
||||||
jne near .notfilterstab
|
jne near .notfilterstab
|
||||||
xor ebx,ebx
|
pushad
|
||||||
|
call Clear2xSaIBuffer
|
||||||
|
popad
|
||||||
|
call ClearScreen
|
||||||
|
xor ebx,ebx ; scanlines
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUISLVID+ebx],0
|
cmp byte[GUISLVID+ebx],0
|
||||||
je near .nocheckboxb
|
je near .nocheckboxb
|
||||||
%ifdef __UNIXSDL__
|
%ifdef __UNIXSDL__
|
||||||
|
FilterExcl 21,119,En2xSaI,hqFilter,NTSCFilter
|
||||||
GUIClickCButton4 21,119,byte[scanlines],byte[cfgscanline],1
|
GUIClickCButton4 21,119,byte[scanlines],byte[cfgscanline],1
|
||||||
%else
|
%else
|
||||||
|
FilterExcl 21,114,En2xSaI,hqFilter,NTSCFilter
|
||||||
GUIClickCButton4 21,114,byte[scanlines],byte[cfgscanline],1
|
GUIClickCButton4 21,114,byte[scanlines],byte[cfgscanline],1
|
||||||
%endif
|
%endif
|
||||||
.nocheckboxb
|
.nocheckboxb
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUITBVID+ebx],0
|
|
||||||
je .nocheckboxttb
|
|
||||||
GUIClickCButtonT 11,163,byte[Triplebufen],byte[vsyncon]
|
|
||||||
.nocheckboxttb
|
|
||||||
GUIClickCButton 11,183,byte[GrayscaleMode]
|
|
||||||
%ifdef __WIN32__
|
|
||||||
GUIClickCButtonf 115,183,byte[vsyncon],initDirectDraw
|
|
||||||
pushad
|
|
||||||
call Clear2xSaIBuffer
|
|
||||||
popad
|
|
||||||
%elifdef __MSDOS__
|
|
||||||
GUIClickCButtonT 115,183,byte[vsyncon],byte[Triplebufen]
|
|
||||||
%endif
|
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUIM7VID+ebx],0
|
|
||||||
je .nocheckboxtm7
|
|
||||||
GUIClickCButton5 11,173,byte[Mode7HiRes16b],1
|
|
||||||
.nocheckboxtm7
|
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUIM7VID+ebx],0
|
|
||||||
je .nontscfilter
|
|
||||||
GUIClickCButton5 115,173,byte[NTSCFilter],1
|
|
||||||
.nontscfilter
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUIHSVID+ebx],0
|
cmp byte[GUIHSVID+ebx],0
|
||||||
je near .nohsline
|
je near .nohsline
|
||||||
%ifdef __UNIXSDL__
|
%ifdef __UNIXSDL__
|
||||||
|
FilterExcl 61,119,En2xSaI,hqFilter,NTSCFilter
|
||||||
|
FilterExcl 101,119,En2xSaI,hqFilter,NTSCFilter
|
||||||
GUIClickCButton4 61,119,byte[scanlines],byte[cfgscanline],3
|
GUIClickCButton4 61,119,byte[scanlines],byte[cfgscanline],3
|
||||||
GUIClickCButton4 101,119,byte[scanlines],byte[cfgscanline],2
|
GUIClickCButton4 101,119,byte[scanlines],byte[cfgscanline],2
|
||||||
%else
|
%else
|
||||||
|
FilterExcl 61,114,En2xSaI,hqFilter,NTSCFilter
|
||||||
|
FilterExcl 101,114,En2xSaI,hqFilter,NTSCFilter
|
||||||
GUIClickCButton4 61,114,byte[scanlines],byte[cfgscanline],3
|
GUIClickCButton4 61,114,byte[scanlines],byte[cfgscanline],3
|
||||||
GUIClickCButton4 101,114,byte[scanlines],byte[cfgscanline],2
|
GUIClickCButton4 101,114,byte[scanlines],byte[cfgscanline],2
|
||||||
%endif
|
%endif
|
||||||
.nohsline
|
.nohsline
|
||||||
%ifdef __WIN32__
|
xor ebx,ebx ; hq filters
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
|
||||||
cmp byte[GUITBWVID+ebx],0
|
|
||||||
je near .notriplebufferwin
|
|
||||||
GUIClickCButtonf 11,123,byte[TripleBufferWin],initDirectDraw
|
|
||||||
pushad
|
|
||||||
call Clear2xSaIBuffer
|
|
||||||
popad
|
|
||||||
.notriplebufferwin
|
|
||||||
%endif
|
|
||||||
xor ebx,ebx
|
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUIHQ2X+ebx],0
|
cmp byte[GUIHQ2X+ebx],0
|
||||||
jne .checkboxhq
|
jne .checkboxhq
|
||||||
@@ -2488,32 +2454,39 @@ DisplayGUIVideoClick:
|
|||||||
jne .checkboxhq
|
jne .checkboxhq
|
||||||
jmp .nocheckboxhq
|
jmp .nocheckboxhq
|
||||||
.checkboxhq
|
.checkboxhq
|
||||||
GUIClickCButtonHQ 115,163,byte[hqFilter]
|
FilterExcl 115,163,En2xSaI,scanlines,cfgscanline,antienab,cfginterp,NTSCFilter
|
||||||
pushad
|
GUIClickCButton 115,163,byte[hqFilter]
|
||||||
call Clear2xSaIBuffer
|
|
||||||
popad
|
|
||||||
.nocheckboxhq
|
.nocheckboxhq
|
||||||
xor ebx,ebx
|
xor ebx,ebx ; 2xsai and supers
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUI2xVID+ebx],0
|
cmp byte[GUI2xVID+ebx],0
|
||||||
je near .no2xSaI
|
je near .no2xSaI
|
||||||
|
FilterExcl 11,133,hqFilter,scanlines,cfgscanline,antienab,cfginterp,NTSCFilter
|
||||||
|
FilterExcl 11,143,hqFilter,scanlines,cfgscanline,antienab,cfginterp,NTSCFilter
|
||||||
|
FilterExcl 11,153,hqFilter,scanlines,cfgscanline,antienab,cfginterp,NTSCFilter
|
||||||
GUIClickCButton6 11,133,byte[En2xSaI],1
|
GUIClickCButton6 11,133,byte[En2xSaI],1
|
||||||
GUIClickCButton6 11,143,byte[En2xSaI],2
|
GUIClickCButton6 11,143,byte[En2xSaI],2
|
||||||
GUIClickCButton6 11,153,byte[En2xSaI],3
|
GUIClickCButton6 11,153,byte[En2xSaI],3
|
||||||
.no2xSaI
|
.no2xSaI
|
||||||
xor ebx,ebx
|
xor ebx,ebx ; interpolations
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUIIEVID+ebx],0
|
cmp byte[GUIIEVID+ebx],0
|
||||||
je .nocheckbox1b
|
je near .nocheckbox1b
|
||||||
|
mov byte[En2xSaI],0
|
||||||
|
mov byte[hqFilter],0
|
||||||
|
mov byte[NTSCFilter],0
|
||||||
|
FilterExcl 11,78,hqFilter,NTSCFilter,En2xSaI
|
||||||
GUIClickCButton3 11,78,byte[antienab],byte[cfginterp],1
|
GUIClickCButton3 11,78,byte[antienab],byte[cfginterp],1
|
||||||
.nocheckbox1b
|
.nocheckbox1b
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUIBIFIL+ebx],0
|
cmp byte[GUII2VID+ebx],0
|
||||||
je .nocheckbox1bf
|
je near .nocheckboxi2
|
||||||
GUIClickCButton 11,163,byte[BilinearFilter]
|
FilterExcl 11,163,hqFilter,NTSCFilter,En2xSaI
|
||||||
.nocheckbox1bf
|
GUIClickCButton3 11,163,byte[antienab],byte[cfginterp],1
|
||||||
xor ebx,ebx
|
.nocheckboxi2
|
||||||
|
%ifdef __MSDOS__
|
||||||
|
xor ebx,ebx ; small/fullscreen
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUIFSVID+ebx],0
|
cmp byte[GUIFSVID+ebx],0
|
||||||
je .nocheckbox2b
|
je .nocheckbox2b
|
||||||
@@ -2525,12 +2498,47 @@ DisplayGUIVideoClick:
|
|||||||
je .nocheckbox3b
|
je .nocheckbox3b
|
||||||
GUIClickCButton3 11,98,byte[smallscreenon],byte[GUIsmallscreenon],1
|
GUIClickCButton3 11,98,byte[smallscreenon],byte[GUIsmallscreenon],1
|
||||||
.nocheckbox3b
|
.nocheckbox3b
|
||||||
|
%endif
|
||||||
|
xor ebx,ebx ; hires m7
|
||||||
|
mov bl,[cvidmode]
|
||||||
|
cmp byte[GUIM7VID+ebx],0
|
||||||
|
je .nocheckboxtm7
|
||||||
|
GUIClickCButton5 11,173,byte[Mode7HiRes16b],1
|
||||||
|
.nocheckboxtm7
|
||||||
|
xor ebx,ebx ; ntsc effect
|
||||||
|
mov bl,[cvidmode]
|
||||||
|
cmp byte[GUINTVID+ebx],0
|
||||||
|
je near .nontscfilter
|
||||||
|
FilterExcl 115,173,En2xSaI,hqFilter,scanlines,cfgscanline,antienab,cfginterp,BilinearFilter
|
||||||
|
GUIClickCButton5 115,173,byte[NTSCFilter],1
|
||||||
|
.nontscfilter
|
||||||
|
%ifdef __UNIXSDL__
|
||||||
|
xor ebx,ebx ; bilinear
|
||||||
|
mov bl,[cvidmode]
|
||||||
|
cmp byte[GUIBIFIL+ebx],0
|
||||||
|
je .nocheckbox1bf
|
||||||
|
FilterExcl 11,163,NTSCFilter
|
||||||
|
GUIClickCButton 11,163,byte[BilinearFilter]
|
||||||
|
.nocheckbox1bf
|
||||||
|
%endif
|
||||||
|
xor ebx,ebx ; triple buffs
|
||||||
|
mov bl,[cvidmode]
|
||||||
|
cmp byte[GUITBVID+ebx],0
|
||||||
|
je .nocheckboxttb
|
||||||
|
GUIClickCButtonT 11,163,byte[Triplebufen],byte[vsyncon]
|
||||||
|
.nocheckboxttb
|
||||||
|
%ifdef __WIN32__
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[cvidmode]
|
mov bl,[cvidmode]
|
||||||
cmp byte[GUII2VID+ebx],0
|
cmp byte[GUITBWVID+ebx],0
|
||||||
je .nocheckboxi2
|
je near .notriplebufferwin
|
||||||
GUIClickCButton3 11,163,byte[antienab],byte[cfginterp],1
|
GUIClickCButtonf 11,123,byte[TripleBufferWin],initDirectDraw
|
||||||
.nocheckboxi2
|
.notriplebufferwin
|
||||||
|
GUIClickCButtonf 115,183,byte[vsyncon],initDirectDraw
|
||||||
|
%elifdef __MSDOS__
|
||||||
|
GUIClickCButtonT 115,183,byte[vsyncon],byte[Triplebufen]
|
||||||
|
%endif
|
||||||
|
GUIClickCButton 11,183,byte[GrayscaleMode]
|
||||||
.notfilterstab
|
.notfilterstab
|
||||||
|
|
||||||
cmp dword[GUIVideoTabs],3 ; NTSC
|
cmp dword[GUIVideoTabs],3 ; NTSC
|
||||||
@@ -3292,7 +3300,7 @@ DisplayGUISaveClick:
|
|||||||
GUIPHoldbutton2 173,17,181,24,70,byte[RewindStates],1,99
|
GUIPHoldbutton2 173,17,181,24,70,byte[RewindStates],1,99
|
||||||
GUIPHoldbutton2 184,17,192,24,71,byte[RewindStates],-1,0
|
GUIPHoldbutton2 184,17,192,24,71,byte[RewindStates],-1,0
|
||||||
GUIPHoldbutton2 173,29,181,36,72,byte[RewindFrames],1,99
|
GUIPHoldbutton2 173,29,181,36,72,byte[RewindFrames],1,99
|
||||||
GUIPHoldbutton2 184,29,192,36,73,byte[RewindFrames],-1,0
|
GUIPHoldbutton2 184,29,192,36,73,byte[RewindFrames],-1,1
|
||||||
DGOptnsProcBox 27,121,[KeyStateSlc0]
|
DGOptnsProcBox 27,121,[KeyStateSlc0]
|
||||||
DGOptnsProcBox 27+45,121,[KeyStateSlc1]
|
DGOptnsProcBox 27+45,121,[KeyStateSlc1]
|
||||||
DGOptnsProcBox 27+45*2,121,[KeyStateSlc2]
|
DGOptnsProcBox 27+45*2,121,[KeyStateSlc2]
|
||||||
|
|||||||
@@ -1616,29 +1616,27 @@ DisplayGUIVideo:
|
|||||||
mov byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
mov byte[hqFilter],0
|
mov byte[hqFilter],0
|
||||||
.no2xSaIdis
|
.no2xSaIdis
|
||||||
cmp byte[En2xSaI],0
|
|
||||||
je .no2xsaidis
|
|
||||||
mov byte[Triplebufen],0
|
|
||||||
.no2xsaidis
|
|
||||||
cmp byte[En2xSaI],0
|
cmp byte[En2xSaI],0
|
||||||
je .no2xsaien
|
je .no2xsaien
|
||||||
|
mov byte[Triplebufen],0
|
||||||
mov byte[hqFilter],0
|
mov byte[hqFilter],0
|
||||||
mov byte[scanlines],0
|
mov byte[scanlines],0
|
||||||
mov byte[antienab],0
|
mov byte[antienab],0
|
||||||
.no2xsaien
|
.no2xsaien
|
||||||
cmp byte[hqFilter],0
|
cmp byte[hqFilter],0
|
||||||
je .nohq3xen
|
je .nohqen
|
||||||
mov byte[En2xSaI],0
|
mov byte[En2xSaI],0
|
||||||
mov byte[scanlines],0
|
mov byte[scanlines],0
|
||||||
mov byte[antienab],0
|
mov byte[antienab],0
|
||||||
.nohq3xen
|
.nohqen
|
||||||
|
|
||||||
|
GUIDrawWindowBox 5,GUIVideoDisp ; Video Modes List/Options
|
||||||
|
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov bl,[NTSCFilter]
|
mov bl,[NTSCFilter]
|
||||||
add ebx,2
|
add ebx,2
|
||||||
mov [GUIVideoTabs+4],ebx
|
mov [GUIVideoTabs+4],ebx
|
||||||
|
|
||||||
GUIDrawWindowBox 5,GUIVideoDisp ; Video Modes List/Options
|
|
||||||
|
|
||||||
GUIDrawTab 5,GUIVideoTabs
|
GUIDrawTab 5,GUIVideoTabs
|
||||||
|
|
||||||
cmp dword[GUIVideoTabs],1
|
cmp dword[GUIVideoTabs],1
|
||||||
@@ -1714,7 +1712,7 @@ DisplayGUIVideo:
|
|||||||
|
|
||||||
cmp dword[GUIVideoTabs],2
|
cmp dword[GUIVideoTabs],2
|
||||||
jne near .notfilterstab
|
jne near .notfilterstab
|
||||||
xor eax,eax ; 100% Scanlines
|
xor eax,eax ; Scanlines text
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUISLVID+eax],0
|
cmp byte[GUISLVID+eax],0
|
||||||
je near .notext2
|
je near .notext2
|
||||||
@@ -1723,23 +1721,30 @@ DisplayGUIVideo:
|
|||||||
%else
|
%else
|
||||||
GUIDisplayText 5,13,111,GUIVideoTextC
|
GUIDisplayText 5,13,111,GUIVideoTextC
|
||||||
%endif
|
%endif
|
||||||
|
.notext2
|
||||||
|
|
||||||
.notext2 ; Interpol.
|
;Checkboxes
|
||||||
xor eax,eax
|
xor eax,eax ; Interpolations
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIINVID+eax],0
|
cmp byte[GUIINVID+eax],0
|
||||||
je near .notext3
|
je near .notext3
|
||||||
GUIDisplayCheckboxu 5,11,78,antienab,GUIVideoText3,0
|
GUIDisplayCheckboxu 5,11,78,antienab,GUIVideoText3,0
|
||||||
|
.notext3
|
||||||
.notext3 ; Eagle Eng.
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
|
cmp byte[GUII2VID+eax],0
|
||||||
|
je near .nocheckboxi2
|
||||||
|
GUIDisplayCheckboxu 5,11,163,antienab,GUIVideoText3,0
|
||||||
|
.nocheckboxi2
|
||||||
|
|
||||||
|
xor eax,eax ; Eagle Interp.
|
||||||
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIEAVID+eax],0
|
cmp byte[GUIEAVID+eax],0
|
||||||
je near .notext4
|
je near .notext4
|
||||||
GUIDisplayCheckboxu 5,11,78,antienab,GUIVideoText4,9
|
GUIDisplayCheckboxu 5,11,78,antienab,GUIVideoText4,9
|
||||||
|
.notext4
|
||||||
|
|
||||||
.notext4 ; Full/Widescreen
|
xor eax,eax ; Full/Widescreen
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIFSVID+eax],0
|
cmp byte[GUIFSVID+eax],0
|
||||||
je near .notext5
|
je near .notext5
|
||||||
@@ -1749,36 +1754,35 @@ DisplayGUIVideo:
|
|||||||
jmp .notext5
|
jmp .notext5
|
||||||
.notext4a
|
.notext4a
|
||||||
GUIDisplayCheckboxu 5,11,88,ScreenScale,GUIVideoText5,6
|
GUIDisplayCheckboxu 5,11,88,ScreenScale,GUIVideoText5,6
|
||||||
|
.notext5
|
||||||
|
|
||||||
.notext5 ; 2x
|
xor eax,eax ; Small Screen
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
|
cmp byte[GUISSVID+eax],0
|
||||||
|
je near .nocheckbox3b
|
||||||
|
GUIDisplayCheckboxu 5,11,98,smallscreenon,GUIVideoText6,1
|
||||||
|
.nocheckbox3b
|
||||||
|
|
||||||
|
xor eax,eax ; hq*x
|
||||||
|
mov al,[cvidmode]
|
||||||
|
cmp byte[MMXSupport],0
|
||||||
|
je near .notexthq4xa
|
||||||
cmp byte[GUIHQ2X+eax],0
|
cmp byte[GUIHQ2X+eax],0
|
||||||
je near .notexthq2xa
|
je near .notexthq2xa
|
||||||
cmp byte[MMXSupport],0
|
|
||||||
je near .notexthq2xa
|
|
||||||
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq2x,1
|
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq2x,1
|
||||||
|
jmp .notexthq4xa
|
||||||
.notexthq2xa ; 3x
|
.notexthq2xa
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUIHQ3X+eax],0
|
cmp byte[GUIHQ3X+eax],0
|
||||||
je near .notexthq3xa
|
je near .notexthq3xa
|
||||||
cmp byte[MMXSupport],0
|
|
||||||
je near .notexthq3xa
|
|
||||||
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq3x,1
|
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq3x,1
|
||||||
|
jmp .notexthq4xa
|
||||||
.notexthq3xa ; 4x
|
.notexthq3xa
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUIHQ4X+eax],0
|
cmp byte[GUIHQ4X+eax],0
|
||||||
je near .notexthq4xa
|
je near .notexthq4xa
|
||||||
cmp byte[MMXSupport],0
|
|
||||||
je near .notexthq4xa
|
|
||||||
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq4x,1
|
GUIDisplayCheckboxu 5,115,163,hqFilter,GUIVideoTexthq4x,1
|
||||||
|
|
||||||
.notexthq4xa
|
.notexthq4xa
|
||||||
xor eax,eax ; Checkboxes
|
|
||||||
|
xor eax,eax ; scanlines
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUISLVID+eax],0
|
cmp byte[GUISLVID+eax],0
|
||||||
je near .nocheckboxb
|
je near .nocheckboxb
|
||||||
@@ -1787,7 +1791,6 @@ DisplayGUIVideo:
|
|||||||
%else
|
%else
|
||||||
GUIDisplayCheckboxun 5,21,114,scanlines,1,GUIVideoTextC1,0
|
GUIDisplayCheckboxun 5,21,114,scanlines,1,GUIVideoTextC1,0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
.nocheckboxb
|
.nocheckboxb
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
@@ -1800,17 +1803,25 @@ DisplayGUIVideo:
|
|||||||
GUIDisplayCheckboxun 5,61,114,scanlines,3,GUIVideoTextC2,0
|
GUIDisplayCheckboxun 5,61,114,scanlines,3,GUIVideoTextC2,0
|
||||||
GUIDisplayCheckboxun 5,101,114,scanlines,2,GUIVideoTextC3,0
|
GUIDisplayCheckboxun 5,101,114,scanlines,2,GUIVideoTextC3,0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
.nocheckboxw
|
.nocheckboxw
|
||||||
xor eax,eax
|
|
||||||
|
xor eax,eax ; triple buffs
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUITBWVID+eax],0
|
cmp byte[GUITBWVID+eax],0
|
||||||
je near .nocheckboxslw2
|
je near .nocheckboxslw2
|
||||||
GUIDisplayCheckboxu 5,11,123,TripleBufferWin,GUIVideoText7,0
|
GUIDisplayCheckboxu 5,11,123,TripleBufferWin,GUIVideoText7,0
|
||||||
|
|
||||||
.nocheckboxslw2
|
.nocheckboxslw2
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
|
cmp byte[GUITBVID+eax],0
|
||||||
|
je near .nocheckboxtbb
|
||||||
|
cmp byte[TripBufAvail],0
|
||||||
|
je near .nocheckboxtbb
|
||||||
|
GUIDisplayCheckboxun 5,11,163,Triplebufen,1,GUIVideoText7,0
|
||||||
|
.nocheckboxtbb
|
||||||
|
|
||||||
|
xor eax,eax ; 2xSaI & Supers
|
||||||
|
mov al,[cvidmode]
|
||||||
cmp byte[GUI2xVID+eax],0
|
cmp byte[GUI2xVID+eax],0
|
||||||
je near .nocheckboxx
|
je near .nocheckboxx
|
||||||
cmp byte[MMXSupport],0
|
cmp byte[MMXSupport],0
|
||||||
@@ -1818,39 +1829,23 @@ DisplayGUIVideo:
|
|||||||
GUIDisplayCheckboxun 5,11,133,En2xSaI,1,GUIVideoTextc,1
|
GUIDisplayCheckboxun 5,11,133,En2xSaI,1,GUIVideoTextc,1
|
||||||
GUIDisplayCheckboxun 5,11,143,En2xSaI,2,GUIVideoTextd,6
|
GUIDisplayCheckboxun 5,11,143,En2xSaI,2,GUIVideoTextd,6
|
||||||
GUIDisplayCheckboxun 5,11,153,En2xSaI,3,GUIVideoTextd2,0
|
GUIDisplayCheckboxun 5,11,153,En2xSaI,3,GUIVideoTextd2,0
|
||||||
|
|
||||||
.nocheckboxx
|
.nocheckboxx
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUII2VID+eax],0
|
|
||||||
je near .nocheckboxi2
|
|
||||||
GUIDisplayCheckboxu 5,11,163,antienab,GUIVideoText3,0
|
|
||||||
|
|
||||||
.nocheckboxi2
|
xor eax,eax ; Bilinear
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIBIFIL+eax],0
|
cmp byte[GUIBIFIL+eax],0
|
||||||
je near .nocheckboxe
|
je near .nocheckboxe
|
||||||
GUIDisplayCheckboxu 5,11,163,BilinearFilter,GUIVideoTextbf,0
|
GUIDisplayCheckboxu 5,11,163,BilinearFilter,GUIVideoTextbf,0
|
||||||
|
|
||||||
.nocheckboxe
|
.nocheckboxe
|
||||||
xor eax,eax
|
|
||||||
|
xor eax,eax ; NTSC filter
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUINTSC+eax],0
|
cmp byte[GUINTVID+eax],0
|
||||||
je near .nocheckboxbf
|
je near .nocheckboxbf
|
||||||
GUIDisplayCheckboxu 5,115,173,NTSCFilter,GUIVideoTexte,0
|
GUIDisplayCheckboxu 5,115,173,NTSCFilter,GUIVideoTexte,0
|
||||||
|
|
||||||
.nocheckboxbf
|
.nocheckboxbf
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUITBVID+eax],0
|
|
||||||
je near .nocheckboxtbb
|
|
||||||
cmp byte[TripBufAvail],0
|
|
||||||
je near .nocheckboxtbb
|
|
||||||
GUIDisplayCheckboxun 5,11,163,Triplebufen,1,GUIVideoText7,0
|
|
||||||
|
|
||||||
.nocheckboxtbb
|
xor eax,eax ; Hires Mode7
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
mov al,[cvidmode]
|
||||||
cmp byte[GUIM7VID+eax],0
|
cmp byte[GUIM7VID+eax],0
|
||||||
je near .nocheckboxm72
|
je near .nocheckboxm72
|
||||||
@@ -1858,20 +1853,13 @@ DisplayGUIVideo:
|
|||||||
je near .nocheckboxm72
|
je near .nocheckboxm72
|
||||||
GUIDisplayCheckboxu 5,11,173,Mode7HiRes16b,GUIVideoText8b,0
|
GUIDisplayCheckboxu 5,11,173,Mode7HiRes16b,GUIVideoText8b,0
|
||||||
.nocheckboxm72
|
.nocheckboxm72
|
||||||
|
|
||||||
GUIDisplayCheckboxu 5,11,183,GrayscaleMode,GUIVideoText8c,0
|
GUIDisplayCheckboxu 5,11,183,GrayscaleMode,GUIVideoText8c,0
|
||||||
%ifndef __UNIXSDL__
|
%ifndef __UNIXSDL__
|
||||||
GUIDisplayCheckboxu 5,115,183,vsyncon,GUIVideoText9,0
|
GUIDisplayCheckboxu 5,115,183,vsyncon,GUIVideoText9,0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
.nocheckbox2b
|
|
||||||
xor eax,eax
|
|
||||||
mov al,[cvidmode]
|
|
||||||
cmp byte[GUISSVID+eax],0
|
|
||||||
je near .nocheckbox3b
|
|
||||||
GUIDisplayCheckboxu 5,11,98,smallscreenon,GUIVideoText6,1
|
|
||||||
|
|
||||||
.nocheckbox3b
|
|
||||||
.notfilterstab
|
.notfilterstab
|
||||||
|
|
||||||
cmp dword[GUIVideoTabs],3
|
cmp dword[GUIVideoTabs],3
|
||||||
jne .notntsctab
|
jne .notntsctab
|
||||||
.notntsctab
|
.notntsctab
|
||||||
|
|||||||
@@ -795,38 +795,37 @@ db '1024x896 ODR W',0 ;17
|
|||||||
db '1280x960 ODS F',0 ;18
|
db '1280x960 ODS F',0 ;18
|
||||||
db '1280x1024 ODS F',0 ;19
|
db '1280x1024 ODS F',0 ;19
|
||||||
db '1600x1200 ODS F',0 ;20
|
db '1600x1200 ODS F',0 ;20
|
||||||
db 'VARIABLE ODR W',0 ;21
|
db 'VARIABLE OD W',0 ;21
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
; vid mode column = 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1
|
; vid mode column = 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1
|
||||||
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Engine
|
||||||
NEWSYM GUISLVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Scanlines
|
NEWSYM GUISLVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Scanlines
|
||||||
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
NEWSYM GUIINVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Interpolation)
|
||||||
NEWSYM GUII2VID, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation(w)
|
NEWSYM GUII2VID, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Interpolation
|
||||||
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Eagle
|
NEWSYM GUIEAVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Eagle)
|
||||||
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Eagle+Int)
|
||||||
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Full Screen
|
NEWSYM GUIFSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Fullscreen)
|
||||||
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (Full Scr. | Wide Scr.)
|
NEWSYM GUIWSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Widescreen)
|
||||||
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Small Screen
|
NEWSYM GUISSVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Smallscreen)
|
||||||
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering
|
NEWSYM GUITBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (DOS Triple Buffer)
|
||||||
NEWSYM GUIHSVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Half/Quarter Scanlines
|
NEWSYM GUIHSVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUI2xVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUI2xVID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 2xSaI/Super Engines
|
||||||
NEWSYM GUIM7VID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; ?Mode 7 video thing?
|
NEWSYM GUIM7VID, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; Hires Mode 7
|
||||||
NEWSYM GUIWFVID, db 0,1,0,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0 ; If Windows Full Screen
|
NEWSYM GUIWFVID, db 0,1,0,1,1,1,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,0 ; Fullscreen
|
||||||
NEWSYM GUIDSIZE, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
NEWSYM GUIDSIZE, db 0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; D modes
|
||||||
NEWSYM GUIRATIO, db 0,1,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0
|
NEWSYM GUIRATIO, db 0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Ratio-Fullscreen modes
|
||||||
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; binlinear = 1, nearest = 0
|
NEWSYM GUIBIFIL, db 0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; SDL Bilinear Filter
|
||||||
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 ; Triple Buffering (Win)
|
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 ; (Win Triple Buffer)
|
||||||
NEWSYM GUIMBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
NEWSYM GUIHQ2X, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1 ; hq2x filter
|
||||||
NEWSYM GUIHQ2X, db 0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1 ; hq2x filter
|
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
|
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; (hq4x filter)
|
||||||
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq4x filter
|
NEWSYM GUIRESIZE, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ; SDL Resizable
|
||||||
NEWSYM GUIRESIZE, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ; resizable
|
NEWSYM GUINTVID, db 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; NTSC Filter
|
||||||
NEWSYM GUINTSC, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; NTSC Filter
|
|
||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ void sw_drawwin()
|
|||||||
|
|
||||||
if (prevtot == frametot && (!GUIOn || !GUIOn2)) { return; }
|
if (prevtot == frametot && (!GUIOn || !GUIOn2)) { return; }
|
||||||
|
|
||||||
if (curblank) return;
|
if (curblank || cvidmode > 5) return;
|
||||||
LockSurface();
|
LockSurface();
|
||||||
|
|
||||||
ScreenPtr = vidbuffer;
|
ScreenPtr = vidbuffer;
|
||||||
@@ -208,5 +208,3 @@ void sw_drawwin()
|
|||||||
}
|
}
|
||||||
UnlockSurface();
|
UnlockSurface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -993,31 +993,31 @@ db '1680x1050 DR F',0 ;37
|
|||||||
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
; Video Mode Feature Availability (1 = Available, 0 = Not Available)
|
||||||
; Left side starts with Video Mode 0
|
; Left side starts with Video Mode 0
|
||||||
; 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
|
; 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
|
||||||
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
NEWSYM GUI16VID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; 16-bit mode
|
||||||
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics Mode Available
|
NEWSYM GUINGVID, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; New Graphics engine
|
||||||
NEWSYM GUISLVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Scanlines
|
NEWSYM GUISLVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Scanlines
|
||||||
NEWSYM GUIINVID, 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,0,0,0,0,0 ; Interpolation
|
NEWSYM GUIINVID, 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,0,0,0,0,0 ; (DOS Interpolation)
|
||||||
NEWSYM GUII2VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Interpolation(w)
|
NEWSYM GUII2VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Interpolation
|
||||||
NEWSYM GUIEAVID, 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,0,0,0,0,0 ; Eagle
|
NEWSYM GUIEAVID, 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,0,0,0,0,0 ; (DOS Eagle)
|
||||||
NEWSYM GUIIEVID, 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,0,0,0,0,0 ; (Interp | Eagle)
|
NEWSYM GUIIEVID, 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,0,0,0,0,0 ; (DOS Eagle+Int)
|
||||||
NEWSYM GUIFSVID, 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,0,0,0,0,0 ; Full Screen
|
NEWSYM GUIFSVID, 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,0,0,0,0,0 ; (DOS Fullscreen)
|
||||||
NEWSYM GUIWSVID, 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,0,0,0,0,0 ; (Full Scr. | Wide Scr.)
|
NEWSYM GUIWSVID, 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,0,0,0,0,0 ; (DOS Widescreen)
|
||||||
NEWSYM GUISSVID, 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,0,0,0,0,0 ; Small Screen
|
NEWSYM GUISSVID, 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,0,0,0,0,0 ; (DOS Smallscreen)
|
||||||
NEWSYM GUITBVID, 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,0,0,0,0,0 ; Triple Buffering
|
NEWSYM GUITBVID, 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,0,0,0,0,0 ; (DOS Triple Buffer)
|
||||||
NEWSYM GUIHSVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Half/Quarter Scanlines
|
NEWSYM GUIHSVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Half/Quarter Scanlines
|
||||||
NEWSYM GUI2xVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; 2xSaI/Super Eagle Engines
|
NEWSYM GUI2xVID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; 2xSaI/Super Engines
|
||||||
NEWSYM GUIM7VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; ?Mode 7 video thing?
|
NEWSYM GUIM7VID, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; Hires Mode 7
|
||||||
NEWSYM GUIWFVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1 ; If Windows Full Screen
|
NEWSYM GUIWFVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1 ; Fullscreen
|
||||||
NEWSYM GUIDSIZE, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1
|
NEWSYM GUIDSIZE, db 0,0,0,1,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; D-only modes
|
||||||
NEWSYM GUIRATIO, db 0,1,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,0,0,0
|
NEWSYM GUIRATIO, db 0,1,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,0,0,0 ; Ratio-Fullscreen modes
|
||||||
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,0,0,0,0,0,0,0,0
|
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,0,0,0,0,0,0,0,0 ; (SDL Bilinear Filter)
|
||||||
NEWSYM GUITBWVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1 ; Triple Buffering (Win)
|
NEWSYM GUITBWVID, db 0,1,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1 ; Win Triple Buffer
|
||||||
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,0,0,0,0,0
|
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,0,0,0,0,0 ; Win Stretched modes
|
||||||
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,0,1,0,1,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,0,1,0,1,0 ; Win D-Stretched modes
|
||||||
NEWSYM GUIHQ2X, db 0,0,0,1,0,1,1,1,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 ; hq2x filter
|
NEWSYM GUIHQ2X, db 0,0,0,1,0,1,1,1,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 ; hq2x filter
|
||||||
NEWSYM GUIHQ3X, db 0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,0,0,0,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,1,0,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; hq3x filter
|
||||||
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; hq4x filter
|
NEWSYM GUIHQ4X, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; hq4x filter
|
||||||
NEWSYM GUINTSC, db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; NTSC Filter
|
NEWSYM GUINTVID, db 0,0,0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1 ; NTSC Filter
|
||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user