diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 64ce5842..62108e6d 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -599,6 +599,7 @@ NEWSYM SoundInterpType, db 1 NEWSYM KeyDisplayFPS, dd 0 NEWSYM KeyIncStateSlot, dd 0 NEWSYM KeyDecStateSlot, dd 0 +NEWSYM KeySwapPlayer1234, dd 0 GUIsave equ $-GUIRAdd diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index f667f319..84f77efb 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2771,6 +2771,7 @@ DisplayGameOptnsClick: DGOptnsProcBox 27+45*2,24,[KeyBGDisble2] DGOptnsProcBox 27+45*3,24,[KeyBGDisble3] DGOptnsProcBox 27+45*4,24,[KeySprDisble] + DGOptnsProcBox 78,44,[KeySwapPlayer1234] DGOptnsProcBox 78,52,[KeyResetAll] DGOptnsProcBox 78,60,[KeyExtraEnab] DGOptnsProcBox 78,68,[KeyNewGfxSwt] diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index b6c1475d..939cddd1 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -4526,9 +4526,10 @@ DisplayGameOptns: GUIOuttextwin2 9,9+180,26,GUIGameOptnsText5 mov al,byte[GUIGameOptnsColA] mov byte[GUItextcolor],al - GUIOuttextwin2 9,6,44,GUIGameOptnsTextC + GUIOuttextwin2 9,6,36,GUIGameOptnsTextC mov al,byte[GUIGameOptnsColB] mov byte[GUItextcolor],al + GUIOuttextwin2 9,9,46,GUIGameOptnsText1A GUIOuttextwin2 9,9,54,GUIGameOptnsTextD GUIOuttextwin2 9,9,62,GUIGameOptnsTextL GUIOuttextwin2 9,9,70,GUIGameOptnsTextE @@ -4634,9 +4635,10 @@ DisplayGameOptns: GUIOuttextwin2 9,8+180,25,GUIGameOptnsText5 mov al,byte[GUIGameOptnsColA] mov byte[GUItextcolor],al - GUIOuttextwin2 9,5,43,GUIGameOptnsTextC + GUIOuttextwin2 9,5,35,GUIGameOptnsTextC mov al,byte[GUIGameOptnsColB] mov byte[GUItextcolor],al + GUIOuttextwin2 9,8,45,GUIGameOptnsText1A GUIOuttextwin2 9,8,53,GUIGameOptnsTextD GUIOuttextwin2 9,8,61,GUIGameOptnsTextL GUIOuttextwin2 9,8,69,GUIGameOptnsTextE @@ -4725,6 +4727,7 @@ DisplayGameOptns: DGOptnsDrawBox 27+45*2,24,[KeyBGDisble2] DGOptnsDrawBox 27+45*3,24,[KeyBGDisble3] DGOptnsDrawBox 27+45*4,24,[KeySprDisble] + DGOptnsDrawBox 78,44,[KeySwapPlayer1234] DGOptnsDrawBox 78,52,[KeyResetAll] DGOptnsDrawBox 78,60,[KeyExtraEnab] DGOptnsDrawBox 78,68,[KeyNewGfxSwt] @@ -4815,6 +4818,7 @@ GUIGameOptnsTextV db 'SAVE SPC',0 GUIGameOptnsTextX db 'DISPLAY FPS',0 GUIGameOptnsTextY db 'ST+',0 GUIGameOptnsTextZ db 'ST-',0 +GUIGameOptnsText1A db 'SW PL 12/34',0 SECTION .text DisplayGUIOptns: diff --git a/zsnes/src/vcache.asm b/zsnes/src/vcache.asm index df306f44..004a1497 100644 --- a/zsnes/src/vcache.asm +++ b/zsnes/src/vcache.asm @@ -33,7 +33,7 @@ EXTSYM KeyBGDisble0,KeyBGDisble1,KeyBGDisble2,KeyBGDisble3,KeySprDisble EXTSYM KeyResetAll,KeyExtraEnab,KeyWinDisble,KeyNewGfxSwt,KeyOffsetMSw EXTSYM KeyStateSlc0,KeyStateSlc1,KeyStateSlc2,KeyStateSlc3,KeyStateSlc4 EXTSYM KeyStateSlc5,KeyStateSlc6,KeyStateSlc7,KeyStateSlc8,KeyStateSlc9 -EXTSYM KeyIncStateSlot,KeyDecStateSlot +EXTSYM KeyIncStateSlot,KeyDecStateSlot,KeySwapPlayer1234 EXTSYM maxskip,DSPMem,SprValAdd,dsp1ptr,dsp1array,FastFwdToggle,SaveSramData EXTSYM ngextbg,Mode7HiRes,Check60hz,Get_MouseData,Get_MousePositionDisplacement EXTSYM WindowDisables,scanlines,romispal @@ -45,7 +45,7 @@ EXTSYM CNetType EXTSYM KeySlowDown EXTSYM chaton EXTSYM genfulladdtab -EXTSYM KeyFRateDown,KeyFRateUp,KeyVolUp,KeyVolDown,KeyDisplayFPS,FPSOn +EXTSYM KeyFRateDown,KeyFRateUp,KeyVolUp,KeyVolDown,KeyDisplayFPS,FPSOn,pl12s34 EXTSYM bg1ptr,bg2ptr,bg3ptr,bg4ptr,cachebg1,resolutn EXTSYM curypos,oamram,objhipr,objptr,objptrn,objsize1,objsize2 EXTSYM spritetablea,sprleftpr,sprlefttot,vcache4b @@ -792,6 +792,19 @@ NEWSYM cachevideo mov [MessageOn],eax xor dh,dh .nodecstateslot + mov eax,[KeySwapPlayer1234] + test byte[pressed+eax],1 + je .noswpl1234 + mov byte[pressed+eax],2 + xor byte[pl12s34],1 + mov dword[Msgptr],plsw1234en + cmp byte[pl12s34],1 + je .swpl1234 + mov dword[Msgptr],plsw1234dis +.swpl1234 + mov eax,[MsgCount] + mov [MessageOn],eax +.noswpl1234 ; do sound disables soundselcomp KeyDisableSC0,Voice0Disable,Voice0Status,'1' @@ -981,6 +994,8 @@ NEWSYM sselm, db 'STATE SLOT 0 SELECTED',0 NEWSYM vollv, db 'VOLUME LEVEL : ',0 NEWSYM frlev, db 'FRAME SKIP SET TO ',0 NEWSYM frlv0, db 'AUTO FRAMERATE ENABLED',0 +NEWSYM plsw1234en, db 'SWAPPED PLAYER 1/2 with 3/4',0 +NEWSYM plsw1234dis, db 'SWAPPED PLAYER 3/4 with 1/2',0 sndchena db 'SOUND CH ENABLED',0 sndchdis db 'SOUND CH DISABLED',0 bg1layena db 'BG1 LAYER ENABLED',0