NTSC sliders enlarged to negatives, added a couple other things in that tab too, made slider macro more powerful, some cosmetic changes, fixed issue when switching to modes without ntsc filter. And some cleanup too. Don't you think my commit messages are getting quite lengthy lately ? Yea, I thought so too. -_-
This commit is contained in:
@@ -361,3 +361,4 @@ NEWSYM NTSCCont, db 0
|
||||
NEWSYM NTSCBright, db 0
|
||||
NEWSYM NTSCSharp, db 0
|
||||
NEWSYM NTSCWarp, db 0
|
||||
NEWSYM NTSCRef, db 0
|
||||
|
||||
@@ -105,10 +105,10 @@ EXTSYM MovieRecord,MovieInsertChapter,MovieSeekAhead,MovieSeekBehind
|
||||
EXTSYM ResetDuringMovie,MovieDumpRaw,AutoLoadCht
|
||||
|
||||
EXTSYM GUIwinposx,GUIwinposy,maxskip,GUIEffect,hqFilter,En2xSaI,NTSCFilter
|
||||
EXTSYM NTSCBlend,NTSCHue,NTSCSat,NTSCCont,NTSCBright,NTSCSharp,NTSCWarp
|
||||
EXTSYM NTSCBlend,NTSCHue,NTSCSat,NTSCCont,NTSCBright,NTSCSharp,NTSCWarp,NTSCRef
|
||||
EXTSYM LowPassFilterType,MovieStartMethod,MovieDisplayFrame,resetposn
|
||||
EXTSYM SnapPath,SPCPath,BSXPath,SGPath,STPath,GNextPath,FEOEZPath,SJNSPath
|
||||
EXTSYM MDHPath,SPL4Path,CheatSrcByteSize,prevloadfnamel
|
||||
EXTSYM MDHPath,SPL4Path,CheatSrcByteSize,prevloadfnamel,NTSCFilterInit
|
||||
EXTSYM prevloadnames,prevloaddnamel,prevlfreeze,FirstTimeData,MMXSupport
|
||||
EXTSYM GUIRAdd,GUIGAdd,GUIBAdd,GUITRAdd,GUITGAdd,GUITBAdd,GUIWRAdd
|
||||
EXTSYM GUIWGAdd,GUIWBAdd,GUIloadfntype,SoundInterpType,PrimaryBuffer
|
||||
@@ -306,9 +306,9 @@ ViewBuffer resb 50*32
|
||||
SECTION .data
|
||||
; Window sizes and positions
|
||||
; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO CHIP PATH SAVE SPED
|
||||
GUIwinposxo dd 0,6 ,65 ,33 ,42 ,38 ,34 ,6 ,64 ,8 ,8 ,33 ,56 ,64 ,56 ,5 ,3 ,28 ,48 ,6 ,28 ,53
|
||||
GUIwinposxo dd 0,6 ,65 ,33 ,42 ,2 ,34 ,6 ,64 ,8 ,8 ,33 ,56 ,64 ,56 ,5 ,3 ,28 ,48 ,6 ,28 ,53
|
||||
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,20 ,20 ,30 ,30 ,20 ,20 ,60 ,30 ,65 ,20 ,19 ,60 ,60 ,20 ,30 ,25
|
||||
GUIwinsizex dd 0,244 ,126 ,189 ,172 ,180 ,188 ,244 ,8*16,240 ,240 ,190 ,9*16,8*16,9*16,246 ,250 ,200 ,160 ,244 ,200 ,150
|
||||
GUIwinsizex dd 0,244 ,126 ,189 ,172 ,250 ,188 ,244 ,8*16,240 ,240 ,190 ,9*16,8*16,9*16,246 ,250 ,200 ,160 ,244 ,200 ,150
|
||||
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,170 ,150 ,190 ,42 ,40 ,42 ,190 ,190 ,100 ,100 ,190 ,160 ,180
|
||||
GUIwinptr db 0
|
||||
|
||||
|
||||
@@ -953,14 +953,18 @@ ret
|
||||
|
||||
GUIVideoKeys:
|
||||
cmp dh,9
|
||||
jne near .notab
|
||||
jne near .tabdone
|
||||
cmp byte[NTSCFilter],0
|
||||
jne .ntsc
|
||||
KeyTabInc GUIVideoTabs
|
||||
jmp .notab
|
||||
.ntsc
|
||||
je near .nontsc
|
||||
xor eax,eax
|
||||
mov al,[cvidmode]
|
||||
cmp byte[GUINTVID+eax],0
|
||||
je .nontsc
|
||||
KeyTabInc GUIVideoTabs,GUIVntscTab
|
||||
.notab
|
||||
jmp .tabdone
|
||||
.nontsc
|
||||
KeyTabInc GUIVideoTabs
|
||||
.tabdone
|
||||
cmp dh,'a'
|
||||
jb .nocap
|
||||
cmp dh,'z'
|
||||
@@ -1367,6 +1371,10 @@ GUIVideoKeys:
|
||||
jne .noblend
|
||||
xor byte[NTSCBlend],1
|
||||
.noblend
|
||||
cmp dh,'R'
|
||||
jne .norefresh
|
||||
xor byte[NTSCRef],1
|
||||
.norefresh
|
||||
.notntsctab
|
||||
ret
|
||||
|
||||
|
||||
@@ -37,6 +37,18 @@ ProcessMouse:
|
||||
je near .noholdnecessary
|
||||
cmp byte[GUIHold],0
|
||||
jne .noholda
|
||||
cmp byte[LastHoldEnable],7 ; ntsc sliders
|
||||
jne .norelease1
|
||||
xor edx,edx
|
||||
mov dl,[ntscWhVar]
|
||||
mov cl,[ntscCurVar]
|
||||
cmp cl,[ntscLastVar+edx]
|
||||
je .norelease1
|
||||
pushad
|
||||
call NTSCFilterInit
|
||||
popad
|
||||
mov [ntscLastVar+edx],cl
|
||||
.norelease1
|
||||
mov ecx,0
|
||||
mov edx,255
|
||||
call Set_MouseXMax
|
||||
@@ -584,7 +596,9 @@ ProcessMouseButtons:
|
||||
je near GUIProcReset
|
||||
cmp byte[GUICBHold],3
|
||||
je near GUIProcReset
|
||||
cmp byte[GUICBHold],4
|
||||
cmp byte[GUICBHold],4 ; set video mode
|
||||
je near GUIProcVideo
|
||||
cmp byte[GUICBHold],37 ; reset ntsc options
|
||||
je near GUIProcVideo
|
||||
cmp byte[GUICBHold],10
|
||||
je near GUIProcStates
|
||||
@@ -847,6 +861,22 @@ ProcessMouseButtons:
|
||||
ret
|
||||
|
||||
GUIProcVideo:
|
||||
cmp byte[GUICBHold],37
|
||||
mov byte[GUICBHold],0
|
||||
jne .noreset
|
||||
mov byte[NTSCBlend],0
|
||||
mov byte[NTSCRef],0
|
||||
mov byte[NTSCHue],0
|
||||
mov byte[NTSCSat],0
|
||||
mov byte[NTSCCont],0
|
||||
mov byte[NTSCBright],0
|
||||
mov byte[NTSCSharp],0
|
||||
mov byte[NTSCWarp],0
|
||||
pushad
|
||||
call NTSCFilterInit
|
||||
popad
|
||||
ret
|
||||
.noreset
|
||||
%ifdef __MSDOS__
|
||||
mov al,[GUIcurrentvideocursloc]
|
||||
cmp al,3
|
||||
@@ -868,7 +898,6 @@ GUIProcVideo:
|
||||
mov byte[newengen],1
|
||||
mov byte[cfgnewgfx],1
|
||||
.skipno16b
|
||||
mov byte[GUICBHold],0
|
||||
call guiprevideo
|
||||
mov al,[cvidmode]
|
||||
mov [.prevvid],al
|
||||
@@ -2583,18 +2612,23 @@ DisplayGUIVideoClick:
|
||||
sub edx,[GUIwinposy+5*4]
|
||||
|
||||
GUIClickCButton 5,25,byte[NTSCBlend] ; Checkboxes
|
||||
GUIClickCButton 135,25,byte[NTSCRef]
|
||||
|
||||
GUIPHoldbutton 5,166,42,177,37 ; button
|
||||
|
||||
;Sliders
|
||||
cmp eax,15 ; X-Range for click-area
|
||||
cmp eax,8 ; X-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp eax,15+100
|
||||
cmp eax,8+200
|
||||
jg near .nomovebar
|
||||
sub al,108
|
||||
cmp edx,54 ; Y-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp edx,58
|
||||
jg .nohuebar
|
||||
sub eax,15
|
||||
mov [NTSCHue],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],0
|
||||
mov byte[GUIHold],7 ; Lock mouse to bar when clicked
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,56
|
||||
@@ -2605,8 +2639,9 @@ DisplayGUIVideoClick:
|
||||
jl near .nomovebar
|
||||
cmp edx,78
|
||||
jg .nosatbar
|
||||
sub eax,15
|
||||
mov [NTSCSat],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],1
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,76
|
||||
@@ -2617,8 +2652,9 @@ DisplayGUIVideoClick:
|
||||
jl near .nomovebar
|
||||
cmp edx,98
|
||||
jg .nocontbar
|
||||
sub eax,15
|
||||
mov [NTSCCont],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],2
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,96
|
||||
@@ -2629,8 +2665,9 @@ DisplayGUIVideoClick:
|
||||
jl near .nomovebar
|
||||
cmp edx,118
|
||||
jg .nobrightbar
|
||||
sub eax,15
|
||||
mov [NTSCBright],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],3
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,116
|
||||
@@ -2638,11 +2675,12 @@ DisplayGUIVideoClick:
|
||||
jmp .nowarpbar
|
||||
.nobrightbar
|
||||
cmp edx,134
|
||||
jl .nomovebar
|
||||
jl near .nomovebar
|
||||
cmp edx,138
|
||||
jg .nosharpbar
|
||||
sub eax,15
|
||||
mov [NTSCSharp],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],4
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,136
|
||||
@@ -2653,30 +2691,35 @@ DisplayGUIVideoClick:
|
||||
jl .nomovebar
|
||||
cmp edx,158
|
||||
jg .nomovebar
|
||||
sub eax,15
|
||||
mov [NTSCWarp],al
|
||||
mov [ntscCurVar],al
|
||||
mov byte[ntscWhVar],5
|
||||
mov byte[GUIHold],7
|
||||
mov eax,[GUIwinposy+5*4]
|
||||
add eax,156
|
||||
mov [GUIHoldYlim],eax
|
||||
.nowarpbar
|
||||
mov eax,[GUIwinposx+5*4]
|
||||
add eax,15
|
||||
add eax,8
|
||||
mov [GUIHoldXlimL],eax
|
||||
add eax,100
|
||||
add eax,200
|
||||
mov [GUIHoldXlimR],eax
|
||||
.nomovebar
|
||||
.notntsctab
|
||||
EXTSYM NTSCFilterInit
|
||||
xor al,al
|
||||
cmp byte[NTSCRef],0
|
||||
je .notntsctab
|
||||
pushad
|
||||
call NTSCFilterInit
|
||||
popad
|
||||
.notntsctab
|
||||
xor eax,eax
|
||||
ret
|
||||
|
||||
SECTION .bss
|
||||
GUINumValue resd 1
|
||||
GUIBlankVar resd 1
|
||||
ntscLastVar resb 6
|
||||
ntscCurVar resb 1
|
||||
ntscWhVar resb 1
|
||||
SECTION .text
|
||||
|
||||
DisplayGUISoundClick:
|
||||
@@ -3066,7 +3109,7 @@ DisplayGUIOptnsClick:
|
||||
|
||||
cmp eax,25
|
||||
jl near .nomovebar
|
||||
cmp eax,25+128
|
||||
cmp eax,25+127
|
||||
jg near .nomovebar
|
||||
sub eax,25
|
||||
shr eax,2
|
||||
@@ -3158,7 +3201,7 @@ DisplayGUIOptnsClick:
|
||||
add eax,25
|
||||
mov [GUIHoldXlimL],eax
|
||||
mov eax,[GUIwinposx+10*4]
|
||||
add eax,25+128
|
||||
add eax,25+127
|
||||
mov [GUIHoldXlimR],eax
|
||||
.nohold
|
||||
ret
|
||||
@@ -3489,11 +3532,11 @@ DisplayGUISpeedClick:
|
||||
GUIPHoldbutton2 129,13,137,21,13,byte[maxskip],-1,0
|
||||
|
||||
; Speed Slider
|
||||
cmp eax,15 ; X-Range for click-area
|
||||
cmp eax,7 ; X-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp eax,15+116
|
||||
cmp eax,7+116
|
||||
jg near .nomovebar
|
||||
sub eax,15
|
||||
sub eax,7
|
||||
shr eax,1
|
||||
cmp edx,173 ; Y-Range for click-area
|
||||
jl near .nomovebar
|
||||
@@ -3505,7 +3548,7 @@ DisplayGUISpeedClick:
|
||||
add eax,175
|
||||
mov [GUIHoldYlim],eax
|
||||
mov eax,[GUIwinposx+21*4]
|
||||
add eax,15
|
||||
add eax,7
|
||||
mov [GUIHoldXlimL],eax
|
||||
add eax,116
|
||||
mov [GUIHoldXlimR],eax
|
||||
|
||||
@@ -659,17 +659,17 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
push ecx ; save X offset for next drawing step
|
||||
dec eax
|
||||
mov ecx,eax
|
||||
mov esi,12
|
||||
mov esi,11
|
||||
inc dl
|
||||
%%draw2
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz %%draw2
|
||||
sub ebx,13
|
||||
sub ebx,11
|
||||
push ebx ; save Y offset for next drawing step
|
||||
mov cl,[GUIWincol]
|
||||
mov [GUItextcolor],cl
|
||||
add ebx,5
|
||||
add ebx,4
|
||||
push ebx ; save label Yoff
|
||||
mov edx,eax
|
||||
add edx,6
|
||||
@@ -692,9 +692,19 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
add edi,ebp
|
||||
call GUIOutputStringwin
|
||||
mov byte[GUItextcolor],217 ; restore normal colour
|
||||
pop ebx ; restore Yoff for next tab
|
||||
pop ebx ; restore Yoff for drawing step
|
||||
pop eax
|
||||
add eax,2 ; restore and set Xoff for next tab
|
||||
inc eax ; restore and set Xoff for drawing step
|
||||
mov ecx,eax
|
||||
mov dl,[GUIWincol]
|
||||
add dl,3
|
||||
mov esi,12
|
||||
%%draw3
|
||||
DrawGUILine
|
||||
dec esi
|
||||
jnz %%draw3
|
||||
sub ebx,13
|
||||
inc eax
|
||||
%%read2
|
||||
mov esi,%1
|
||||
cmp byte[esi+ebp],0
|
||||
@@ -806,7 +816,7 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
%%nodraw
|
||||
%endmacro
|
||||
|
||||
%macro GUIDrawSlider 6 ; win #id, minX, width, Ypos, variable, text
|
||||
%macro GUIDrawSlider 8 ; win #id, minX, width, Ypos, var, text, proc1, proc2
|
||||
mov eax,[GUIwinposx+%1*4]
|
||||
mov ebx,[GUIwinposy+%1*4]
|
||||
add eax,%2
|
||||
@@ -822,23 +832,12 @@ GUIOuttextwin2 %1,%2-1,%3-1,%4
|
||||
sub dl,13
|
||||
DrawGUILine
|
||||
xor eax,eax
|
||||
mov al,[%5]
|
||||
%7 %5 ; proc1 == alters var correctly and puts result in al
|
||||
mov dword[GUITemp],%2-4
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin %1,[GUITemp],%4-4,GUIIconDataSlideBar
|
||||
mov word[%6],' '
|
||||
mov esi,%6+3
|
||||
mov al,[%5]
|
||||
mov bl,10
|
||||
%%asciilp ; turns decimal into ascii
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
mov dword[GUITemp],%6 ; Display Value (Green)
|
||||
%8 %5,%6 ; proc2 == alters text correctly and puts pointer in esi
|
||||
mov [GUITemp],esi ; Display Value (Green)
|
||||
GUIDisplayTextG %1,%2+%3+6,%4-1,[GUITemp]
|
||||
%endmacro
|
||||
|
||||
@@ -1645,6 +1644,35 @@ GUIOptionTextZ db '-',0
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro NTSCslidSet 1 ; slider variable
|
||||
mov al,[%1]
|
||||
add al,100
|
||||
%endmacro
|
||||
|
||||
%macro NTSCslidText 2 ; slider var, text
|
||||
mov dword[%2],' '
|
||||
mov esi,%2+3
|
||||
mov al,[%1]
|
||||
mov bl,10
|
||||
test al,128
|
||||
jz %%asciilp
|
||||
xor al,255
|
||||
inc al
|
||||
%%asciilp ; turns decimal into ascii
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
dec esi
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
test byte[%1],128
|
||||
jz %%pos
|
||||
mov byte[esi],'-'
|
||||
%%pos
|
||||
mov esi,%2
|
||||
%endmacro
|
||||
|
||||
DisplayGUIVideo:
|
||||
cmp byte[TripBufAvail],0 ; Check features
|
||||
jne .notexttb
|
||||
@@ -1675,6 +1703,16 @@ DisplayGUIVideo:
|
||||
|
||||
GUIDrawWindowBox 5,GUIVideoDisp ; Video Modes List/Options
|
||||
|
||||
xor eax,eax
|
||||
mov al,[cvidmode]
|
||||
cmp byte[GUINTVID+eax],0
|
||||
jne .ntsc
|
||||
mov byte[NTSCFilter],0
|
||||
mov dword[GUIVntscTab],0
|
||||
cmp byte[GUIVideoTabs],0
|
||||
jne .ntsc
|
||||
mov byte[GUIVideoTabs],1
|
||||
.ntsc
|
||||
GUIDrawTArea 5
|
||||
GUIDrawTabs GUIVideoTabs
|
||||
cmp byte[NTSCFilter],0
|
||||
@@ -1905,7 +1943,10 @@ DisplayGUIVideo:
|
||||
|
||||
cmp dword[GUIVntscTab],1
|
||||
jne near .notntsctab
|
||||
DrawGUIButton 5,5,166,42,177,GUIVideoTextG8,37,0,0 ; Button
|
||||
|
||||
GUIDisplayCheckboxu 5,5,25,NTSCBlend,GUIVideoTextG1,0
|
||||
GUIDisplayCheckboxu 5,135,25,NTSCRef,GUIVideoTextG9,0
|
||||
|
||||
GUIDisplayTextY 5,7,46,GUIVideoTextG2
|
||||
GUIDisplayTextY 5,7,66,GUIVideoTextG3
|
||||
@@ -1914,12 +1955,12 @@ DisplayGUIVideo:
|
||||
GUIDisplayTextY 5,7,126,GUIVideoTextG6
|
||||
GUIDisplayTextY 5,7,146,GUIVideoTextG7
|
||||
|
||||
GUIDrawSlider 5,15,100,56,NTSCHue,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,76,NTSCSat,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,96,NTSCCont,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,116,NTSCBright,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,136,NTSCSharp,GUIVideoTextG
|
||||
GUIDrawSlider 5,15,100,156,NTSCWarp,GUIVideoTextG
|
||||
GUIDrawSlider 5,8,200,56,NTSCHue,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
GUIDrawSlider 5,8,200,76,NTSCSat,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
GUIDrawSlider 5,8,200,96,NTSCCont,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
GUIDrawSlider 5,8,200,116,NTSCBright,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
GUIDrawSlider 5,8,200,136,NTSCSharp,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
GUIDrawSlider 5,8,200,156,NTSCWarp,GUIVideoTextG,NTSCslidSet,NTSCslidText
|
||||
.notntsctab
|
||||
ret
|
||||
|
||||
@@ -1963,7 +2004,7 @@ GUIVideoText8 db 'SET',0 ; set button
|
||||
GUIVideoText9 db 'VSYNC',0 ; -c
|
||||
GUIVideoTexte db 'NTSC',0
|
||||
|
||||
GUIVideoTextG db '---%',0
|
||||
GUIVideoTextG db '----%',0
|
||||
GUIVideoTextG1 db 'BLEND FRAMES',0
|
||||
GUIVideoTextG2 db 'HUE:',0
|
||||
GUIVideoTextG3 db 'SATURATION:',0
|
||||
@@ -1971,6 +2012,8 @@ GUIVideoTextG4 db 'CONTRAST:',0
|
||||
GUIVideoTextG5 db 'BRIGHTNESS:',0
|
||||
GUIVideoTextG6 db 'SHARPNESS:',0
|
||||
GUIVideoTextG7 db 'HUE WARPING:',0
|
||||
GUIVideoTextG8 db 'RESET',0
|
||||
GUIVideoTextG9 db 'REFRESH',0
|
||||
|
||||
SECTION .bss
|
||||
GUIVStA resd 3
|
||||
@@ -1979,6 +2022,26 @@ GUIcurrentvideocursloc resd 1
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro VolslidSet 1 ; slider variable
|
||||
mov al,[%1]
|
||||
%endmacro
|
||||
|
||||
%macro VolslidText 2 ; slider var, text
|
||||
mov word[%2],' '
|
||||
mov esi,%2+3
|
||||
mov al,[%1]
|
||||
mov bl,10
|
||||
%%asciilp ; turns decimal into ascii
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
mov esi,%2
|
||||
%endmacro
|
||||
|
||||
DisplayGUISound: ; Sound Related Options
|
||||
GUIDrawWindowBox 6,GUISoundDisp
|
||||
|
||||
@@ -2029,7 +2092,7 @@ DisplayGUISound: ; Sound Related Options
|
||||
add [GUITemp],eax
|
||||
GUIDisplayTextG 6,23,64,[GUITemp]
|
||||
|
||||
GUIDrawSlider 6,15,100,91,MusicRelVol,GUISoundTextC1
|
||||
GUIDrawSlider 6,15,100,91,MusicRelVol,GUISoundTextC1,VolslidSet,VolslidText
|
||||
ret
|
||||
|
||||
SECTION .data
|
||||
@@ -3065,13 +3128,35 @@ GUIGameOptnsTextD2e db '- GAMMA',0
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro GUICslidSet 1 ; slider var
|
||||
mov al,[%1]
|
||||
shl eax,2
|
||||
add eax,2
|
||||
%endmacro
|
||||
|
||||
%macro GUICslidText 2 ; slider var, text
|
||||
mov byte[%2],' '
|
||||
mov esi,%2+2
|
||||
mov al,[%1]
|
||||
mov bl,10
|
||||
%%asciilp ; turns decimal into ascii
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
mov esi,%2
|
||||
%endmacro
|
||||
|
||||
DisplayGUIOptns: ; GUI Options
|
||||
%ifdef __WIN32__ ; If Windows, extend window down
|
||||
mov dword[GUIwinsizey+10*4],192
|
||||
%endif
|
||||
GUIDrawWindowBox 10,GUIGUIDisp
|
||||
|
||||
push eax ; Setup Colors
|
||||
; Setup Colors
|
||||
cmp byte[CurPalSelect],1
|
||||
je .yespal2b
|
||||
cmp byte[CurPalSelect],2
|
||||
@@ -3099,50 +3184,10 @@ DisplayGUIOptns: ; GUI Options
|
||||
mov al,[GUIWBAdd]
|
||||
mov [TBVal2],al
|
||||
.nopal1b
|
||||
pop eax
|
||||
|
||||
mov eax,[GUIwinposx+10*4] ; Slider Bars
|
||||
mov ebx,[GUIwinposy+10*4]
|
||||
mov ecx,eax
|
||||
add eax,25
|
||||
add ecx,25+32*4
|
||||
add ebx,124
|
||||
xor edx,edx
|
||||
mov dl,215
|
||||
sub dl,[GUIWincoladd]
|
||||
DrawGUILine
|
||||
add ebx,11
|
||||
DrawGUILine
|
||||
add ebx,11
|
||||
DrawGUILine
|
||||
inc ecx
|
||||
mov ebx,[GUIwinposy+10*4]
|
||||
inc eax
|
||||
add ebx,125
|
||||
sub dl,13
|
||||
DrawGUILine
|
||||
add ebx,11
|
||||
DrawGUILine
|
||||
add ebx,11
|
||||
DrawGUILine
|
||||
xor eax,eax
|
||||
mov al,[TRVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],120,GUIIconDataSlideBar
|
||||
xor eax,eax
|
||||
mov al,[TGVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],132,GUIIconDataSlideBar
|
||||
xor eax,eax
|
||||
mov al,[TBVal2]
|
||||
shl eax,2
|
||||
mov dword[GUITemp],23
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 10,[GUITemp],144,GUIIconDataSlideBar
|
||||
GUIDrawSlider 10,25,127,124,TRVal2,GUIGUIOptnsTextD2,GUICslidSet,GUICslidText
|
||||
GUIDrawSlider 10,25,127,136,TGVal2,GUIGUIOptnsTextD2,GUICslidSet,GUICslidText
|
||||
GUIDrawSlider 10,25,127,148,TBVal2,GUIGUIOptnsTextD2,GUICslidSet,GUICslidText
|
||||
|
||||
GUIDisplayTextY 10,6,16,GUIGUIOptnsTextA
|
||||
GUIDisplayCheckboxu 10,12,23,mousewrap,GUIGUIOptnsTextA1a,0 ; Checkboxes
|
||||
@@ -3183,51 +3228,8 @@ DisplayGUIOptns: ; GUI Options
|
||||
GUIDisplayButtonHole 10,48,108,byte[CurPalSelect],0 ; Radio Buttons
|
||||
GUIDisplayButtonHole 10,88,108,byte[CurPalSelect],1
|
||||
GUIDisplayButtonHole 10,135,108,byte[CurPalSelect],2
|
||||
|
||||
mov dword[GUIGUIOptnsTextD2],0 ; Display Values for the 3 bars
|
||||
mov esi,GUIGUIOptnsTextD2+2
|
||||
xor eax,eax
|
||||
mov al,[TRVal2]
|
||||
call .processnum
|
||||
GUIDisplayTextG 10,160,123,[GUITemp] ; R
|
||||
|
||||
mov dword[GUIGUIOptnsTextD2],0
|
||||
mov esi,GUIGUIOptnsTextD2+2
|
||||
xor eax,eax
|
||||
mov al,[TGVal2]
|
||||
call .processnum
|
||||
GUIDisplayTextG 10,160,135,[GUITemp] ; G
|
||||
|
||||
mov dword[GUIGUIOptnsTextD2],0
|
||||
mov esi,GUIGUIOptnsTextD2+2
|
||||
xor eax,eax
|
||||
mov al,[TBVal2]
|
||||
call .processnum
|
||||
GUIDisplayTextG 10,160,147,[GUITemp] ; B
|
||||
ret
|
||||
|
||||
.processnum
|
||||
mov ebx,10
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
je .nomore
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
.nomore
|
||||
mov [GUITemp],esi
|
||||
mov byte[GUItextcolor],223
|
||||
ret
|
||||
|
||||
;mousewrap 0 ; 0 = mouse boundries, 1 = mouse wrap
|
||||
;mouseshad 1 ; 0 = no mouse shadow, 1 = mouse shadow
|
||||
;lastcursres 0 ; 0 = go to load, 1 = go to previous menu, 2 = no menu
|
||||
;resetposn 1 ; 0 = no window reset, 1 = window reset
|
||||
|
||||
SECTION .data
|
||||
GUIGUIOptnsTextA db 'GUI SWITCHES:',0
|
||||
GUIGUIOptnsTextA1a db 'MOUSE WRAP',0
|
||||
@@ -3257,7 +3259,7 @@ GUIGUIOptnsTextC2 db 'SAVE MAIN WINDOW POSITION',0
|
||||
GUIGUIOptnsTextC3 db 'ALLOW MULTIPLE INSTANCES',0
|
||||
|
||||
GUIGUIOptnsTextD1 db '@',0
|
||||
GUIGUIOptnsTextD2 dd 0
|
||||
GUIGUIOptnsTextD2 db ' ',0
|
||||
|
||||
SECTION .text
|
||||
|
||||
@@ -4627,6 +4629,41 @@ GUISaveTextZ3 db ' ',0
|
||||
|
||||
SECTION .text
|
||||
|
||||
%macro SpdslidSet 1 ; slider var
|
||||
mov al,[%1]
|
||||
shl eax,1
|
||||
%endmacro
|
||||
|
||||
%macro SpdslidText 2 ; slider var, text
|
||||
mov dword[%2],0
|
||||
mov esi,%2+2
|
||||
mov al,[%1] ; currently emuspeed ranges from 0 to 58
|
||||
mov bl,10
|
||||
cmp al,29 ; this will turn it into '/30' to '30x'
|
||||
jb %%slowmo
|
||||
mov byte[esi],'x' ; adds 'x' after the ff value
|
||||
sub al,28
|
||||
jmp %%asciilp
|
||||
%%slowmo
|
||||
inc esi
|
||||
mov byte[%2],1 ; slomo indicator
|
||||
mov al,30
|
||||
sub al,[%1]
|
||||
%%asciilp ; turns decimal into ascii
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
jne %%asciilp
|
||||
cmp byte[%2],1
|
||||
jne %%done
|
||||
dec esi
|
||||
mov byte[esi],'/' ; adds '/' before the slomo value
|
||||
%%done
|
||||
%endmacro
|
||||
|
||||
DisplayGUISpeed: ;Speed Options
|
||||
GUIDrawWindowBox 21,GUISpeedDisp
|
||||
|
||||
@@ -4720,62 +4757,7 @@ DisplayGUISpeed: ;Speed Options
|
||||
|
||||
cmp byte[frameskip],0
|
||||
jne near .noslider
|
||||
mov eax,[GUIwinposx+21*4] ;Slider
|
||||
mov ebx,[GUIwinposy+21*4]
|
||||
add eax,15
|
||||
add ebx,175
|
||||
mov ecx,eax
|
||||
add ecx,116
|
||||
xor edx,edx
|
||||
mov dl,215
|
||||
sub dl,[GUIWincoladd]
|
||||
DrawGUILine
|
||||
inc ecx
|
||||
inc eax
|
||||
sub dl,13
|
||||
DrawGUILine
|
||||
xor eax,eax
|
||||
mov al,[EmuSpeed]
|
||||
shl eax,1
|
||||
mov dword[GUITemp],11
|
||||
add [GUITemp],eax
|
||||
GUIDisplayIconWin 21,[GUITemp],171,GUIIconDataSlideBar
|
||||
mov dword[GUISpeedTextD1],0
|
||||
mov esi,GUISpeedTextD1+2
|
||||
xor eax,eax ; currently emuspeed ranges from 0 to 58
|
||||
mov al,[EmuSpeed] ; this will turn it into '/30' to '30x'
|
||||
cmp al,29
|
||||
jb .slowmo
|
||||
mov byte[esi],'x' ; adds 'x' after the ff value
|
||||
dec esi
|
||||
sub al,28
|
||||
jmp .asciilp
|
||||
.slowmo
|
||||
mov byte[GUISpeedTextD1],1 ; slomo indicator
|
||||
mov bl,30
|
||||
sub bl,al
|
||||
mov al,bl
|
||||
.asciilp ; turns decimal into ascii
|
||||
mov bl,10
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
cmp al,0
|
||||
je .nomore
|
||||
dec esi
|
||||
xor ah,ah
|
||||
div bl
|
||||
add ah,48
|
||||
mov [esi],ah
|
||||
.nomore
|
||||
cmp byte[GUISpeedTextD1],1
|
||||
jne .convdone
|
||||
dec esi
|
||||
mov byte[esi],'/' ; adds '/' before the slomo value
|
||||
.convdone
|
||||
mov [GUITemp],esi ; Display Value (Green)
|
||||
GUIDisplayTextG 21,78,163,[GUITemp]
|
||||
|
||||
GUIDrawSlider 21,7,116,175,EmuSpeed,GUISpeedTextD1,SpdslidSet,SpdslidText
|
||||
.noslider
|
||||
cmp byte[frameskip],0 ; Determine if AutoFR is enabled
|
||||
je near .auto
|
||||
|
||||
@@ -29,7 +29,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#include "ntsc.h"
|
||||
|
||||
extern unsigned int newengen, nggposng[2];
|
||||
@@ -83,20 +82,21 @@ void Clear2xSaIBuffer()
|
||||
unsigned char ntsc_phase = 0;
|
||||
snes_ntsc_setup_t ntsc_setup;
|
||||
snes_ntsc_t ntsc_snes;
|
||||
extern unsigned char NTSCBlend,NTSCHue,NTSCSat,NTSCCont,NTSCBright,NTSCSharp,NTSCWarp;
|
||||
extern unsigned char NTSCBlend;
|
||||
extern signed char NTSCHue, NTSCSat, NTSCCont, NTSCBright, NTSCSharp, NTSCWarp;
|
||||
|
||||
// Init NTSC filter command, should be called whenever changes are made in the GUI related to the GUI
|
||||
void NTSCFilterInit()
|
||||
{
|
||||
// Set GUI options
|
||||
ntsc_setup.merge_fields = (float) NTSCBlend;
|
||||
ntsc_setup.hue = (float) NTSCHue / 100;
|
||||
ntsc_setup.saturation = (float) NTSCSat / 100;
|
||||
ntsc_setup.contrast = (float) NTSCCont / 100;
|
||||
ntsc_setup.brightness = (float) NTSCBright / 100;
|
||||
ntsc_setup.sharpness = (float) NTSCSharp / 100;
|
||||
ntsc_setup.hue_warping = (float) NTSCWarp / 100;
|
||||
snes_ntsc_init(&ntsc_snes, &ntsc_setup);
|
||||
// Set GUI options
|
||||
ntsc_setup.hue = ((float) NTSCHue) / 100.0;
|
||||
ntsc_setup.saturation = ((float) NTSCSat) / 100.0;
|
||||
ntsc_setup.contrast = ((float) NTSCCont) / 100.0;
|
||||
ntsc_setup.brightness = ((float) NTSCBright) / 100.0;
|
||||
ntsc_setup.sharpness = ((float) NTSCSharp) / 100.0;
|
||||
ntsc_setup.hue_warping = ((float) NTSCWarp) / 100.0;
|
||||
ntsc_setup.merge_fields = (int) NTSCBlend;
|
||||
snes_ntsc_init(&ntsc_snes, &ntsc_setup);
|
||||
}
|
||||
|
||||
void NTSCFilterDraw(int SurfaceX, int SurfaceY, int pitch, unsigned char *buffer)
|
||||
|
||||
@@ -1902,7 +1902,7 @@ void initwinvideo(void)
|
||||
case 5:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 8:
|
||||
WindowWidth=640;
|
||||
WindowHeight=480;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user