Option to allow Up+Down/Left+Right for speedruns' sake.

This commit is contained in:
grinvader
2005-05-20 00:54:56 +00:00
parent c15836ca5d
commit ac09e3d590
5 changed files with 25 additions and 10 deletions

View File

@@ -609,6 +609,7 @@ NEWSYM FFRatio, db 9 ; 0 = 2x, 28 = 30x
NEWSYM SDRatio, db 0 ; 0 = /2, 28 = /30 NEWSYM SDRatio, db 0 ; 0 = /2, 28 = /30
NEWSYM KeyEmuSpeedUp, dd 0 NEWSYM KeyEmuSpeedUp, dd 0
NEWSYM KeyEmuSpeedDown, dd 0 NEWSYM KeyEmuSpeedDown, dd 0
NEWSYM AllowUDLR, db 0
;end NEWSYM end ;end NEWSYM end
GUIsave equ $-GUIRAdd GUIsave equ $-GUIRAdd

View File

@@ -677,6 +677,10 @@ GUIOptionKeys:
jne .norominfo jne .norominfo
xor byte[RomInfo],1 xor byte[RomInfo],1
.norominfo .norominfo
cmp dh,'A'
jne .noallowudlr
xor byte[AllowUDLR],1
.noallowudlr
%ifdef __WIN32__ %ifdef __WIN32__
cmp dh,'I' cmp dh,'I'
jne .noscreensaver jne .noscreensaver

View File

@@ -2347,8 +2347,9 @@ DisplayGUIOptionClick:
GUIClickCButton 11,120,byte[SmallMsgText] GUIClickCButton 11,120,byte[SmallMsgText]
GUIClickCButton 11,130,byte[AutoPatch] GUIClickCButton 11,130,byte[AutoPatch]
GUIClickCButton 11,140,byte[RomInfo] GUIClickCButton 11,140,byte[RomInfo]
GUIClickCButton 11,150,byte[AllowUDLR]
%ifdef __WIN32__ %ifdef __WIN32__
GUIClickCButtonW 11,150,byte[DisableScreenSaver] GUIClickCButtonW 11,160,byte[DisableScreenSaver]
%endif %endif
ret ret

View File

@@ -1474,8 +1474,9 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
GUIOuttextwin2u 4,26,124,GUIOptionTextC,1 GUIOuttextwin2u 4,26,124,GUIOptionTextC,1
GUIOuttextwin2u 4,26,134,GUIOptionTextD,12 GUIOuttextwin2u 4,26,134,GUIOptionTextD,12
GUIOuttextwin2u 4,26,144,GUIOptionTextE,15 GUIOuttextwin2u 4,26,144,GUIOptionTextE,15
GUIOuttextwin2u 4,26,154,GUIOptionTextF,0
%ifdef __WIN32__ %ifdef __WIN32__
GUIOuttextwin2u 4,26,154,GUIOptionTextW,1 GUIOuttextwin2u 4,26,164,GUIOptionTextW,1
%endif %endif
add byte[GUItextcolor],15 ; Text add byte[GUItextcolor],15 ; Text
@@ -1496,8 +1497,9 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
GUIOuttextwin2 4,25,123,GUIOptionTextC GUIOuttextwin2 4,25,123,GUIOptionTextC
GUIOuttextwin2 4,25,133,GUIOptionTextD GUIOuttextwin2 4,25,133,GUIOptionTextD
GUIOuttextwin2 4,25,143,GUIOptionTextE GUIOuttextwin2 4,25,143,GUIOptionTextE
GUIOuttextwin2 4,25,153,GUIOptionTextF
%ifdef __WIN32__ %ifdef __WIN32__
GUIOuttextwin2 4,25,153,GUIOptionTextW GUIOuttextwin2 4,25,163,GUIOptionTextW
%endif %endif
@@ -1596,13 +1598,20 @@ DisplayGUIOption: ; Frame Rate/Auto Frame Rate/Max Frame Skip/New Gfx Engi
.nocheckbox12 .nocheckbox12
GUIDisplayIconWin 4,11,140,[GUITemp] GUIDisplayIconWin 4,11,140,[GUITemp]
%ifdef __WIN32__
mov dword[GUITemp],GUIIconDataCheckBoxUC mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DisableScreenSaver],0 cmp byte[AllowUDLR],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__
mov dword[GUITemp],GUIIconDataCheckBoxUC
cmp byte[DisableScreenSaver],0
je .nocheckbox99
mov dword[GUITemp],GUIIconDataCheckBoxC
.nocheckbox99
GUIDisplayIconWin 4,11,160,[GUITemp]
%endif %endif
ret ret
@@ -1619,12 +1628,12 @@ GUIOptionText6b db 'HIGH PRIORITY MODE',0
GUIOptionText7 db 'FPS AT PROGRAM START',0 GUIOptionText7 db 'FPS AT PROGRAM START',0
GUIOptionText8 db 'USE 30HZ FOR TURBO',0 GUIOptionText8 db 'USE 30HZ FOR TURBO',0
GUIOptionText9 db 'ENABLE GAME CLOCK',0 GUIOptionText9 db 'ENABLE GAME CLOCK',0
;GUIOptionTextA db 'TOGGLED FAST FWD/SLWDWN',0
GUIOptionTextA db 'OLD GFX MODE 2',0 GUIOptionTextA db 'OLD GFX MODE 2',0
GUIOptionTextB db 'DON',39,'T SAVE CUR PATH',0 GUIOptionTextB db 'DON',39,'T SAVE CUR PATH',0
GUIOptionTextC db 'USE SMALL MESSAGE TEXT',0 GUIOptionTextC db 'USE SMALL MESSAGE TEXT',0
GUIOptionTextD db 'ENABLE AUTO-PATCH',0 GUIOptionTextD db 'ENABLE AUTO-PATCH',0
GUIOptionTextE db 'ENABLE ROMINFO.TXT',0 GUIOptionTextE db 'ENABLE ROMINFO.TXT',0
GUIOptionTextF db 'ALLOW U+D/L+R',0
GUIOptionTextW db 'DISABLE SCREENSAVER',0 ; Try to keep as last option, since its Win Only. GUIOptionTextW db 'DISABLE SCREENSAVER',0 ; Try to keep as last option, since its Win Only.
GUIOptionTextX db '-',0 GUIOptionTextX db '-',0
GUIOptionTextY db '+',0 GUIOptionTextY db '+',0
@@ -3880,7 +3889,6 @@ DisplayGameOptns:
GUIOuttextwin2 9,8+52,81,GUIGameOptnsTextB GUIOuttextwin2 9,8+52,81,GUIGameOptnsTextB
GUIOuttextwin2 9,136,81,GUIGameOptnsTextC GUIOuttextwin2 9,136,81,GUIGameOptnsTextC
mov al,byte[GUIGameOptnsColA] mov al,byte[GUIGameOptnsColA]
mov byte[GUItextcolor],al mov byte[GUItextcolor],al
mov al,byte[GUIGameOptnsColB] mov al,byte[GUIGameOptnsColB]
@@ -3996,7 +4004,6 @@ GUIGameOptnsTextC db 'SAVE SPC',0
GUIGameOptnsTextD db 'MISC TOGGLES :',0 GUIGameOptnsTextD db 'MISC TOGGLES :',0
GUIGameOptnsTextE db 'USE PL12/34',0 GUIGameOptnsTextE db 'USE PL12/34',0
;GUIGameOptnsTextEa db 'FREE SPACE',0
GUIGameOptnsTextF db 'CLRSWITCHES',0 GUIGameOptnsTextF db 'CLRSWITCHES',0
GUIGameOptnsTextG db 'EXTRADEVICE',0 GUIGameOptnsTextG db 'EXTRADEVICE',0
GUIGameOptnsTextGa db '+VOL',0 GUIGameOptnsTextGa db '+VOL',0

View File

@@ -56,7 +56,7 @@ EXTSYM memaccessbankr1648mb,procexecloop,ram7fa,wramdata,wramdataa,fname,fnames
EXTSYM GetCurDir,SRAMChdir,cfgloadsdir,fnamest,statefileloc,InitDir,InitDrive EXTSYM GetCurDir,SRAMChdir,cfgloadsdir,fnamest,statefileloc,InitDir,InitDrive
EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16 EXTSYM curromspace,infoloc,patchfile,romispal,initregr,initregw,memtabler16
EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,ScrDispl,wramreadptr EXTSYM memtabler8,memtablew16,memtablew8,sfxramdata,ScrDispl,wramreadptr
EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw EXTSYM wramwriteptr,loadstate2,CMovieExt,MoviePlay,MovieDumpRaw,AllowUDLR
;initc.c ;initc.c
EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize EXTSYM clearmem,clearSPCRAM,PatchUsingIPS,ZOpenFileName,loadROM,SPC7110IndexSize
@@ -687,6 +687,8 @@ CombContDatR dd 08000000h,04000000h,01000000h,02000000h,00800000h,80000000h
SECTION .text SECTION .text
%macro PlayerDeviceFix 1 %macro PlayerDeviceFix 1
cmp byte[AllowUDLR],1
je %%noleftright
mov eax,[%1] mov eax,[%1]
and eax,0C000000h and eax,0C000000h
cmp eax,0C000000h cmp eax,0C000000h