Window position array brought up to date, speed slider behaviour ok. TODO: save EmuSpeed setting in config file and bind it to current code.
This commit is contained in:
@@ -457,10 +457,34 @@ NEWSYM PrevWinMode, db 0
|
||||
NEWSYM PrevFSMode, db 0
|
||||
%endif
|
||||
|
||||
; Window position index
|
||||
; GAME 1 > Load
|
||||
; 2 > Pick state
|
||||
; 12 > Reset
|
||||
; 14 > Save/Open state
|
||||
; CONFIG 3 > Inputs
|
||||
; 4 > Options
|
||||
; 5 > Video
|
||||
; 6 > Sound
|
||||
; 17 > Add-ons
|
||||
; 18 > Chip cfg
|
||||
; 19 > Paths
|
||||
; 20 > Saves
|
||||
; 21 > Speed
|
||||
; CHEAT 7 > Add/Browse
|
||||
; 13 > Search
|
||||
;(NETPLAY 8 > Internet)
|
||||
; MISC 9 > Misc keys
|
||||
; 10 > GUI opns
|
||||
; 11 > About
|
||||
; 15 > Movie opn
|
||||
; 16 > Key comb.
|
||||
|
||||
;# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
||||
OldWinPos db 0
|
||||
GUIwinposx dd 0,5 ,60 ,30 ,55 ,50 ,65 ,5 ,30 ,20 ,10 ,80 ,65 ,20 ,70 ,50 ,3 ,50
|
||||
GUIwinposx dd 0, 5,60,30,55,50,65, 5,30,20,10,80,65,20,70,50, 3,50,50, 5,10,20
|
||||
GUIwinposxexp times 30 dd 0
|
||||
GUIwinposy dd 0,20 ,70 ,30 ,20 ,22 ,36 ,20 ,30 ,20 ,30 ,70 ,60 ,30 ,65 ,50 ,22 ,60
|
||||
GUIwinposy dd 0,20,70,30,20,22,36,20,30,20,30,20,60,30,65,50,22,60,20,20,20,20
|
||||
GUIwinposyexp times 30 dd 0
|
||||
|
||||
NEWSYM GUIEffect, db 0
|
||||
@@ -1172,7 +1196,7 @@ LoadDetermine:
|
||||
mov byte[GUIMiscMenuData+14*2],1
|
||||
mov byte[GUINetPlayMenuData],2 ; Gray out Netplay options
|
||||
%ifdef __MSDOS__
|
||||
mov byte[GUINetPlayMenuData+14],2
|
||||
mov byte[GUINetPlayMenuData+14],2
|
||||
%endif
|
||||
cmp byte[romloadskip],0
|
||||
je .noromloaded
|
||||
|
||||
@@ -46,7 +46,7 @@ ProcessMouse:
|
||||
mov edx,223
|
||||
call Set_MouseYMax
|
||||
.noholda
|
||||
cmp byte[GUIHold],1
|
||||
cmp byte[GUIHold],1 ; GUI Windows
|
||||
jne .nohold1
|
||||
mov ecx,0
|
||||
mov edx,255
|
||||
@@ -69,7 +69,7 @@ ProcessMouse:
|
||||
mov edx,[GUIHoldYlim]
|
||||
call Set_MouseYMax
|
||||
.nohold2m
|
||||
cmp byte[GUIHold],3
|
||||
cmp byte[GUIHold],3 ; Scrollbars
|
||||
jne .nohold3m
|
||||
mov ecx,[GUIHoldXlimL]
|
||||
mov edx,[GUIHoldXlimR]
|
||||
@@ -344,6 +344,8 @@ ProcessMouseButtons:
|
||||
je near .hold4
|
||||
cmp byte[GUIHold],5
|
||||
je near .hold5
|
||||
cmp byte[GUIHold],6
|
||||
je near .hold6
|
||||
cmp byte[GUIHold],1
|
||||
je near .hold
|
||||
cmp byte[GUIHold],255
|
||||
@@ -360,20 +362,20 @@ ProcessMouseButtons:
|
||||
call Set_MousePosition
|
||||
ret
|
||||
.hold2
|
||||
; Slide Bar Hold
|
||||
; Colour Slide Bar Hold
|
||||
mov eax,[GUIHoldYlim]
|
||||
mov [GUImouseposy],eax
|
||||
mov ebx,[GUImouseposx]
|
||||
mov eax,[GUIHoldXlimL]
|
||||
cmp ebx,eax
|
||||
jnl .noless
|
||||
jnl .noless2
|
||||
mov [GUImouseposx],eax
|
||||
.noless
|
||||
.noless2
|
||||
mov eax,[GUIHoldXlimR]
|
||||
cmp ebx,eax
|
||||
jng .nogreat
|
||||
jng .nogreat2
|
||||
mov [GUImouseposx],eax
|
||||
.nogreat
|
||||
.nogreat2
|
||||
mov byte[lastmouseholded],1
|
||||
jmp DisplayGUIOptnsClick
|
||||
.hold3
|
||||
@@ -406,17 +408,17 @@ ProcessMouseButtons:
|
||||
mov edx,[GUImouseposy]
|
||||
sub edx,[GUIwinposy+ebx*4]
|
||||
cmp eax,[GUIHoldXlimL]
|
||||
jl near .nobhold
|
||||
jl near .nobhold4
|
||||
cmp edx,[GUIHoldYlim]
|
||||
jl near .nobhold
|
||||
jl near .nobhold4
|
||||
cmp eax,[GUIHoldXlimR]
|
||||
jg near .nobhold
|
||||
jg near .nobhold4
|
||||
cmp edx,[GUIHoldYlimR]
|
||||
jg near .nobhold
|
||||
jg near .nobhold4
|
||||
mov al,[GUICBHold2]
|
||||
mov [GUICBHold],al
|
||||
ret
|
||||
.nobhold
|
||||
.nobhold4
|
||||
mov byte[GUICBHold],0
|
||||
ret
|
||||
.hold5
|
||||
@@ -426,16 +428,33 @@ ProcessMouseButtons:
|
||||
mov ebx,[GUImouseposx]
|
||||
mov eax,[GUIHoldXlimL]
|
||||
cmp ebx,eax
|
||||
jnl .nolessa
|
||||
jnl .noless5
|
||||
mov [GUImouseposx],eax
|
||||
.nolessa
|
||||
.noless5
|
||||
mov eax,[GUIHoldXlimR]
|
||||
cmp ebx,eax
|
||||
jng .nogreata
|
||||
jng .nogreat5
|
||||
mov [GUImouseposx],eax
|
||||
.nogreata
|
||||
.nogreat5
|
||||
mov byte[lastmouseholded],1
|
||||
jmp DisplayGUISoundClick
|
||||
.hold6
|
||||
; Speed Slide Bar Hold
|
||||
mov eax,[GUIHoldYlim]
|
||||
mov [GUImouseposy],eax
|
||||
mov ebx,[GUImouseposx]
|
||||
mov eax,[GUIHoldXlimL]
|
||||
cmp ebx,eax
|
||||
jnl .noless6
|
||||
mov [GUImouseposx],eax
|
||||
.noless6
|
||||
mov eax,[GUIHoldXlimR]
|
||||
cmp ebx,eax
|
||||
jng .nogreat6
|
||||
mov [GUImouseposx],eax
|
||||
.nogreat6
|
||||
mov byte[lastmouseholded],1
|
||||
jmp DisplayGUISpeedClick
|
||||
.hold
|
||||
cmp word[GUImouseposy],16
|
||||
jge .noover
|
||||
@@ -467,7 +486,6 @@ ProcessMouseButtons:
|
||||
mov byte[GUIpclicked],0
|
||||
mov byte[GUIHold],0
|
||||
|
||||
|
||||
%ifdef __LINUX__
|
||||
cmp byte[GUIcwinpress],1
|
||||
jne .notwinpressa
|
||||
@@ -2313,7 +2331,7 @@ DisplayGUIOptionClick:
|
||||
mov bl,[cvidmode]
|
||||
cmp byte[GUINGVID+ebx],1
|
||||
jne near .invalidng
|
||||
GUIClickCButton2 11,30,byte[newengen],byte[cfgnewgfx],1
|
||||
GUIClickCButton2 11,30,byte[newengen],byte[cfgnewgfx],1
|
||||
.invalidng
|
||||
GUIClickCButtonMMX 11,40,byte[MMXSupport]
|
||||
GUIClickCButtonM 11,50,byte[pl12s34]
|
||||
@@ -3227,13 +3245,17 @@ DisplayGUISaveClick:
|
||||
ret
|
||||
|
||||
DisplayGUISpeedClick:
|
||||
mov eax,[GUImouseposx] ; this updates the mouse location
|
||||
sub eax,[GUIwinposx+21*4] ; effectively 'grabbing' the cursor !
|
||||
mov edx,[GUImouseposy]
|
||||
sub edx,[GUIwinposy+21*4]
|
||||
GUIClickCButton 11,125,byte[FastFwdToggle] ; Checkbox
|
||||
|
||||
|
||||
DGOptnsProcBox 12,58,[KeyFastFrwrd] ; Shortcut Boxes
|
||||
DGOptnsProcBox 12,68,[KeySlowDown]
|
||||
DGOptnsProcBox 12,78,[KeyResetSpeed]
|
||||
|
||||
; Speed Slider
|
||||
; Speed Slider
|
||||
cmp eax,15 ; X-Range for click-area
|
||||
jl near .nomovebar
|
||||
cmp eax,15+116
|
||||
@@ -3244,8 +3266,8 @@ DisplayGUISpeedClick:
|
||||
jl near .nomovebar
|
||||
cmp edx,33
|
||||
jg near .nomovebar
|
||||
mov [EmuSpeed],al ; Lock mouse to bar when clicked
|
||||
mov byte[GUIHold],6
|
||||
mov [EmuSpeed],al
|
||||
mov byte[GUIHold],6 ; Lock mouse to bar when clicked
|
||||
mov eax,[GUIwinposy+21*4]
|
||||
add eax,31
|
||||
mov [GUIHoldYlim],eax
|
||||
|
||||
@@ -1445,7 +1445,7 @@ SECTION .text
|
||||
|
||||
DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine
|
||||
GUIDrawWindowBox 4,GUIOptionDisp
|
||||
|
||||
|
||||
mov byte[GUItextcolor],217 ; Shadow
|
||||
cmp byte[GUIWincoladd],0
|
||||
je .zero
|
||||
@@ -1511,28 +1511,28 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox
|
||||
GUIDisplayIconWin 4,11,20,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[newengen],0
|
||||
je .nocheckbox1
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox1
|
||||
GUIDisplayIconWin 4,11,30,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[MMXSupport],1
|
||||
jne .nocheckbox2
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox2
|
||||
GUIDisplayIconWin 4,11,40,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[pl12s34],0
|
||||
je .nocheckbox3
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox3
|
||||
GUIDisplayIconWin 4,11,50,[GUITemp]
|
||||
|
||||
|
||||
%ifdef __MSDOS__
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[SidewinderFix],0
|
||||
@@ -1557,14 +1557,14 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox5
|
||||
GUIDisplayIconWin 4,11,70,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[Turbo30hz],0
|
||||
je .nocheckbox6
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox6
|
||||
GUIDisplayIconWin 4,11,80,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[TimerEnable],0
|
||||
je .nocheckbox7
|
||||
@@ -1578,35 +1578,35 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox8
|
||||
GUIDisplayIconWin 4,11,100,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[DontSavePath],0
|
||||
je .nocheckbox9
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox9
|
||||
GUIDisplayIconWin 4,11,110,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[SmallMsgText],0
|
||||
je .nocheckbox10
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox10
|
||||
GUIDisplayIconWin 4,11,120,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[AutoPatch],0
|
||||
je .nocheckbox11
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox11
|
||||
GUIDisplayIconWin 4,11,130,[GUITemp]
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[RomInfo],0
|
||||
je .nocheckbox12
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox12
|
||||
GUIDisplayIconWin 4,11,140,[GUITemp]
|
||||
|
||||
|
||||
%ifdef __WIN32__
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC
|
||||
cmp byte[DisableScreenSaver],0
|
||||
@@ -1618,7 +1618,7 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
|
||||
cmp byte[frameskip],0 ; Determine if AutoFR is enabled
|
||||
je near .auto
|
||||
|
||||
|
||||
DrawGUIWinBox 4,75,12,93,19,167 ; Frameskip (if not AutoFR)
|
||||
mov al,[frameskip]
|
||||
add al,47
|
||||
@@ -1638,7 +1638,7 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
.zero6
|
||||
DrawGUIButton 4,97,12,105,20,GUIOptionTextY,12,-2,-1
|
||||
DrawGUIButton 4,108,12,116,20,GUIOptionTextZ,13,-2,-1
|
||||
|
||||
|
||||
mov dword[GUIWincol],148+10 ; Draw Borders
|
||||
cmp byte[cwindrawn],1
|
||||
jne .noone3
|
||||
@@ -1682,7 +1682,7 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
|
||||
.zero7
|
||||
DrawGUIButton 4,118,12,126,20,GUIOptionTextY,12,-2,-1
|
||||
DrawGUIButton 4,129,12,137,20,GUIOptionTextZ,13,-2,-1
|
||||
|
||||
|
||||
mov dword[GUIWincol],148+10 ; Draw borders
|
||||
cmp byte[cwindrawn],1
|
||||
jne .noone2
|
||||
@@ -4739,7 +4739,7 @@ DisplayGUIMovies: ; Movie Record/Playback options
|
||||
mov al,[GUIWincol] ; Shadow (Yellow)
|
||||
mov byte[GUItextcolor],al
|
||||
GUIOuttextwin2 15,6,162,GUIMovieTextZ
|
||||
|
||||
|
||||
mov byte[GUItextcolor],163 ; Text (Yellow)
|
||||
cmp byte[GUIWincoladd],0
|
||||
je .zero5
|
||||
@@ -5682,7 +5682,7 @@ DisplayGUIChipConfig:
|
||||
mov byte[GUItextcolor],163 ; Yellow Text
|
||||
cmp byte[GUIWincoladd],0
|
||||
je .zero8
|
||||
mov byte[GUItextcolor],164
|
||||
mov byte[GUItextcolor],164
|
||||
.zero8
|
||||
GUIOuttextwin2 18,9,37,GUIChipTextA
|
||||
.endEE2
|
||||
@@ -6387,22 +6387,21 @@ DisplayGUISpeed: ;Speed Options
|
||||
DGOptnsBorderBox 21,11,67
|
||||
DGOptnsBorderBox 21,11,77
|
||||
|
||||
|
||||
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkbox
|
||||
cmp byte[FastFwdToggle],0
|
||||
je .nocheckbox
|
||||
mov dword[GUITemp],GUIIconDataCheckBoxC
|
||||
.nocheckbox
|
||||
GUIDisplayIconWin 21,11,125,[GUITemp]
|
||||
GUIDisplayIconWin 21,11,125,[GUITemp]
|
||||
|
||||
|
||||
mov eax,dword[GUIwinposx+21*4] ;Slider
|
||||
mov ebx,dword[GUIwinposy+21*4]
|
||||
mov ecx,eax
|
||||
add eax,15
|
||||
add ecx,15+116
|
||||
; add ebx,91
|
||||
add ebx,31
|
||||
mov ecx,eax
|
||||
add ecx,116
|
||||
xor edx,edx
|
||||
mov dl,215
|
||||
sub dl,[GUIWincoladd]
|
||||
|
||||
Reference in New Issue
Block a user