Keyboard shortcuts for radio buttons now has its own macro (GUIKeyButtonHole)

This commit is contained in:
ipher
2005-06-01 13:48:27 +00:00
parent 5c7a33b3c6
commit 0605541134
3 changed files with 54 additions and 133 deletions

View File

@@ -132,6 +132,13 @@
%%nohotkey %%nohotkey
%endmacro %endmacro
%macro GUIKeyButtonHole 3
cmp dh,%3
jne %%nohotkey
mov byte[%1],%2
%%nohotkey
%endmacro
SECTION .bss SECTION .bss
GUIfirstkey resd 1 GUIfirstkey resd 1
GUIlastkey resd 1 GUIlastkey resd 1
@@ -843,26 +850,11 @@ GUIAddonKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'N' ;Radio Buttons GUIKeyButtonHole snesmouse,0,'N' ;Radio Buttons
jne .nonone GUIKeyButtonHole snesmouse,1,'1'
mov byte[snesmouse],0 GUIKeyButtonHole snesmouse,2,'2'
.nonone GUIKeyButtonHole snesmouse,3,'S'
cmp dh,'1' GUIKeyButtonHole snesmouse,4,'L'
jne .nomouse1
mov byte[snesmouse],1
.nomouse1
cmp dh,'2'
jne .nomouse2
mov byte[snesmouse],2
.nomouse2
cmp dh,'S'
jne .nosuperscope
mov byte[snesmouse],3
.nosuperscope
cmp dh,'L'
jne .nolethalgun
mov byte[snesmouse],4
.nolethalgun
ret ret
GUIChipKeys: GUIChipKeys:
@@ -872,7 +864,6 @@ GUIChipKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
GUIKeyCheckbox nssdip1,'1' ; Checkboxes GUIKeyCheckbox nssdip1,'1' ; Checkboxes
GUIKeyCheckbox nssdip2,'2' GUIKeyCheckbox nssdip2,'2'
GUIKeyCheckbox nssdip3,'3' GUIKeyCheckbox nssdip3,'3'
@@ -1333,6 +1324,7 @@ GUISoundKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'E' cmp dh,'E'
jne .notenablesound jne .notenablesound
xor byte[cfgsoundon],1 xor byte[cfgsoundon],1
@@ -1342,57 +1334,38 @@ GUISoundKeys:
popad popad
%endif %endif
.notenablesound .notenablesound
%ifdef __MSDOS__ %ifdef __MSDOS__
cmp dh,'F' GUIKeyCheckbox cfgforce8b,'F'
jne .notforce8b
xor byte[cfgforce8b],1
.notforce8b
%endif %endif
cmp dh,'S' GUIKeyCheckbox cfgStereoSound,'S'
jne .notstereo
xor byte[cfgStereoSound],1
.notstereo
%ifdef __MSDOS__ %ifdef __MSDOS__
cmp dh,'A' GUIKeyCheckbox RaisePitch,'A'
jne .noraisepitch
xor byte[RaisePitch],1
.noraisepitch
%endif %endif
cmp dh,'P' GUIKeyCheckbox PrimaryBuffer,'P'
jne .noprimarybuffer GUIKeyCheckbox RevStereo,'V'
xor byte[PrimaryBuffer],1 GUIKeyCheckbox Surround,'U'
.noprimarybuffer GUIKeyCheckbox SoundBufEn,'B'
cmp dh,'R' GUIKeyCheckbox SPCDisable,'D'
cmp dh,'R' ; Sampling Rate
jne .notsrate jne .notsrate
xor eax,eax xor eax,eax
mov al,[cfgSoundQuality] mov al,[cfgSoundQuality]
mov al,[.sampratenext+eax] mov al,[.sampratenext+eax]
mov [cfgSoundQuality],al mov [cfgSoundQuality],al
.notsrate .notsrate
cmp dh,'V'
jne .notrevst
xor byte[RevStereo],1
.notrevst
cmp dh,'U'
jne .nosurround
xor byte[Surround],1
.nosurround
cmp dh,'B'
jne .nosoundbuf
xor byte[SoundBufEn],1
.nosoundbuf
cmp dh,'D'
jne .nospcdisable
xor byte[SPCDisable],1
.nospcdisable
cmp dh,'G' cmp dh,'G'
jne .nogausseninterp jne .nogausseninterp
GUIkeystoggleoptn byte[SoundInterpType],1 GUIkeystoggleoptn byte[SoundInterpType],1
.nogausseninterp .nogausseninterp
cmp dh,'C' cmp dh,'C'
jne .nocubicinterp jne .nocubicinterp
GUIkeystoggleoptn byte[SoundInterpType],2 GUIkeystoggleoptn byte[SoundInterpType],2
.nocubicinterp .nocubicinterp
%ifndef __MSDOS__ %ifndef __MSDOS__
cmp dh,'8' cmp dh,'8'
jne .no8ptinterp jne .no8ptinterp
@@ -1401,14 +1374,17 @@ GUISoundKeys:
GUIkeystoggleoptn byte[SoundInterpType],3 GUIkeystoggleoptn byte[SoundInterpType],3
.no8ptinterp .no8ptinterp
%endif %endif
cmp dh,'I' cmp dh,'I'
jne .nosimplefilter jne .nosimplefilter
GUIkeystoggleoptn byte[LowPassFilterType],1 GUIkeystoggleoptn byte[LowPassFilterType],1
.nosimplefilter .nosimplefilter
cmp dh,'Y' cmp dh,'Y'
jne .nodynamicfilter jne .nodynamicfilter
GUIkeystoggleoptn byte[LowPassFilterType],2 GUIkeystoggleoptn byte[LowPassFilterType],2
.nodynamicfilter .nodynamicfilter
%ifndef __MSDOS__ %ifndef __MSDOS__
cmp dh,'H' cmp dh,'H'
jne .nohiqualityfilter jne .nohiqualityfilter
@@ -1417,6 +1393,7 @@ GUISoundKeys:
GUIkeystoggleoptn byte[LowPassFilterType],3 GUIkeystoggleoptn byte[LowPassFilterType],3
.nohiqualityfilter .nohiqualityfilter
%endif %endif
ret ret
SECTION .data SECTION .data
@@ -1550,82 +1527,26 @@ GUIMovieKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
; Ratio Buttons
cmp dh,'0' ;Select : Ratio Buttons GUIKeyButtonHole CMovieExt,'v','0' ; Select Radio Buttons
jne .noselect0 GUIKeyButtonHole CMovieExt,'1','1'
mov byte[CMovieExt],'v' GUIKeyButtonHole CMovieExt,'2','2'
.noselect0 GUIKeyButtonHole CMovieExt,'3','3'
GUIKeyButtonHole CMovieExt,'4','4'
GUIKeyButtonHole CMovieExt,'5','5'
GUIKeyButtonHole CMovieExt,'6','6'
GUIKeyButtonHole CMovieExt,'7','7'
GUIKeyButtonHole CMovieExt,'8','8'
GUIKeyButtonHole CMovieExt,'9','9'
cmp dh,'1' GUIKeyButtonHole MovieStartMethod,0,'N' ; Start From Radio Buttons
jne .noselect1 GUIKeyButtonHole MovieStartMethod,1,'P'
mov byte[CMovieExt],'1' GUIKeyButtonHole MovieStartMethod,2,'R'
.noselect1 GUIKeyButtonHole MovieStartMethod,3,'S'
cmp dh,'2' GUIKeyCheckbox MovieDisplayFrame,'D' ; Checkbox
jne .noselect2
mov byte[CMovieExt],'2'
.noselect2
cmp dh,'3'
jne .noselect3
mov byte[CMovieExt],'3'
.noselect3
cmp dh,'4'
jne .noselect4
mov byte[CMovieExt],'4'
.noselect4
cmp dh,'5'
jne .noselect5
mov byte[CMovieExt],'5'
.noselect5
cmp dh,'6'
jne .noselect6
mov byte[CMovieExt],'6'
.noselect6
cmp dh,'7'
jne .noselect7
mov byte[CMovieExt],'7'
.noselect7
cmp dh,'8'
jne .noselect8
mov byte[CMovieExt],'8'
.noselect8
cmp dh,'9'
jne .noselect9
mov byte[CMovieExt],'9'
.noselect9
cmp dh,'N' ;Start From Ratio Buttons
jne .nonow
mov byte[MovieStartMethod],0
.nonow
cmp dh,'P'
jne .nopower
mov byte[MovieStartMethod],1
.nopower
cmp dh,'R'
jne .noreset
mov byte[MovieStartMethod],2
.noreset
cmp dh,'S'
jne .nopowsram
mov byte[MovieStartMethod],3
.nopowsram
GUIKeyCheckbox MovieDisplayFrame,'D'
ret ret
GUIComboKeys: GUIComboKeys:
; Calculate Position ; Calculate Position
xor eax,eax xor eax,eax

View File

@@ -2828,7 +2828,7 @@ DisplayGUIOptnsClick:
GUIClickCButton 12,188,byte[AllowMultipleInst] GUIClickCButton 12,188,byte[AllowMultipleInst]
%endif %endif
GUIPButtonHole 48,108,byte[CurPalSelect],0 ; Ratio Buttons GUIPButtonHole 48,108,byte[CurPalSelect],0 ; Radio Buttons
GUIPButtonHole 88,108,byte[CurPalSelect],1 GUIPButtonHole 88,108,byte[CurPalSelect],1
GUIPButtonHole 135,108,byte[CurPalSelect],2 GUIPButtonHole 135,108,byte[CurPalSelect],2

View File

@@ -702,7 +702,7 @@ DisplayGUILoad:
mov bl,[GUILoadPos] mov bl,[GUILoadPos]
mov byte[GUILoadTextA+ebx],0 mov byte[GUILoadTextA+ebx],0
%ifdef __MSDOS__ ; Ratio Buttons %ifdef __MSDOS__ ; Radio Buttons
GUIDisplayButtonHole 1,9,163,byte[GUIloadfntype],0 GUIDisplayButtonHole 1,9,163,byte[GUIloadfntype],0
GUIDisplayButtonHole 1,9,171,byte[GUIloadfntype],1 GUIDisplayButtonHole 1,9,171,byte[GUIloadfntype],1
GUIDisplayButtonHole 1,9,179,byte[GUIloadfntype],2 GUIDisplayButtonHole 1,9,179,byte[GUIloadfntype],2
@@ -880,7 +880,7 @@ DisplayGUIChoseSave: ; Pick Save State
mov byte[GUIChoseSaveText2],'9' mov byte[GUIChoseSaveText2],'9'
GUIDisplayText 2,101,46,GUIChoseSaveText2 GUIDisplayText 2,101,46,GUIChoseSaveText2
mov dword[GUITemp],GUIIconDataButtonHole ; Ratio Buttons mov dword[GUITemp],GUIIconDataButtonHole ; Radio Buttons
mov ebx,[statefileloc] mov ebx,[statefileloc]
mov al,byte[fnamest+ebx] mov al,byte[fnamest+ebx]
mov [GUIChoseSaveText2],al mov [GUIChoseSaveText2],al
@@ -2274,7 +2274,7 @@ DisplayGUISearch:
.zero2 .zero2
DrawGUIButton 13,95,140,140,152,GUICSrcTextA3,50,0,1 DrawGUIButton 13,95,140,140,152,GUICSrcTextA3,50,0,1
GUIDisplayButtonHole 13,11,28,byte[CheatSrcByteSize],0 ; Ratio Buttons GUIDisplayButtonHole 13,11,28,byte[CheatSrcByteSize],0 ; Radio Buttons
GUIDisplayButtonHole 13,11,38,byte[CheatSrcByteSize],1 GUIDisplayButtonHole 13,11,38,byte[CheatSrcByteSize],1
GUIDisplayButtonHole 13,11,48,byte[CheatSrcByteSize],2 GUIDisplayButtonHole 13,11,48,byte[CheatSrcByteSize],2
GUIDisplayButtonHole 13,11,58,byte[CheatSrcByteSize],3 GUIDisplayButtonHole 13,11,58,byte[CheatSrcByteSize],3
@@ -3069,7 +3069,7 @@ DisplayGUIOptns: ; GUI Options
mov byte[GUIGUIOptnsTextD1],'B' mov byte[GUIGUIOptnsTextD1],'B'
GUIDisplayText 10,16,147,GUIGUIOptnsTextD1 GUIDisplayText 10,16,147,GUIGUIOptnsTextD1
GUIDisplayButtonHole 10,48,108,byte[CurPalSelect],0 ; Ratio Buttons GUIDisplayButtonHole 10,48,108,byte[CurPalSelect],0 ; Radio Buttons
GUIDisplayButtonHole 10,88,108,byte[CurPalSelect],1 GUIDisplayButtonHole 10,88,108,byte[CurPalSelect],1
GUIDisplayButtonHole 10,135,108,byte[CurPalSelect],2 GUIDisplayButtonHole 10,135,108,byte[CurPalSelect],2
@@ -3316,7 +3316,7 @@ DisplayGUIMovies: ; Movie Record/Playback options
mov dword[GUIMovieTextZ+17],'ING ' mov dword[GUIMovieTextZ+17],'ING '
.nooldplay .nooldplay
GUIDisplayTextY 15,6,162,GUIMovieTextZ GUIDisplayTextY 15,6,162,GUIMovieTextZ
; Display ratio buttons ; Display Radio buttons
GUIDisplayButtonHole 15,60,25,byte[CMovieExt],'v' ; Select: GUIDisplayButtonHole 15,60,25,byte[CMovieExt],'v' ; Select:
GUIDisplayButtonHole 15,80,25,byte[CMovieExt],'1' GUIDisplayButtonHole 15,80,25,byte[CMovieExt],'1'
GUIDisplayButtonHole 15,100,25,byte[CMovieExt],'2' GUIDisplayButtonHole 15,100,25,byte[CMovieExt],'2'
@@ -4129,7 +4129,7 @@ DisplayGUIAddOns: ;Select Special Controllers
GUIDisplayTextu 17,21,58,GUIAddOnText5,0 GUIDisplayTextu 17,21,58,GUIAddOnText5,0
.endEE .endEE
GUIDisplayButtonHole 17,9,15,byte[snesmouse],0 ;Ratio Buttons GUIDisplayButtonHole 17,9,15,byte[snesmouse],0 ;Radio Buttons
GUIDisplayButtonHole 17,9,25,byte[snesmouse],1 GUIDisplayButtonHole 17,9,25,byte[snesmouse],1
GUIDisplayButtonHole 17,9,35,byte[snesmouse],2 GUIDisplayButtonHole 17,9,35,byte[snesmouse],2
GUIDisplayButtonHole 17,9,45,byte[snesmouse],3 GUIDisplayButtonHole 17,9,45,byte[snesmouse],3