Made Save Options its own window, frees up space in Options.

This commit is contained in:
ipher
2005-01-09 07:49:29 +00:00
parent ce90faed18
commit 2c241c3155
4 changed files with 171 additions and 111 deletions

View File

@@ -234,6 +234,7 @@ NEWSYM WaterOn, db 1
; Video
; Sound
; Paths
; Saves
; MultiPlay only has "Internet" for Windows/Linux
@@ -260,7 +261,7 @@ NEWSYM WaterOn, db 1
;The first byte is the number of fields on the right not including the seperators
MenuDat1 db 12, 3,1,1,1,1,1,1,1,1,1,0,1,2,0
MenuDat2 db 8, 3,1,1,0,1,1,1,0,2,0,0
MenuDat3 db 12, 3,1,1,1,1,0,1,1,0,1,1,1,2,0
MenuDat3 db 13, 3,1,1,1,1,0,1,1,0,1,1,1,1,2,0
MenuDat4 db 2, 3,1,2,0
MenuDat5 db 1, 3,2,0
MenuDat6 db 6, 3,1,1,1,1,0,2,0
@@ -303,6 +304,7 @@ GUIConfigMenuData
db 1,'VIDEO ',0
db 1,'SOUND ',0
db 1,'PATHS ',0
db 1,'SAVES ',0
GUICheatMenuData
db 1,'ADD CODE ',0
db 1,'BROWSE ',0
@@ -667,11 +669,11 @@ ModemPTimer resd 1 ; Timer for modem process
ModemOKStat resb 1 ; OK is detected on modem status
SECTION .data
; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO CHIP PATH
GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,35 ,5 ,30 ,10 ,10 ,50 ,65 ,20 ,70 ,50 ,3 ,50 ,50 ,5
GUIwinposyo dd 0,20 ,70 ,30 ,19 ,20 ,20 ,20 ,30 ,20 ,20 ,20 ,60 ,30 ,65 ,50 ,22 ,60 ,60 ,20
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,180 ,188 ,244 ,8*16,235 ,240 ,190 ,9*16,8*16,9*16,140 ,250 ,160 ,160 ,244
GUIwinsizey dd 0,190 ,3*16,166 ,191 ,192 ,188 ,191 ,40 ,189 ,150 ,190 ,42 ,40 ,42 ,70 ,190 ,100 ,100 ,190
; LOAD STAT INPT OPT VID SND CHT NET GMKEY GUIOP ABT RSET SRC STCN MOVE CMBO ADDO CHIP PATH SAVE
GUIwinposxo dd 0,5 ,60 ,30 ,55 ,50 ,35 ,5 ,30 ,10 ,10 ,50 ,65 ,20 ,70 ,50 ,3 ,50 ,50 ,5 ,50
GUIwinposyo dd 0,20 ,70 ,30 ,20 ,20 ,20 ,20 ,30 ,20 ,20 ,20 ,60 ,30 ,65 ,50 ,22 ,60 ,60 ,20 ,60
GUIwinsizex dd 0,244 ,126 ,189 ,167 ,180 ,188 ,244 ,8*16,235 ,240 ,190 ,9*16,8*16,9*16,140 ,250 ,160 ,160 ,244 ,160
GUIwinsizey dd 0,190 ,3*16,166 ,190 ,192 ,188 ,191 ,40 ,189 ,150 ,190 ,42 ,40 ,42 ,70 ,190 ,100 ,100 ,190 ,100
GUIwinptr db 0
section .bss
@@ -3412,6 +3414,7 @@ GUITryMenuItem:
.novideo
GUICheckMenuItem 6, 11
GUICheckMenuItem 19, 12
GUICheckMenuItem 20, 13
.noconfig
cmp byte[romloadskip],0
jne near .nocheat
@@ -3626,6 +3629,11 @@ DisplayBoxes:
call DisplayGUIPaths
jmp .finstuff
.nopaths
cmp al,20
jne .nosave
call DisplayGUISave
jmp .finstuff
.nosave
.finstuff
pop esi
inc esi
@@ -3950,7 +3958,7 @@ DisplayMenu:
.nomenu2
cmp byte[GUIcmenupos],3
jne near .nomenu3
GUIDrawMenuM 52,16,9,13,GUIConfigMenuData,54,57,22,149,42 ;19+13*10
GUIDrawMenuM 52,16,9,14,GUIConfigMenuData,54,57,22,159,42 ;19+14*10
mov dword[GUICYLocPtr],MenuDat3
.nomenu3
cmp byte[GUIcmenupos],4

View File

@@ -406,6 +406,8 @@ GUIgetcurrentinput:
je near GUIComboKeys
cmp ebx,19
je near GUIPathKeys
cmp ebx,20
je near GUISaveKeys
cmp ebx,8
jne .notstartmenu
cmp byte[CNetType],4
@@ -921,6 +923,33 @@ GUIOptionKeys:
.noscreensaver
%endif
ret
GUISaveKeys:
cmp dh,'a'
jb .nocap
cmp dh,'z'
ja .nocap
sub dh,'z'-'Z'
.nocap
cmp dh,'I'
jne .noautoincsave
xor byte[AutoIncSaveSlot],1
mov byte[firstsaveinc],1
.noautoincsave
cmp dh,'C'
jne .nosramcheck
xor byte[SRAMSave5Sec],1
.nosramcheck
cmp dh,'S'
jne .nostartsave
xor byte[LatestSave],1
.nostartsave
cmp dh,'A'
jne .noautostate
xor byte[AutoState],1
.noautostate
ret
GUIGUIOptnsKeys:
cmp dh,'a'

View File

@@ -981,8 +981,9 @@ GUIWinClicked:
je near DisplayGUIChipClick
cmp ebx,19
je near DisplayGUIPathsClick
cmp ebx,20
je near DisplayGUISaveClick
ret
%macro GUIClickCButton 3
cmp eax,%1+1
jl %%noclick
@@ -2279,28 +2280,24 @@ DisplayGUIOptionClick:
jne near .invalidng
GUIClickCButton2 11,30,byte[newengen],byte[cfgnewgfx],1
.invalidng
GUIClickCButtonAS 11,40,byte[AutoIncSaveSlot]
GUIClickCButtonMMX 11,50,byte[MMXSupport]
GUIClickCButtonM 11,60,byte[pl12s34]
GUIClickCButtonMMX 11,40,byte[MMXSupport]
GUIClickCButtonM 11,50,byte[pl12s34]
%ifdef __MSDOS__
GUIClickCButton 11,70,byte[SidewinderFix]
GUIClickCButton 11,60,byte[SidewinderFix]
%endif
%ifdef __WIN32__
GUIClickCButtonW 11,70,byte[HighPriority]
GUIClickCButtonW 11,60,byte[HighPriority]
%endif
GUIClickCButton 11,80,byte[FPSAtStart]
GUIClickCButton 11,90,byte[Turbo30hz]
GUIClickCButton 11,100,byte[TimerEnable]
GUIClickCButton 11,110,byte[FastFwdToggle]
GUIClickCButton 11,120,byte[SRAMSave5Sec]
GUIClickCButtonO 11,130,byte[OldGfxMode2]
GUIClickCButton 11,140,byte[LatestSave]
GUIClickCButton 11,150,byte[AutoState]
GUIClickCButton 11,160,byte[DontSavePath]
GUIClickCButton 11,170,byte[SmallMsgText]
GUIClickCButton 11,180,byte[AutoPatch]
GUIClickCButton 11,70,byte[FPSAtStart]
GUIClickCButton 11,80,byte[Turbo30hz]
GUIClickCButton 11,90,byte[TimerEnable]
GUIClickCButton 11,100,byte[FastFwdToggle]
GUIClickCButtonO 11,110,byte[OldGfxMode2]
GUIClickCButton 11,120,byte[DontSavePath]
GUIClickCButton 11,130,byte[SmallMsgText]
GUIClickCButton 11,140,byte[AutoPatch]
%ifdef __WIN32__
GUIClickCButtonW 11,190,byte[DisableScreenSaver]
GUIClickCButtonW 11,150,byte[DisableScreenSaver]
%endif
; Frameskip = 0
cmp byte[frameskip],0
@@ -3256,6 +3253,13 @@ DisplayGUIPathsClick
GUITextBoxInputNach 135,180,235,190,11,1024 ;SPL4Path
ret
DisplayGUISaveClick:
GUIClickCButtonAS 11,20,byte[AutoIncSaveSlot]
GUIClickCButton 11,30,byte[SRAMSave5Sec]
GUIClickCButton 11,40,byte[LatestSave]
GUIClickCButton 11,50,byte[AutoState]
ret
DrawMouse:
mov edi,[vidbuffer]
add edi,16

View File

@@ -1362,7 +1362,7 @@ GUIcurrentinputcursloc resd 1
SECTION .text
DisplayGUIOption:
; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine/Save Confirm
; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engine
GUIDrawWindowBox 4,GUIOptionDisp
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
@@ -1378,55 +1378,47 @@ DisplayGUIOption:
GUIOuttextwin2 4,6,14,[GUITemp]
GUIOuttextwin2u 4,26,24,GUIOptionText2,0
GUIOuttextwin2u 4,26,34,GUIOptionText4,0
GUIOuttextwin2u 4,26,44,GUIOptionText5,2
GUIOuttextwin2u 4,26,54,GUIOptionText6,0
GUIOuttextwin2u 4,26,64,GUIOptionText7,0
GUIOuttextwin2u 4,26,44,GUIOptionText6,0
GUIOuttextwin2u 4,26,54,GUIOptionText7,0
%ifdef __MSDOS__
GUIOuttextwin2u 4,26,74,GUIOptionTextA,0
GUIOuttextwin2u 4,26,64,GUIOptionTextA,0
%endif
%ifdef __WIN32__
GUIOuttextwin2u 4,26,74,GUIOptionTextAb,0
GUIOuttextwin2u 4,26,64,GUIOptionTextAb,0
%endif
GUIOuttextwin2u 4,26,84,GUIOptionTextB,0
GUIOuttextwin2u 4,26,94,GUIOptionTextC,2
GUIOuttextwin2u 4,26,104,GUIOptionTextD,12
GUIOuttextwin2u 4,26,114,GUIOptionTextE,2
GUIOuttextwin2u 4,26,124,GUIOptionTextF,1
GUIOuttextwin2u 4,26,134,GUIOptionTextG,0
GUIOuttextwin2u 4,26,144,GUIOptionTextH,9
GUIOuttextwin2u 4,26,154,GUIOptionTextI,15
GUIOuttextwin2u 4,26,164,GUIOptionTextJ,0
GUIOuttextwin2u 4,26,174,GUIOptionTextK,1
GUIOuttextwin2u 4,26,184,GUIOptionTextM,12
GUIOuttextwin2u 4,26,74,GUIOptionTextB,0
GUIOuttextwin2u 4,26,84,GUIOptionTextC,2
GUIOuttextwin2u 4,26,94,GUIOptionTextD,12
GUIOuttextwin2u 4,26,104,GUIOptionTextE,2
GUIOuttextwin2u 4,26,114,GUIOptionTextG,0
GUIOuttextwin2u 4,26,124,GUIOptionTextJ,0
GUIOuttextwin2u 4,26,134,GUIOptionTextK,1
GUIOuttextwin2u 4,26,144,GUIOptionTextM,12
%ifdef __WIN32__
GUIOuttextwin2u 4,26,194,GUIOptionTextL,1
GUIOuttextwin2u 4,26,154,GUIOptionTextL,1
%endif
add byte[GUItextcolor],15
GUIOuttextwin2 4,5,13,[GUITemp]
GUIOuttextwin2 4,25,23,GUIOptionText2
GUIOuttextwin2 4,25,33,GUIOptionText4
GUIOuttextwin2 4,25,43,GUIOptionText5
GUIOuttextwin2 4,25,53,GUIOptionText6
GUIOuttextwin2 4,25,63,GUIOptionText7
GUIOuttextwin2 4,25,43,GUIOptionText6
GUIOuttextwin2 4,25,53,GUIOptionText7
%ifdef __MSDOS__
GUIOuttextwin2 4,25,73,GUIOptionTextA
GUIOuttextwin2 4,25,63,GUIOptionTextA
%endif
%ifdef __WIN32__
GUIOuttextwin2 4,25,73,GUIOptionTextAb
GUIOuttextwin2 4,25,63,GUIOptionTextAb
%endif
GUIOuttextwin2 4,25,83,GUIOptionTextB
GUIOuttextwin2 4,25,93,GUIOptionTextC
GUIOuttextwin2 4,25,113,GUIOptionTextE
GUIOuttextwin2 4,25,103,GUIOptionTextD
GUIOuttextwin2 4,25,123,GUIOptionTextF
GUIOuttextwin2 4,25,133,GUIOptionTextG
GUIOuttextwin2 4,25,143,GUIOptionTextH
GUIOuttextwin2 4,25,153,GUIOptionTextI
GUIOuttextwin2 4,25,163,GUIOptionTextJ
GUIOuttextwin2 4,25,173,GUIOptionTextK
GUIOuttextwin2 4,25,183,GUIOptionTextM
GUIOuttextwin2 4,25,73,GUIOptionTextB
GUIOuttextwin2 4,25,83,GUIOptionTextC
GUIOuttextwin2 4,25,103,GUIOptionTextE
GUIOuttextwin2 4,25,93,GUIOptionTextD
GUIOuttextwin2 4,25,113,GUIOptionTextG
GUIOuttextwin2 4,25,123,GUIOptionTextJ
GUIOuttextwin2 4,25,133,GUIOptionTextK
GUIOuttextwin2 4,25,143,GUIOptionTextM
%ifdef __WIN32__
GUIOuttextwin2 4,25,193,GUIOptionTextL
GUIOuttextwin2 4,25,153,GUIOptionTextL
%endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[frameskip],0
@@ -1441,112 +1433,88 @@ DisplayGUIOption:
.nocheckbox1
GUIDisplayIconWin 4,11,30,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AutoIncSaveSlot],0
je .nocheckbox2
cmp byte[MMXSupport],1
jne .nocheckbox2
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox2
GUIDisplayIconWin 4,11,40,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[MMXSupport],1
jne .nocheckbox3
cmp byte[pl12s34],0
je .nocheckbox3
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox3
GUIDisplayIconWin 4,11,50,[GUITemp]
%ifdef __MSDOS__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[pl12s34],0
cmp byte[SidewinderFix],0
je .nocheckbox4
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox4
GUIDisplayIconWin 4,11,60,[GUITemp]
%ifdef __MSDOS__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SidewinderFix],0
je .nocheckbox5
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox5
GUIDisplayIconWin 4,11,70,[GUITemp]
%endif
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[HighPriority],0
je .nocheckbox4
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox4
GUIDisplayIconWin 4,11,60,[GUITemp]
%endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FPSAtStart],0
je .nocheckbox5
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox5
GUIDisplayIconWin 4,11,70,[GUITemp]
%endif
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FPSAtStart],0
cmp byte[Turbo30hz],0
je .nocheckbox6
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox6
GUIDisplayIconWin 4,11,80,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[Turbo30hz],0
cmp byte[TimerEnable],0
je .nocheckbox7
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox7
GUIDisplayIconWin 4,11,90,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[TimerEnable],0
cmp byte[FastFwdToggle],0
je .nocheckbox8
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox8
GUIDisplayIconWin 4,11,100,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[FastFwdToggle],0
cmp byte[OldGfxMode2],0
je .nocheckbox9
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox9
GUIDisplayIconWin 4,11,110,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SRAMSave5Sec],0
cmp byte[DontSavePath],0
je .nocheckbox10
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox10
GUIDisplayIconWin 4,11,120,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[OldGfxMode2],0
cmp byte[SmallMsgText],0
je .nocheckbox11
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox11
GUIDisplayIconWin 4,11,130,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[LatestSave],0
mov dword[GUITemp],GUIIconDataCheckBoxUC ;Autopatch Checkbox
cmp byte[AutoPatch],0
je .nocheckbox12
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox12
GUIDisplayIconWin 4,11,140,[GUITemp]
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AutoState],0
cmp byte[DisableScreenSaver],0
je .nocheckbox13
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox13
GUIDisplayIconWin 4,11,150,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DontSavePath],0
je .nocheckbox14
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox14
GUIDisplayIconWin 4,11,160,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SmallMsgText],0
je .nocheckbox15
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox15
GUIDisplayIconWin 4,11,170,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC ;Autopatch Checkbox
cmp byte[AutoPatch],0
je .nocheckbox16
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox16
GUIDisplayIconWin 4,11,180,[GUITemp]
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DisableScreenSaver],0
je .nocheckbox17
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox17
GUIDisplayIconWin 4,11,190,[GUITemp]
%endif
cmp byte[frameskip],0
je near .auto
@@ -1597,7 +1565,6 @@ GUIOptionText1 db 'FRAME RATE',0
GUIOptionText2 db 'AUTO FRAME RATE',0
GUIOptionText3 db 'MAX FRAME SKIP',0
GUIOptionText4 db 'NEW GFX ENGINE',0
GUIOptionText5 db 'AUTO INCRMNT SAVE SLOT',0
GUIOptionText6 db 'MMX SUPPORT',0
GUIOptionText7 db 'USE PL3/4 AS PL1/2',0
GUIOptionTextA db 'SIDEWINDER FIX',0
@@ -1606,10 +1573,7 @@ GUIOptionTextB db 'FPS AT PROGRAM START',0
GUIOptionTextC db 'USE 30HZ FOR TURBO',0
GUIOptionTextD db 'ENABLE GAME CLOCK',0
GUIOptionTextE db 'TOGGLED FAST FWD/SLWDWN',0
GUIOptionTextF db 'SRAM CHECK+SAVE',0
GUIOptionTextG db 'OLD GFX MODE 2',0
GUIOptionTextH db 'START AT LATEST SAVE',0
GUIOptionTextI db 'AUTO STATE SAVE/LOAD',0
GUIOptionTextJ db 'DON',39,'T SAVE CUR PATH',0
GUIOptionTextK db 'USE SMALL MESSAGE TEXT',0
GUIOptionTextL db 'DISABLE SCREENSAVER',0
@@ -6474,6 +6438,60 @@ DisplayGUIPaths:
GUIOuttextwin2d 19,137,184,SPL4Path,15
ret
DisplayGUISave:
GUIDrawWindowBox 20,GUISaveDisp
mov byte[GUItextcolor],217
cmp byte[GUIWincoladd],0
je .zero
mov byte[GUItextcolor],211
.zero
sub byte[GUItextcolor],15
GUIOuttextwin2u 20,26,24,GUISaveText1,5
GUIOuttextwin2u 20,26,34,GUISaveText2,5
GUIOuttextwin2u 20,26,44,GUISaveText3,0
GUIOuttextwin2u 20,26,54,GUISaveText4,0
add byte[GUItextcolor],15
GUIOuttextwin2 20,25,23,GUISaveText1
GUIOuttextwin2 20,25,33,GUISaveText2
GUIOuttextwin2 20,25,43,GUISaveText3
GUIOuttextwin2 20,25,53,GUISaveText4
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AutoIncSaveSlot],0
je .nocheckbox
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox
GUIDisplayIconWin 20,11,20,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[SRAMSave5Sec],0
je .nocheckbox1
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox1
GUIDisplayIconWin 20,11,30,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[LatestSave],0
je .nocheckbox2
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox2
GUIDisplayIconWin 20,11,40,[GUITemp]
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[AutoState],0
je .nocheckbox3
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox3
GUIDisplayIconWin 20,11,50,[GUITemp]
ret
SECTION .data
GUISaveText1 db 'AUTO INCRMNT SAVE SLOT',0
GUISaveText2 db 'SRAM CHECK+SAVE',0
GUISaveText3 db 'START AT LATEST SAVE',0
GUISaveText4 db 'AUTO STATE SAVE/LOAD',0
SECTION .text
ret
SECTION .data
GUIPathsText1 db 'SAVES:',0
GUIPathsText2 db 'SNAPSHOTS:',0
@@ -6512,6 +6530,7 @@ GUIAddOnsDisp db 'ADD-ON SELECTOR',0
GUIAddOnsDispAlt db 84,79,65,83,84,69,82,32,80,76,85,71,73,78,83,0
GUIChipConfigDisp db 'CONFIGURE CHIPS',0
GUIPathsDisp db 'SETUP PATHS',0
GUISaveDisp db 'SAVE OPTIONS',0
SECTION .bss
GUIItemBoxColor resd 1