New Macro! GUIKeyCheckbox is now used to declare a hotkey for a toggle-checkbox.

This commit is contained in:
ipher
2005-05-31 19:31:31 +00:00
parent 34022d657f
commit 7956fc55da

View File

@@ -125,6 +125,13 @@
%%noclick %%noclick
%endmacro %endmacro
%macro GUIKeyCheckbox 2
cmp dh,%2
jne %%nohotkey
xor byte[%1],1
%%nohotkey
%endmacro
SECTION .bss SECTION .bss
GUIfirstkey resd 1 GUIfirstkey resd 1
GUIlastkey resd 1 GUIlastkey resd 1
@@ -721,7 +728,7 @@ GUIOptionKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'N' cmp dh,'N' ; Checkboxes
jne .nonewgfx jne .nonewgfx
xor eax,eax xor eax,eax
mov al,[cvidmode] mov al,[cvidmode]
@@ -754,58 +761,22 @@ GUIOptionKeys:
.mtap .mtap
.nousepl34 .nousepl34
%ifdef __MSDOS__ %ifdef __MSDOS__
cmp dh,'I' GUIKeyCheckbox SidewinderFix,'I'
jne .noswfix
xor byte[SidewinderFix],1
.noswfix
%endif %endif
%ifdef __WIN32__ %ifdef __WIN32__
cmp dh,'H' GUIKeyCheckbox HighPriority,'H'
jne .nohighpriority
xor byte[HighPriority],1
.nohighpriority
%endif %endif
cmp dh,'F' GUIKeyCheckbox FPSAtStart,'F'
jne .nofpsatstart GUIKeyCheckbox Turbo30hz,'E'
xor byte[FPSAtStart],1 GUIKeyCheckbox TimerEnable,'C'
.nofpsatstart GUIKeyCheckbox OldGfxMode2,'O'
cmp dh,'E' GUIKeyCheckbox DontSavePath,'D'
jne .nouse30hz GUIKeyCheckbox SmallMsgText,'S'
xor byte[Turbo30hz],1 GUIKeyCheckbox AutoPatch,'P'
.nouse30hz GUIKeyCheckbox RomInfo,'T'
cmp dh,'C' GUIKeyCheckbox AllowUDLR,'A'
jne .nogameclock
xor byte[TimerEnable],1
.nogameclock
cmp dh,'O'
jne .nooldgfx
xor byte[OldGfxMode2],1
.nooldgfx
cmp dh,'D'
jne .nosavepath
xor byte[DontSavePath],1
.nosavepath
cmp dh,'S'
jne .nosmallmsgtext
xor byte[SmallMsgText],1
.nosmallmsgtext
cmp dh,'P'
jne .noautopatch
xor byte[AutoPatch],1
.noautopatch
cmp dh,'T'
jne .norominfo
xor byte[RomInfo],1
.norominfo
cmp dh,'A'
jne .noallowudlr
xor byte[AllowUDLR],1
.noallowudlr
%ifdef __WIN32__ %ifdef __WIN32__
cmp dh,'I' GUIKeyCheckbox DisableScreenSaver,'I'
jne .noscreensaver
xor byte[DisableScreenSaver],1
.noscreensaver
%endif %endif
ret ret
@@ -834,30 +805,13 @@ GUISaveKeys:
xor byte[AutoIncSaveSlot],1 xor byte[AutoIncSaveSlot],1
mov byte[firstsaveinc],1 mov byte[firstsaveinc],1
.noautoincsave .noautoincsave
cmp dh,'C'
jne .nosramcheck GUIKeyCheckbox SRAMSave5Sec,'C'
xor byte[SRAMSave5Sec],1 GUIKeyCheckbox LatestSave,'S'
.nosramcheck GUIKeyCheckbox AutoState,'A'
cmp dh,'S' GUIKeyCheckbox SRAMState,'L'
jne .nostartsave GUIKeyCheckbox PauseLoad,'P'
xor byte[LatestSave],1 GUIKeyCheckbox PauseRewind,'R'
.nostartsave
cmp dh,'A'
jne .noautostate
xor byte[AutoState],1
.noautostate
cmp dh,'L'
jne .nosramstate
xor byte[SRAMState],1
.nosramstate
cmp dh,'P'
jne .nopauseload
xor byte[PauseLoad],1
.nopauseload
cmp dh,'R'
jne .nopauserewind
xor byte[PauseRewind],1
.nopauserewind
ret ret
GUISpeedKeys: GUISpeedKeys:
@@ -867,10 +821,8 @@ GUISpeedKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'T' ; Checkbox GUIKeyCheckbox FastFwdToggle,'T' ; Checkbox
jne .nofastforward
xor byte[FastFwdToggle],1
.nofastforward
cmp dh,'A' ; Framerate Checkboxes cmp dh,'A' ; Framerate Checkboxes
jne .noautofr jne .noautofr
mov byte[FPSOn],0 mov byte[FPSOn],0
@@ -920,30 +872,13 @@ GUIChipKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'1' ;Checkboxes
jne .nonssdip1 GUIKeyCheckbox nssdip1,'1' ; Checkboxes
xor byte[nssdip1],1 GUIKeyCheckbox nssdip2,'2'
.nonssdip1 GUIKeyCheckbox nssdip3,'3'
cmp dh,'2' GUIKeyCheckbox nssdip4,'4'
jne .nonssdip2 GUIKeyCheckbox nssdip5,'5'
xor byte[nssdip2],1 GUIKeyCheckbox nssdip6,'6'
.nonssdip2
cmp dh,'3'
jne .nonssdip3
xor byte[nssdip3],1
.nonssdip3
cmp dh,'4'
jne .nonssdip4
xor byte[nssdip4],1
.nonssdip4
cmp dh,'5'
jne .nonssdip5
xor byte[nssdip5],1
.nonssdip5
cmp dh,'6'
jne .nonssdip6
xor byte[nssdip6],1
.nonssdip6
ret ret
GUIGUIOptnsKeys: GUIGUIOptnsKeys:
@@ -953,35 +888,14 @@ GUIGUIOptnsKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'M' GUIKeyCheckbox mousewrap,'M' ; Checkboxes
jne .guioptn1 GUIKeyCheckbox mouseshad,'S'
xor byte[mousewrap],1 GUIKeyCheckbox lastcursres,'K'
.guioptn1 GUIKeyCheckbox resetposn,'W'
cmp dh,'S' GUIKeyCheckbox GUIClick,'C'
jne .guioptn2 GUIKeyCheckbox JoyPad1Move,'U'
xor byte[mouseshad],1 GUIKeyCheckbox GUIEnableTransp,'T'
.guioptn2
cmp dh,'K'
jne .guioptn3
xor byte[lastcursres],1
.guioptn3
cmp dh,'W'
jne .guioptn4
xor byte[resetposn],1
.guioptn4
cmp dh,'C'
jne .guioptn5
xor byte[GUIClick],1
.guioptn5
cmp dh,'U'
jne .guioptn6
xor byte[JoyPad1Move],1
.guioptn6
cmp dh,'T'
jne .guioptn7
xor byte[GUIEnableTransp],1
.guioptn7
cmp dh,'F' cmp dh,'F'
jne .guioptn8 jne .guioptn8
xor byte[FilteredGUI],1 xor byte[FilteredGUI],1
@@ -999,6 +913,7 @@ GUIGUIOptnsKeys:
call Clear2xSaIBuffer call Clear2xSaIBuffer
popad popad
.guioptn9 .guioptn9
cmp dh,'N' cmp dh,'N'
jne .guioptn10 jne .guioptn10
GUIkeystoggleoptn byte[GUIEffect],1 GUIkeystoggleoptn byte[GUIEffect],1
@@ -1016,27 +931,11 @@ GUIGUIOptnsKeys:
GUIkeystoggleoptn byte[GUIEffect],3 GUIkeystoggleoptn byte[GUIEffect],3
.guioptn13 .guioptn13
%ifdef __WIN32__ %ifdef __WIN32__
cmp dh,'H' GUIKeyCheckbox MouseWheel,'H'
jne .guioptn14 GUIKeyCheckbox TrapMouseCursor,'P'
xor byte[MouseWheel],1 GUIKeyCheckbox AlwaysOnTop,'A'
.guioptn14 GUIKeyCheckbox SaveMainWindowPos,'V'
cmp dh,'P' GUIKeyCheckbox AllowMultipleInst,'L'
jne .guioptn15
xor byte[TrapMouseCursor],1
.guioptn15
cmp dh,'A'
jne .guioptn16
xor byte[AlwaysOnTop],1
.guioptn16
cmp dh,'V'
jne .guioptn17
xor byte[SaveMainWindowPos],1
.guioptn17
cmp dh,'L'
jne .guioptn18
xor byte[AllowMultipleInst],1
.guioptn18
%endif %endif
ret ret
@@ -1723,10 +1622,7 @@ GUIMovieKeys:
mov byte[MovieStartMethod],3 mov byte[MovieStartMethod],3
.nopowsram .nopowsram
cmp dh,'D' ;Checkbox GUIKeyCheckbox MovieDisplayFrame,'D'
jne .nodisplay
xor byte[MovieDisplayFrame],1
.nodisplay
ret ret