Triple buffering option (win)

This commit is contained in:
zsknight
2001-06-01 01:15:21 +00:00
parent 718e41938a
commit e2c8a56667
3 changed files with 47 additions and 21 deletions

View File

@@ -121,7 +121,7 @@ EXTSYM MessageOn,Msgptr,MsgCount
EXTSYM PJoyAOrig,PJoyBOrig,PJoyCOrig,PJoyDOrig,PJoyEOrig EXTSYM PJoyAOrig,PJoyBOrig,PJoyCOrig,PJoyDOrig,PJoyEOrig
EXTSYM GetHostName EXTSYM GetHostName
EXTSYM vramaddr,curypos,ClearRegs,vram,sndrot,regsbackup EXTSYM vramaddr,curypos,ClearRegs,vram,sndrot,regsbackup
EXTSYM GetScreen EXTSYM GetScreen,GUITBWVID
EXTSYM MouseWindow EXTSYM MouseWindow
EXTSYM GotoHomepage EXTSYM GotoHomepage
@@ -581,6 +581,7 @@ NEWSYM AlternateTimer, db 0
NEWSYM AllowMultipleInst, db 0 NEWSYM AllowMultipleInst, db 0
NEWSYM FilteredGUI, db 0 NEWSYM FilteredGUI, db 0
NEWSYM BilinearFilter, db 0 NEWSYM BilinearFilter, db 0
NEWSYM TripleBufferWin, db 0
GUIsave equ $-GUIRAdd GUIsave equ $-GUIRAdd

View File

@@ -2176,10 +2176,11 @@ DisplayGUIVideoClick:
mov bl,[cvidmode] mov bl,[cvidmode]
cmp byte[GUIHSVID+ebx],0 cmp byte[GUIHSVID+ebx],0
je near .nohsline je near .nohsline
GUIClickCButton4 21,123,byte[scanlines],byte[cfgscanline],1 GUIClickCButton4 21,114,byte[scanlines],byte[cfgscanline],1
GUIClickCButton4 61,123,byte[scanlines],byte[cfgscanline],3 GUIClickCButton4 61,114,byte[scanlines],byte[cfgscanline],3
GUIClickCButton4 101,123,byte[scanlines],byte[cfgscanline],2 GUIClickCButton4 101,114,byte[scanlines],byte[cfgscanline],2
.nohsline .nohsline
GUIClickCButton 11,123,byte[TripleBufferWin]
xor ebx,ebx xor ebx,ebx
mov bl,[cvidmode] mov bl,[cvidmode]
cmp byte[GUI2xVID+ebx],0 cmp byte[GUI2xVID+ebx],0

View File

@@ -1621,9 +1621,9 @@ DisplayGUIVideo:
; jne near .nowin32pt2 ; jne near .nowin32pt2
%ifndef __MSDOS__ %ifndef __MSDOS__
GUIOuttextwin2 5,12,76,GUIVideoTextw0 GUIOuttextwin2 5,12,76,GUIVideoTextw0
GUIOuttextwin2 5,12,86,GUIVideoTextw1 GUIOuttextwin2 5,12,83,GUIVideoTextw1
GUIOuttextwin2 5,12,96,GUIVideoTextw2 GUIOuttextwin2 5,12,90,GUIVideoTextw2
GUIOuttextwin2 5,12,106,GUIVideoTextw3 GUIOuttextwin2 5,12,97,GUIVideoTextw3
%endif %endif
;.nowin32pt2 ;.nowin32pt2
@@ -1636,11 +1636,17 @@ DisplayGUIVideo:
mov al,[cvidmode] mov al,[cvidmode]
cmp byte[GUIHSVID+eax],0 cmp byte[GUIHSVID+eax],0
je near .notexta je near .notexta
GUIOuttextwin2 5,13,118,GUIVideoTextb GUIOuttextwin2 5,13,111,GUIVideoTextb
GUIOuttextwin2 5,36,128,GUIVideoTexta GUIOuttextwin2 5,36,119,GUIVideoTexta
GUIOuttextwin2 5,76,128,GUIVideoTexta2 GUIOuttextwin2 5,76,119,GUIVideoTexta2
GUIOuttextwin2 5,116,128,GUIVideoTexta3 GUIOuttextwin2 5,116,119,GUIVideoTexta3
.notexta .notexta
xor eax,eax
mov al,[cvidmode]
cmp byte[GUITBWVID+eax],0
je near .nottbw
GUIOuttextwin2 5,26,128,GUIVideoText7
.nottbw
xor eax,eax xor eax,eax
mov al,[cvidmode] mov al,[cvidmode]
cmp byte[GUI2xVID+eax],0 cmp byte[GUI2xVID+eax],0
@@ -1710,9 +1716,9 @@ DisplayGUIVideo:
; jne near .nowin32pt ; jne near .nowin32pt
%ifndef __MSDOS__ %ifndef __MSDOS__
GUIOuttextwin2 5,11,75,GUIVideoTextw0 GUIOuttextwin2 5,11,75,GUIVideoTextw0
GUIOuttextwin2 5,11,85,GUIVideoTextw1 GUIOuttextwin2 5,11,82,GUIVideoTextw1
GUIOuttextwin2 5,11,95,GUIVideoTextw2 GUIOuttextwin2 5,11,89,GUIVideoTextw2
GUIOuttextwin2 5,11,105,GUIVideoTextw3 GUIOuttextwin2 5,11,96,GUIVideoTextw3
%endif %endif
;.nowin32pt ;.nowin32pt
xor eax,eax xor eax,eax
@@ -1724,11 +1730,17 @@ DisplayGUIVideo:
mov al,[cvidmode] mov al,[cvidmode]
cmp byte[GUIHSVID+eax],0 cmp byte[GUIHSVID+eax],0
je near .notextab je near .notextab
GUIOuttextwin2 5,12,117,GUIVideoTextb GUIOuttextwin2 5,12,110,GUIVideoTextb
GUIOuttextwin2 5,35,127,GUIVideoTexta GUIOuttextwin2 5,35,118,GUIVideoTexta
GUIOuttextwin2 5,75,127,GUIVideoTexta2 GUIOuttextwin2 5,75,118,GUIVideoTexta2
GUIOuttextwin2 5,115,127,GUIVideoTexta3 GUIOuttextwin2 5,115,118,GUIVideoTexta3
.notextab .notextab
xor eax,eax
mov al,[cvidmode]
cmp byte[GUITBWVID+eax],0
je near .nottbwb
GUIOuttextwin2 5,25,127,GUIVideoText7
.nottbwb
xor eax,eax xor eax,eax
mov al,[cvidmode] mov al,[cvidmode]
cmp byte[GUI2xVID+eax],0 cmp byte[GUI2xVID+eax],0
@@ -1812,22 +1824,34 @@ DisplayGUIVideo:
jne .nocheckbox jne .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox .nocheckbox
GUIDisplayIconWin 5,21,123,[GUITemp] GUIDisplayIconWin 5,21,114,[GUITemp]
.nocheckboxb .nocheckboxb
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[scanlines],3 cmp byte[scanlines],3
jne .nocheckboxv jne .nocheckboxv
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckboxv .nocheckboxv
GUIDisplayIconWin 5,61,123,[GUITemp] GUIDisplayIconWin 5,61,114,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[scanlines],2 cmp byte[scanlines],2
jne .nocheckboxv2 jne .nocheckboxv2
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckboxv2 .nocheckboxv2
GUIDisplayIconWin 5,101,123,[GUITemp] GUIDisplayIconWin 5,101,114,[GUITemp]
.nocheckboxw .nocheckboxw
xor eax,eax
mov al,[cvidmode]
cmp byte[GUITBWVID+eax],0
je near .nocheckboxslw2
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[TripleBufferWin],1
jne .nocheckboxslw
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckboxslw
GUIDisplayIconWin 5,11,123,[GUITemp]
.nocheckboxslw2
xor eax,eax xor eax,eax
mov al,[cvidmode] mov al,[cvidmode]
cmp byte[GUI2xVID+eax],0 cmp byte[GUI2xVID+eax],0