commented part of CheatSearch, and moved the Auto Framerate/Framerate options to the Speed window

This commit is contained in:
ipher
2005-05-17 23:18:43 +00:00
parent 3ae21876ec
commit 9f4b0dc525
4 changed files with 246 additions and 211 deletions

View File

@@ -624,9 +624,9 @@ ViewBuffer resb 50*32
SECTION .data ; Window sizes and positions 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 ; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO CHIP PATH SAVE SPED
GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,35 ,5 ,30 ,10 ,10 ,50 ,65 ,20 ,70 ,40 ,3 ,50 ,50 ,5 ,20 ,45 GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,35 ,5 ,30 ,10 ,10 ,50 ,65 ,20 ,70 ,40 ,3 ,50 ,50 ,5 ,20 ,45
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,20 ,20 ,30 ,30 ,20 ,20 ,60 ,30 ,65 ,35 ,22 ,60 ,60 ,20 ,30 ,50 GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,20 ,20 ,30 ,30 ,20 ,20 ,60 ,30 ,65 ,35 ,22 ,60 ,60 ,20 ,30 ,25
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,180 ,188 ,244 ,8*16,235 ,240 ,190 ,9*16,8*16,9*16,180 ,250 ,160 ,160 ,244 ,200 ,150 GUIwinsizex dd 0,244 ,126 ,189 ,167 ,180 ,188 ,244 ,8*16,235 ,240 ,190 ,9*16,8*16,9*16,180 ,250 ,160 ,160 ,244 ,200 ,150
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,170 ,150 ,190 ,42 ,40 ,42 ,160 ,190 ,100 ,100 ,190 ,160 ,140 GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,170 ,150 ,190 ,42 ,40 ,42 ,160 ,190 ,100 ,100 ,190 ,160 ,180
GUIwinptr db 0 GUIwinptr db 0
section .bss section .bss

View File

@@ -601,17 +601,6 @@ GUIOptionKeys:
ja .nocap ja .nocap
sub dh,'z'-'Z' sub dh,'z'-'Z'
.nocap .nocap
cmp dh,'A' ; Checkboxes
jne .noautofr
mov byte[FPSOn],0
cmp byte[frameskip],0
je .zero
mov byte[frameskip],0
jmp .notzero
.zero
mov byte[frameskip],2
.notzero
.noautofr
cmp dh,'N' cmp dh,'N'
jne .nonewgfx jne .nonewgfx
xor eax,eax xor eax,eax
@@ -745,6 +734,17 @@ GUISpeedKeys:
jne .nofastforward jne .nofastforward
xor byte[FastFwdToggle],1 xor byte[FastFwdToggle],1
.nofastforward .nofastforward
cmp dh,'A' ; Checkboxes
jne .noautofr
mov byte[FPSOn],0
cmp byte[frameskip],0
je .zero
mov byte[frameskip],0
jmp .notzero
.zero
mov byte[frameskip],2
.notzero
.noautofr
ret ret
GUIAddonKeys: GUIAddonKeys:

View File

@@ -2326,7 +2326,6 @@ DisplayGUIInputClick:
ret ret
DisplayGUIOptionClick: DisplayGUIOptionClick:
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
@@ -2352,15 +2351,6 @@ DisplayGUIOptionClick:
%ifdef __WIN32__ %ifdef __WIN32__
GUIClickCButtonW 11,150,byte[DisableScreenSaver] GUIClickCButtonW 11,150,byte[DisableScreenSaver]
%endif %endif
; Frameskip = 0
cmp byte[frameskip],0
je near .autopress
GUIPHoldbutton2 97,12,105,20,12,byte[frameskip],1,10
GUIPHoldbutton2 108,12,116,20,13,byte[frameskip],-1,1
ret
.autopress
GUIPHoldbutton2 118,12,126,20,12,byte[maxskip],1,9
GUIPHoldbutton2 129,12,137,20,13,byte[maxskip],-1,0
ret ret
DisplayGUIVideoClick2: DisplayGUIVideoClick2:
@@ -3249,11 +3239,25 @@ DisplayGUISpeedClick:
sub eax,[GUIwinposx+21*4] ; effectively 'grabbing' the cursor ! sub eax,[GUIwinposx+21*4] ; effectively 'grabbing' the cursor !
mov edx,[GUImouseposy] mov edx,[GUImouseposy]
sub edx,[GUIwinposy+21*4] sub edx,[GUIwinposy+21*4]
GUIClickCButton 11,125,byte[FastFwdToggle] ; Checkbox
DGOptnsProcBox 12,58,[KeyFastFrwrd] ; Shortcut Boxes GUIClickCButtonfr 11,165,byte[frameskip] ; Checkboxes
DGOptnsProcBox 12,68,[KeySlowDown] GUIClickCButton 11,175,byte[FastFwdToggle]
DGOptnsProcBox 12,78,[KeyResetSpeed]
DGOptnsProcBox 12,108,[KeyFastFrwrd] ; Shortcut Boxes
DGOptnsProcBox 12,118,[KeySlowDown]
DGOptnsProcBox 12,128,[KeyResetSpeed]
; Frameskip = 0
cmp byte[frameskip],0
je near .autopress
GUIPHoldbutton2 97,42,105,50,12,byte[frameskip],1,10
GUIPHoldbutton2 108,42,116,50,13,byte[frameskip],-1,1
ret
.autopress
GUIPHoldbutton2 118,42,126,50,12,byte[maxskip],1,9
GUIPHoldbutton2 129,42,137,50,13,byte[maxskip],-1,0
; Speed Slider ; Speed Slider
cmp eax,15 ; X-Range for click-area cmp eax,15 ; X-Range for click-area

View File

@@ -1452,13 +1452,6 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
.zero .zero
sub byte[GUItextcolor],15 sub byte[GUItextcolor],15
mov dword[GUITemp],GUIOptionText1
cmp byte[frameskip],0
jne .noauto
mov dword[GUITemp],GUIOptionText1b
.noauto
GUIOuttextwin2 4,6,14,[GUITemp]
GUIOuttextwin2u 4,26,24,GUIOptionText2,0
GUIOuttextwin2u 4,26,34,GUIOptionText3,0 GUIOuttextwin2u 4,26,34,GUIOptionText3,0
GUIOuttextwin2u 4,26,44,GUIOptionText4,0 GUIOuttextwin2u 4,26,44,GUIOptionText4,0
GUIOuttextwin2u 4,26,54,GUIOptionText5,0 GUIOuttextwin2u 4,26,54,GUIOptionText5,0
@@ -1481,8 +1474,6 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
%endif %endif
add byte[GUItextcolor],15 ; Text add byte[GUItextcolor],15 ; Text
GUIOuttextwin2 4,5,13,[GUITemp]
GUIOuttextwin2 4,25,23,GUIOptionText2
GUIOuttextwin2 4,25,33,GUIOptionText3 GUIOuttextwin2 4,25,33,GUIOptionText3
GUIOuttextwin2 4,25,43,GUIOptionText4 GUIOuttextwin2 4,25,43,GUIOptionText4
GUIOuttextwin2 4,25,53,GUIOptionText5 GUIOuttextwin2 4,25,53,GUIOptionText5
@@ -1506,13 +1497,6 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkboxes mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkboxes
cmp byte[frameskip],0
jne .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox
GUIDisplayIconWin 4,11,20,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[newengen],0 cmp byte[newengen],0
je .nocheckbox1 je .nocheckbox1
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
@@ -1615,100 +1599,13 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
.nocheckbox13 .nocheckbox13
GUIDisplayIconWin 4,11,150,[GUITemp] GUIDisplayIconWin 4,11,150,[GUITemp]
%endif %endif
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
mov [GUIOptionTextX],al
mov byte[GUItextcolor],223
GUIOuttextwin2 4,85,14,GUIOptionTextX
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je .zero4
mov byte[GUItextcolor],222
.zero4
GUIOuttextwin2 4,84,13,GUIOptionTextX
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero6
mov byte[GUItextcolor],211
.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
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,73,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
ret ret
.auto ; Max Frameskip (if AutoFR)
DrawGUIWinBox 4,96,12,114,19,167
mov al,[maxskip]
add al,48
mov [GUIOptionTextX],al
mov byte[GUItextcolor],223
GUIOuttextwin2 4,107,14,GUIOptionTextX
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je .zero5
mov byte[GUItextcolor],222
.zero5
GUIOuttextwin2 4,106,13,GUIOptionTextX
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero7
mov byte[GUItextcolor],211
.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
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
SECTION .data SECTION .data
GUIOptionText1 db 'FRAME RATE',0 ;GUIOptionText1 db 'FRAME RATE',0
GUIOptionText1b db 'MAX FRAME SKIP',0 ;GUIOptionText1b db 'MAX FRAME SKIP',0
GUIOptionText2 db 'AUTO FRAME RATE',0 ;GUIOptionText2 db 'AUTO FRAME RATE',0
GUIOptionText3 db 'NEW GFX ENGINE',0 GUIOptionText3 db 'NEW GFX ENGINE',0
GUIOptionText4 db 'MMX SUPPORT',0 GUIOptionText4 db 'MMX SUPPORT',0
GUIOptionText5 db 'USE PL3/4 AS PL1/2',0 GUIOptionText5 db 'USE PL3/4 AS PL1/2',0
@@ -3148,39 +3045,41 @@ CSAddFlash:
DisplayGUISearch: DisplayGUISearch:
jmp .startcheat jmp .startcheat
call DrawWindowSearch ; call DrawWindowSearch ; Do we even need this?
mov byte[GUItextcolor],217 ; mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0 ; cmp byte[GUIWincoladd],0
je .zero ; je .zero
mov byte[GUItextcolor],211 ; mov byte[GUItextcolor],211
.zero ;.zero
sub byte[GUItextcolor],15 ; sub byte[GUItextcolor],15
GUIOuttextwin2 13,6,16,GUISrcText1 ; GUIOuttextwin2 13,6,16,GUISrcText1
GUIOuttextwin2 13,6,26,GUISrcText2 ; GUIOuttextwin2 13,6,26,GUISrcText2
GUIOuttextwin2 13,6,36,GUISrcText3 ; GUIOuttextwin2 13,6,36,GUISrcText3
add byte[GUItextcolor],15 ; add byte[GUItextcolor],15
GUIOuttextwin2 13,5,15,GUISrcText1 ; GUIOuttextwin2 13,5,15,GUISrcText1
GUIOuttextwin2 13,5,25,GUISrcText2 ; GUIOuttextwin2 13,5,25,GUISrcText2
GUIOuttextwin2 13,5,35,GUISrcText3 ; GUIOuttextwin2 13,5,35,GUISrcText3
ret ; ret
; DrawGUIButton 13,197,30,239,41,GUICSrcText8+2,40,0,0 ;; DrawGUIButton 13,197,30,239,41,GUICSrcText8+2,40,0,0
ret ; ret
.startcheat
cmp byte[CheatWinMode],1 .startcheat ; Start
cmp byte[CheatWinMode],1 ; Determine which CS window we're on
je near Incheatmode je near Incheatmode
cmp byte[CheatWinMode],2 cmp byte[CheatWinMode],2
je near Cheatmodeview je near Cheatmodeview
cmp byte[CheatWinMode],3 cmp byte[CheatWinMode],3
je near Cheatmodeadd je near Cheatmodeadd
mov dword[GUIwinsizex+13*4],170 mov dword[GUIwinsizex+13*4],170
mov dword[GUIwinsizey+13*4],150 mov dword[GUIwinsizey+13*4],150
call DrawWindowSearch call DrawWindowSearch
mov al,[GUIWincol]
mov al,[GUIWincol] ; Yellow Shadow
mov byte[GUItextcolor],al mov byte[GUItextcolor],al
GUIOuttextwin2 13,6,16,GUICSrcText1 GUIOuttextwin2 13,6,16,GUICSrcText1
GUIOuttextwin2 13,6,101,GUICSrcText8 GUIOuttextwin2 13,6,101,GUICSrcText8
mov byte[GUItextcolor],163 mov byte[GUItextcolor],163 ; Yellow Text
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero3 je .zero3
mov byte[GUItextcolor],164 mov byte[GUItextcolor],164
@@ -3188,9 +3087,10 @@ DisplayGUISearch:
GUIOuttextwin2 13,5,15,GUICSrcText1 GUIOuttextwin2 13,5,15,GUICSrcText1
GUIOuttextwin2 13,5,100,GUICSrcText8 GUIOuttextwin2 13,5,100,GUICSrcText8
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0 mov byte[GUItextcolor],217 ; Text AND Shadow
je .zero2 cmp byte[GUIWincoladd],0 ; maybe start converting other windows
je .zero2 ; to this format?
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
.zero2 .zero2
TextWindowMacro 13,25,30,GUICSrcText2 TextWindowMacro 13,25,30,GUICSrcText2
@@ -3201,21 +3101,29 @@ DisplayGUISearch:
TextWindowMacro 13,25,85,GUICSrcText7 TextWindowMacro 13,25,85,GUICSrcText7
TextWindowMacro 13,25,115,GUICSrcText9 TextWindowMacro 13,25,115,GUICSrcText9
TextWindowMacro 13,25,125,GUICSrcTextA TextWindowMacro 13,25,125,GUICSrcTextA
DrawGUIButton 13,95,140,140,152,GUICSrcTextB,50,0,1
GUIDisplayButtonHole 13,11,28,byte[CheatSrcByteSize],0
DrawGUIButton 13,95,140,140,152,GUICSrcTextB,50,0,1 ; Button
GUIDisplayButtonHole 13,11,28,byte[CheatSrcByteSize],0 ; Ratio 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
GUIDisplayButtonHole 13,11,73,byte[CheatSrcByteBase],0 GUIDisplayButtonHole 13,11,73,byte[CheatSrcByteBase],0
GUIDisplayButtonHole 13,11,83,byte[CheatSrcByteBase],1 GUIDisplayButtonHole 13,11,83,byte[CheatSrcByteBase],1
GUIDisplayButtonHole 13,11,113,byte[CheatSrcSearchType],0 GUIDisplayButtonHole 13,11,113,byte[CheatSrcSearchType],0
GUIDisplayButtonHole 13,11,123,byte[CheatSrcSearchType],1 GUIDisplayButtonHole 13,11,123,byte[CheatSrcSearchType],1
ret ret
Incheatmode:
Incheatmode: ; Return and Re-search
mov dword[GUIwinsizex+13*4],180 mov dword[GUIwinsizex+13*4],180
mov dword[GUIwinsizey+13*4],150 mov dword[GUIwinsizey+13*4],150
call DrawWindowSearch call DrawWindowSearch
mov byte[GUItextcolor],217
mov byte[GUItextcolor],217 ; Text And Shadow
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero2 je .zero2
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
@@ -3227,15 +3135,17 @@ Incheatmode:
TextWindowMacro 13,5,40,GUICSrcTextO TextWindowMacro 13,5,40,GUICSrcTextO
TextWindowMacro 13,5,50,GUICSrcTextP TextWindowMacro 13,5,50,GUICSrcTextP
jmp DisplayChtSrcRes.nosearch jmp DisplayChtSrcRes.nosearch
CheatSearching:
CheatSearching: ; Exact Value Search
cmp byte[CheatSrcSearchType],1 cmp byte[CheatSrcSearchType],1
je near CheatSearchingComp je near CheatSearchingComp
; Exact Value Search TextWindowMacro 13,5,20,GUICSrcTextD ; Text (setup?)
TextWindowMacro 13,5,20,GUICSrcTextD
DrawGUIWinBox 13,10,40,80,47,167 DrawGUIWinBox 13,10,40,80,47,167 ; Input Box
; Draw border
mov dword[GUIWincol],148+10
mov dword[GUIWincol],148+10 ; Draw border
cmp byte[cwindrawn],1 cmp byte[cwindrawn],1
jne .noone2 jne .noone2
mov dword[GUIWincol],148+5 mov dword[GUIWincol],148+5
@@ -3256,39 +3166,41 @@ CheatSearching:
add dl,3 add dl,3
DrawGUIWinBox 13,82,40,81,47,dl ; 2,0,1,0 DrawGUIWinBox 13,82,40,81,47,dl ; 2,0,1,0
test byte[GUICCFlash],8 test byte[GUICCFlash],8 ; Flash Cursor Code?
jnz .nound jnz .nound
mov esi,CSInputDisplay mov esi,CSInputDisplay
call CSRemoveFlash call CSRemoveFlash
.nound .nound
mov byte[GUItextcolor],223 mov byte[GUItextcolor],223 ; Green Shadow
cmp byte[CSOverValue],1 cmp byte[CSOverValue],1
jne .notdark jne .notdark
mov byte[GUItextcolor],202 mov byte[GUItextcolor],202 ; Alt Color
.notdark .notdark
GUIOuttextwin2 13,13,42,CSInputDisplay GUIOuttextwin2 13,13,42,CSInputDisplay
mov byte[GUItextcolor],221
mov byte[GUItextcolor],221 ; Green Text
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero4 je .zero4
mov byte[GUItextcolor],222 mov byte[GUItextcolor],222
.zero4 .zero4
cmp byte[CSOverValue],1 cmp byte[CSOverValue],1
jne .notdark2 jne .notdark2
mov byte[GUItextcolor],207 mov byte[GUItextcolor],207 ; Alt Color
.notdark2 .notdark2
GUIOuttextwin2 13,12,41,CSInputDisplay GUIOuttextwin2 13,12,41,CSInputDisplay
mov byte[GUItextcolor],217
mov byte[GUItextcolor],217 ; More Text
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero2 je .zero2
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
.zero2 .zero2
TextWindowMacro 13,5,65,GUICSrcTextT TextWindowMacro 13,5,65,GUICSrcTextT
mov esi,CSInputDisplay mov esi,CSInputDisplay ; More flash?
call CSAddFlash call CSAddFlash
xor eax,eax xor eax,eax ; Find Max Size
mov al,[CheatSrcByteSize] mov al,[CheatSrcByteSize]
mov eax,[SrcMask+eax*4] mov eax,[SrcMask+eax*4]
mov esi,GUICSrcTextQ mov esi,GUICSrcTextQ
@@ -3302,11 +3214,11 @@ CheatSearching:
inc ecx inc ecx
call converthex call converthex
.dec .dec
TextWindowMacro 13,71,65,GUICSrcTextQ TextWindowMacro 13,71,65,GUICSrcTextQ ; More Text (setup?)
jmp DisplayChtSrcRes jmp DisplayChtSrcRes
CheatSearchingComp: CheatSearchingComp: ; Comparative search
; Comparative search
mov al,[GUIWincol] mov al,[GUIWincol]
mov byte[GUItextcolor],al mov byte[GUItextcolor],al
GUIOuttextwin2 13,6,16,GUICSrcTextE GUIOuttextwin2 13,6,16,GUICSrcTextE
@@ -6354,51 +6266,66 @@ DisplayGUISpeed: ;Speed Options
mov byte[GUItextcolor],211 mov byte[GUItextcolor],211
.zero .zero
sub byte[GUItextcolor],15 sub byte[GUItextcolor],15
GUIOuttextwin2 21,40,59,GUISpeedTextA1 mov dword[GUITemp],GUISpeedText1
GUIOuttextwin2 21,40,69,GUISpeedTextA2 cmp byte[frameskip],0
GUIOuttextwin2 21,40,79,GUISpeedTextA3 jne .noauto
GUIOuttextwin2u 21,25,129,GUISpeedTextC1,0 mov dword[GUITemp],GUISpeedText1b
.noauto
GUIOuttextwin2 21,6,44,[GUITemp]
GUIOuttextwin2 21,40,109,GUISpeedTextA1
GUIOuttextwin2 21,40,119,GUISpeedTextA2
GUIOuttextwin2 21,40,129,GUISpeedTextA3
GUIOuttextwin2u 21,25,169,GUISpeedTextC1,0
GUIOuttextwin2u 21,25,179,GUISpeedTextC2,0
add byte[GUItextcolor],15 ;Text add byte[GUItextcolor],15 ;Text
GUIOuttextwin2 21,39,58,GUISpeedTextA1 GUIOuttextwin2 21,5,43,[GUITemp]
GUIOuttextwin2 21,39,68,GUISpeedTextA2 GUIOuttextwin2 21,39,108,GUISpeedTextA1
GUIOuttextwin2 21,39,78,GUISpeedTextA3 GUIOuttextwin2 21,39,118,GUISpeedTextA2
GUIOuttextwin2 21,24,128,GUISpeedTextC1 GUIOuttextwin2 21,39,128,GUISpeedTextA3
GUIOuttextwin2 21,24,168,GUISpeedTextC1
GUIOuttextwin2 21,24,178,GUISpeedTextC2
mov al,[GUIWincol] ;Yellow Shadow mov al,[GUIWincol] ;Yellow Shadow
mov byte[GUItextcolor],al mov byte[GUItextcolor],al
GUIOuttextwin2 21,8,49,GUISpeedTextA GUIOuttextwin2 21,8,99,GUISpeedTextA
GUIOuttextwin2 21,16,19,GUISpeedTextB GUIOuttextwin2 21,8,19,GUISpeedTextB
mov byte[GUItextcolor],163 ;Yellow Text mov byte[GUItextcolor],163 ;Yellow Text
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero3 je .zero3
mov byte[GUItextcolor],164 mov byte[GUItextcolor],164
.zero3 .zero3
GUIOuttextwin2 21,7,48,GUISpeedTextA GUIOuttextwin2 21,7,98,GUISpeedTextA
GUIOuttextwin2 21,15,18,GUISpeedTextB GUIOuttextwin2 21,7,18,GUISpeedTextB
DDrawBox 21,12,58,[KeyFastFrwrd] ;Shortcut Boxes DDrawBox 21,12,108,[KeyFastFrwrd] ;Shortcut Boxes
DDrawBox 21,12,68,[KeySlowDown] DDrawBox 21,12,118,[KeySlowDown]
DDrawBox 21,12,78,[KeyResetSpeed] DDrawBox 21,12,128,[KeyResetSpeed]
DGOptnsBorderBox 21,11,57 ;Borders DGOptnsBorderBox 21,11,107 ;Borders
DGOptnsBorderBox 21,11,67 DGOptnsBorderBox 21,11,117
DGOptnsBorderBox 21,11,77 DGOptnsBorderBox 21,11,127
mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkbox mov dword[GUITemp],GUIIconDataCheckBoxUC ; Checkboxes
cmp byte[FastFwdToggle],0 cmp byte[frameskip],0
je .nocheckbox jne .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox .nocheckbox
GUIDisplayIconWin 21,11,125,[GUITemp] GUIDisplayIconWin 21,11,165,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FastFwdToggle],0
je .nocheckbox1
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox1
GUIDisplayIconWin 21,11,175,[GUITemp]
mov eax,dword[GUIwinposx+21*4] ;Slider mov eax,dword[GUIwinposx+21*4] ;Slider
mov ebx,dword[GUIwinposy+21*4] mov ebx,dword[GUIwinposy+21*4]
add eax,15
add ebx,31 add ebx,31
mov ecx,eax mov ecx,eax
add ecx,116 add ecx,116
@@ -6449,27 +6376,131 @@ DisplayGUISpeed: ;Speed Options
dec esi dec esi
mov byte[esi],'/' ; adds '/' before the slomo value mov byte[esi],'/' ; adds '/' before the slomo value
.convdone .convdone
mov [GUITemp],esi mov [GUITemp],esi ; Display Value (Green)
mov byte[GUItextcolor],223 mov byte[GUItextcolor],223
GUIOuttextwin2 21,63,19,[GUITemp] GUIOuttextwin2 21,78,19,[GUITemp]
mov byte[GUItextcolor],221 mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0 cmp byte[GUIWincoladd],0
je .zero4 je .zero4
mov byte[GUItextcolor],222 mov byte[GUItextcolor],222
.zero4 .zero4
GUIOuttextwin2 21,62,18,[GUITemp] GUIOuttextwin2 21,77,18,[GUITemp]
cmp byte[frameskip],0 ; Determine if AutoFR is enabled
je near .auto
DrawGUIWinBox 21,75,42,93,49,167 ; Frameskip (if not AutoFR)
mov al,[frameskip]
add al,47
mov [GUISpeedTextX],al
mov byte[GUItextcolor],223
GUIOuttextwin2 21,85,44,GUISpeedTextX
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je .zero8
mov byte[GUItextcolor],222
.zero8
GUIOuttextwin2 21,84,43,GUISpeedTextX
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero6
mov byte[GUItextcolor],211
.zero6
DrawGUIButton 21,97,42,105,50,GUISpeedTextY,12,-2,-1
DrawGUIButton 21,108,42,116,50,GUISpeedTextZ,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 21,76,41,93,41,dl
mov dl,[GUIWincol]
add dl,1
DrawGUIWinBox 21,75,42,74,49,dl
mov dl,[GUIWincol]
add dl,4
DrawGUIWinBox 21,76,50,93,50,dl
mov dl,[GUIWincol]
add dl,3
DrawGUIWinBox 21,95,42,94,49,dl
ret
.auto ; Max Frameskip (if AutoFR)
DrawGUIWinBox 21,96,42,114,49,167
mov al,[maxskip]
add al,48
mov [GUISpeedTextX],al
mov byte[GUItextcolor],223
GUIOuttextwin2 21,107,44,GUISpeedTextX
mov byte[GUItextcolor],221
cmp byte[GUIWincoladd],0
je .zero5
mov byte[GUItextcolor],222
.zero5
GUIOuttextwin2 21,106,43,GUISpeedTextX
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero7
mov byte[GUItextcolor],211
.zero7
DrawGUIButton 21,118,42,126,50,GUISpeedTextY,12,-2,-1
DrawGUIButton 21,129,42,137,50,GUISpeedTextZ,13,-2,-1
mov dword[GUIWincol],148+10 ; Draw borders
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 21,96,41,113,41,dl
mov dl,[GUIWincol]
add dl,1
DrawGUIWinBox 21,95,42,94,49,dl
mov dl,[GUIWincol]
add dl,4
DrawGUIWinBox 21,96,50,113,50,dl
mov dl,[GUIWincol]
add dl,3
DrawGUIWinBox 21,115,42,114,49,dl
ret ret
SECTION .data SECTION .data
GUISpeedTextA db 'SHORTCUTS : ',0 GUISpeedTextA db 'SHORTCUTS : ',0
GUISpeedTextA1 db 'FAST FORWARD',0 GUISpeedTextA1 db 'FAST FORWARD',0
GUISpeedTextA2 db 'SLOWDOWN',0 GUISpeedTextA2 db 'SLOW DOWN',0
GUISpeedTextA3 db 'RESET SPEED',0 GUISpeedTextA3 db 'RESET SPEED',0
GUISpeedTextA4 db '+ FRAME RATE',0
GUISpeedTextA5 db '- FRAME RATE',0
GUISpeedTextA6 db 'PAUSE GAME',0
GUISpeedTextA7 db 'INCR FRAME',0
GUISpeedTextA8 db 'SLOW DOWN',0
GUISpeedTextA9 db 'RESET SPEED',0
GUISpeedTextB db 'SPEED : ',0 GUISpeedTextB db 'EMU SPEED : ',0
GUISpeedTextB1 db '---',0 GUISpeedTextB1 db '---',0
GUISpeedTextC1 db 'TOGGLED FFWD/SLWDWN',0 GUISpeedText1 db 'FRAME RATE',0
GUISpeedText1b db 'MAX FRAME SKIP',0
GUISpeedTextC1 db 'AUTO FRAME RATE',0
GUISpeedTextC2 db 'TOGGLED FFWD/SLWDWN',0
GUISpeedTextX db '-',0
GUISpeedTextY db '+',0
GUISpeedTextZ db '-',0
;General data ;General data
GUILoadDisp db 'LOAD GAME',0 GUILoadDisp db 'LOAD GAME',0