Pressing 'T', 'R', 'L', or '/' in the General Options window will no longer toggle the 'Auto Incrmt Save Slot', 'SRAM Check+Save' 'State at Latest Save', and 'Auto State Save/Load' Save Options. Also did some commenting/cleanup of the General Options code.

This commit is contained in:
ipher
2005-05-16 09:40:06 +00:00
parent 4245059926
commit 427b57c142
3 changed files with 68 additions and 66 deletions

View File

@@ -599,7 +599,7 @@ GUIOptionKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'A' cmp dh,'A' ; Checkboxes
jne .noautofr jne .noautofr
mov byte[FPSOn],0 mov byte[FPSOn],0
cmp byte[frameskip],0 cmp byte[frameskip],0
@@ -621,11 +621,6 @@ GUIOptionKeys:
mov [cfgnewgfx],al mov [cfgnewgfx],al
.invalidng .invalidng
.nonewgfx .nonewgfx
cmp dh,'T'
jne .noautoincsave
xor byte[AutoIncSaveSlot],1
mov byte[firstsaveinc],1
.noautoincsave
cmp dh,'M' cmp dh,'M'
jne .nommxcopy jne .nommxcopy
xor byte[MMXSupport],1 xor byte[MMXSupport],1
@@ -647,10 +642,12 @@ GUIOptionKeys:
mov byte[MultiTap],0 mov byte[MultiTap],0
.mtap .mtap
.nousepl34 .nousepl34
%ifdef __MSDOS__
cmp dh,'I' cmp dh,'I'
jne .noswfix jne .noswfix
xor byte[SidewinderFix],1 xor byte[SidewinderFix],1
.noswfix .noswfix
%endif
%ifdef __WIN32__ %ifdef __WIN32__
cmp dh,'H' cmp dh,'H'
jne .nohighpriority jne .nohighpriority
@@ -669,26 +666,14 @@ GUIOptionKeys:
jne .nogameclock jne .nogameclock
xor byte[TimerEnable],1 xor byte[TimerEnable],1
.nogameclock .nogameclock
cmp dh,'G' cmp dh,'G' ; Move to Speed?
jne .nofastforward jne .nofastforward
xor byte[FastFwdToggle],1 xor byte[FastFwdToggle],1
.nofastforward .nofastforward
cmp dh,'R'
jne .nosramcheck
xor byte[SRAMSave5Sec],1
.nosramcheck
cmp dh,'O' cmp dh,'O'
jne .nooldgfx jne .nooldgfx
xor byte[OldGfxMode2],1 xor byte[OldGfxMode2],1
.nooldgfx .nooldgfx
cmp dh,'L'
jne .nostartsave
xor byte[LatestSave],1
.nostartsave
cmp dh,'/'
jne .noautostate
xor byte[AutoState],1
.noautostate
cmp dh,'D' cmp dh,'D'
jne .nosavepath jne .nosavepath
xor byte[DontSavePath],1 xor byte[DontSavePath],1

View File

@@ -2308,7 +2308,7 @@ DisplayGUIInputClick:
ret ret
DisplayGUIOptionClick: DisplayGUIOptionClick:
GUIClickCButtonfr 11,20,byte[frameskip] GUIClickCButtonfr 11,20,byte[frameskip] ; Clickboxes
xor ebx,ebx xor ebx,ebx
mov bl,[cvidmode] mov bl,[cvidmode]
cmp byte[GUINGVID+ebx],1 cmp byte[GUINGVID+ebx],1

View File

@@ -1443,10 +1443,10 @@ GUIcurrentinputviewloc resd 1
GUIcurrentinputcursloc resd 1 GUIcurrentinputcursloc resd 1
SECTION .text SECTION .text
DisplayGUIOption: DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine
; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine
GUIDrawWindowBox 4,GUIOptionDisp GUIDrawWindowBox 4,GUIOptionDisp
mov byte[GUItextcolor],217
mov byte[GUItextcolor],217 ; Shadow
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero je .zero
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
@@ -1480,7 +1480,8 @@ DisplayGUIOption:
%ifdef __WIN32__ %ifdef __WIN32__
GUIOuttextwin2u 4,26,164,GUIOptionTextW,1 GUIOuttextwin2u 4,26,164,GUIOptionTextW,1
%endif %endif
add byte[GUItextcolor],15
add byte[GUItextcolor],15 ; Text
GUIOuttextwin2 4,5,13,[GUITemp] GUIOuttextwin2 4,5,13,[GUITemp]
GUIOuttextwin2 4,25,23,GUIOptionText2 GUIOuttextwin2 4,25,23,GUIOptionText2
GUIOuttextwin2 4,25,33,GUIOptionText3 GUIOuttextwin2 4,25,33,GUIOptionText3
@@ -1504,30 +1505,36 @@ DisplayGUIOption:
%ifdef __WIN32__ %ifdef __WIN32__
GUIOuttextwin2 4,25,163,GUIOptionTextW GUIOuttextwin2 4,25,163,GUIOptionTextW
%endif %endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkboxes
cmp byte[frameskip],0 cmp byte[frameskip],0
jne .nocheckbox jne .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox .nocheckbox
GUIDisplayIconWin 4,11,20,[GUITemp] GUIDisplayIconWin 4,11,20,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[newengen],0 cmp byte[newengen],0
je .nocheckbox1 je .nocheckbox1
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox1 .nocheckbox1
GUIDisplayIconWin 4,11,30,[GUITemp] GUIDisplayIconWin 4,11,30,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[MMXSupport],1 cmp byte[MMXSupport],1
jne .nocheckbox2 jne .nocheckbox2
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox2 .nocheckbox2
GUIDisplayIconWin 4,11,40,[GUITemp] GUIDisplayIconWin 4,11,40,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[pl12s34],0 cmp byte[pl12s34],0
je .nocheckbox3 je .nocheckbox3
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox3 .nocheckbox3
GUIDisplayIconWin 4,11,50,[GUITemp] GUIDisplayIconWin 4,11,50,[GUITemp]
%ifdef __MSDOS__ %ifdef __MSDOS__
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SidewinderFix],0 cmp byte[SidewinderFix],0
@@ -1536,6 +1543,7 @@ DisplayGUIOption:
.nocheckbox4 .nocheckbox4
GUIDisplayIconWin 4,11,60,[GUITemp] GUIDisplayIconWin 4,11,60,[GUITemp]
%endif %endif
%ifdef __WIN32__ %ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[HighPriority],0 cmp byte[HighPriority],0
@@ -1544,60 +1552,70 @@ DisplayGUIOption:
.nocheckbox4 .nocheckbox4
GUIDisplayIconWin 4,11,60,[GUITemp] GUIDisplayIconWin 4,11,60,[GUITemp]
%endif %endif
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FPSAtStart],0 cmp byte[FPSAtStart],0
je .nocheckbox5 je .nocheckbox5
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox5 .nocheckbox5
GUIDisplayIconWin 4,11,70,[GUITemp] GUIDisplayIconWin 4,11,70,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[Turbo30hz],0 cmp byte[Turbo30hz],0
je .nocheckbox6 je .nocheckbox6
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox6 .nocheckbox6
GUIDisplayIconWin 4,11,80,[GUITemp] GUIDisplayIconWin 4,11,80,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[TimerEnable],0 cmp byte[TimerEnable],0
je .nocheckbox7 je .nocheckbox7
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox7 .nocheckbox7
GUIDisplayIconWin 4,11,90,[GUITemp] GUIDisplayIconWin 4,11,90,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FastFwdToggle],0 cmp byte[FastFwdToggle],0
je .nocheckbox8 je .nocheckbox8
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox8 .nocheckbox8
GUIDisplayIconWin 4,11,100,[GUITemp] GUIDisplayIconWin 4,11,100,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[OldGfxMode2],0 cmp byte[OldGfxMode2],0
je .nocheckbox9 je .nocheckbox9
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox9 .nocheckbox9
GUIDisplayIconWin 4,11,110,[GUITemp] GUIDisplayIconWin 4,11,110,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DontSavePath],0 cmp byte[DontSavePath],0
je .nocheckbox10 je .nocheckbox10
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox10 .nocheckbox10
GUIDisplayIconWin 4,11,120,[GUITemp] GUIDisplayIconWin 4,11,120,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SmallMsgText],0 cmp byte[SmallMsgText],0
je .nocheckbox11 je .nocheckbox11
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox11 .nocheckbox11
GUIDisplayIconWin 4,11,130,[GUITemp] GUIDisplayIconWin 4,11,130,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC ;Autopatch Checkbox
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AutoPatch],0 cmp byte[AutoPatch],0
je .nocheckbox12 je .nocheckbox12
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox12 .nocheckbox12
GUIDisplayIconWin 4,11,140,[GUITemp] GUIDisplayIconWin 4,11,140,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[RomInfo],0 cmp byte[RomInfo],0
je .nocheckbox13 je .nocheckbox13
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox13 .nocheckbox13
GUIDisplayIconWin 4,11,150,[GUITemp] GUIDisplayIconWin 4,11,150,[GUITemp]
%ifdef __WIN32__ %ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DisableScreenSaver],0 cmp byte[DisableScreenSaver],0
@@ -1607,32 +1625,10 @@ DisplayGUIOption:
GUIDisplayIconWin 4,11,160,[GUITemp] GUIDisplayIconWin 4,11,160,[GUITemp]
%endif %endif
cmp byte[frameskip],0 ; Determine if AutoFR is enabled
cmp byte[frameskip],0
je near .auto je near .auto
; Draw borders
mov dword[GUIWincol],148+10 DrawGUIWinBox 4,75,12,93,19,167 ; Frameskip (if not AutoFR)
cmp byte[cwindrawn],1
jne .noone3
mov dword[GUIWincol],148+5
.noone3
cmp byte[cwindrawn],0
jne .nozero3
mov dword[GUIWincol],148
.nozero3
mov dl,[GUIWincol]
DrawGUIWinBox 4,75,11,93,11,dl
mov dl,[GUIWincol]
add dl,1
DrawGUIWinBox 4,74,12,74,19,dl
mov dl,[GUIWincol]
add dl,4
DrawGUIWinBox 4,75,20,93,20,dl
mov dl,[GUIWincol]
add dl,3
DrawGUIWinBox 4,95,12,94,19,dl
; End draw borders
DrawGUIWinBox 4,75,12,93,19,167
mov al,[frameskip] mov al,[frameskip]
add al,47 add al,47
mov [GUIOptionTextX],al mov [GUIOptionTextX],al
@@ -1651,31 +1647,31 @@ DisplayGUIOption:
.zero6 .zero6
DrawGUIButton 4,97,12,105,20,GUIOptionTextY,12,-2,-1 DrawGUIButton 4,97,12,105,20,GUIOptionTextY,12,-2,-1
DrawGUIButton 4,108,12,116,20,GUIOptionTextZ,13,-2,-1 DrawGUIButton 4,108,12,116,20,GUIOptionTextZ,13,-2,-1
ret
.auto mov dword[GUIWincol],148+10 ; Draw Borders
; Draw borders
mov dword[GUIWincol],148+10
cmp byte[cwindrawn],1 cmp byte[cwindrawn],1
jne .noone2 jne .noone3
mov dword[GUIWincol],148+5 mov dword[GUIWincol],148+5
.noone2 .noone3
cmp byte[cwindrawn],0 cmp byte[cwindrawn],0
jne .nozero2 jne .nozero3
mov dword[GUIWincol],148 mov dword[GUIWincol],148
.nozero2 .nozero3
mov dl,[GUIWincol] mov dl,[GUIWincol]
DrawGUIWinBox 4,96,11,114,11,dl DrawGUIWinBox 4,75,11,93,11,dl
mov dl,[GUIWincol] mov dl,[GUIWincol]
add dl,1 add dl,1
DrawGUIWinBox 4,95,12,94,19,dl DrawGUIWinBox 4,74,12,73,19,dl
mov dl,[GUIWincol] mov dl,[GUIWincol]
add dl,4 add dl,4
DrawGUIWinBox 4,96,20,114,20,dl DrawGUIWinBox 4,75,20,93,20,dl
mov dl,[GUIWincol] mov dl,[GUIWincol]
add dl,3 add dl,3
DrawGUIWinBox 4,115,12,115,19,dl DrawGUIWinBox 4,95,12,94,19,dl
; End draw borders ret
.auto ; Max Frameskip (if AutoFR)
DrawGUIWinBox 4,96,12,114,19,167 DrawGUIWinBox 4,96,12,114,19,167
mov al,[maxskip] mov al,[maxskip]
add al,48 add al,48
@@ -1695,6 +1691,27 @@ DisplayGUIOption:
.zero7 .zero7
DrawGUIButton 4,118,12,126,20,GUIOptionTextY,12,-2,-1 DrawGUIButton 4,118,12,126,20,GUIOptionTextY,12,-2,-1
DrawGUIButton 4,129,12,137,20,GUIOptionTextZ,13,-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
mov dword[GUIWincol],148+5
.noone2
cmp byte[cwindrawn],0
jne .nozero2
mov dword[GUIWincol],148
.nozero2
mov dl,[GUIWincol]
DrawGUIWinBox 4,96,11,114,11,dl
mov dl,[GUIWincol]
add dl,1
DrawGUIWinBox 4,95,12,94,19,dl
mov dl,[GUIWincol]
add dl,4
DrawGUIWinBox 4,96,20,114,20,dl
mov dl,[GUIWincol]
add dl,3
DrawGUIWinBox 4,116,12,115,19,dl
ret ret
SECTION .data SECTION .data