diff --git a/zsnes/src/gui/gui.asm b/zsnes/src/gui/gui.asm index 62dd4936..9b075bfd 100644 --- a/zsnes/src/gui/gui.asm +++ b/zsnes/src/gui/gui.asm @@ -559,6 +559,17 @@ NEWSYM MainWindowY, dw -1 NEWSYM ScreenShotFormat, db 0 +NEWSYM pl1Ltk, dd 0 ; Turbo L +NEWSYM pl1Rtk, dd 0 ; Turbo R +NEWSYM pl2Ltk, dd 0 ; Turbo L +NEWSYM pl2Rtk, dd 0 ; Turbo R +NEWSYM pl3Ltk, dd 0 ; Turbo L +NEWSYM pl3Rtk, dd 0 ; Turbo R +NEWSYM pl4Ltk, dd 0 ; Turbo L +NEWSYM pl4Rtk, dd 0 ; Turbo R +NEWSYM pl5Ltk, dd 0 ; Turbo L +NEWSYM pl5Rtk, dd 0 ; Turbo R + GUIsave equ $-GUIRAdd NEWSYM CombinDataGlob, times 3300 db 0 ; 20-name, 42-combo, 2-key#, 1-P#, 1-ff diff --git a/zsnes/src/gui/guimouse.inc b/zsnes/src/gui/guimouse.inc index 9efc7907..2535576d 100644 --- a/zsnes/src/gui/guimouse.inc +++ b/zsnes/src/gui/guimouse.inc @@ -2028,6 +2028,26 @@ DisplayGUIInputClick: DGOptnsProcBox 125,100,[edi+8] ; X Turbo DGOptnsProcBox 125,110,[edi+12] ; Y Turbo + mov edi,pl1Ltk + cmp byte[cplayernum],1 + jne .nopl2tl + mov edi,pl2Ltk +.nopl2tl + cmp byte[cplayernum],2 + jne .nopl3tl + mov edi,pl3Ltk +.nopl3tl + cmp byte[cplayernum],3 + jne .nopl4tl + mov edi,pl4Ltk +.nopl4tl + cmp byte[cplayernum],4 + jne .nopl5tl + mov edi,pl5Ltk +.nopl5tl + DGOptnsProcBox 125,120,[edi] ; L Turbo + DGOptnsProcBox 165,120,[edi+4] ; R Turbo + mov edi,pl1ULk cmp byte[cplayernum],1 jne .nopl2tb @@ -2045,10 +2065,10 @@ DisplayGUIInputClick: jne .nopl5tb mov edi,pl5ULk .nopl5tb - DGOptnsProcBoxb 165,135,[edi] - DGOptnsProcBoxb 165,145,[edi+4] - DGOptnsProcBoxb 125,135,[edi+8] - DGOptnsProcBoxb 125,145,[edi+12] + DGOptnsProcBoxb 165,140,[edi] + DGOptnsProcBoxb 165,150,[edi+4] + DGOptnsProcBoxb 125,140,[edi+8] + DGOptnsProcBoxb 125,150,[edi+12] %ifdef __MSDOS__ xor ebx,ebx mov bl,[cplayernum] diff --git a/zsnes/src/gui/guiwindp.inc b/zsnes/src/gui/guiwindp.inc index 932ea9f3..d99bc594 100644 --- a/zsnes/src/gui/guiwindp.inc +++ b/zsnes/src/gui/guiwindp.inc @@ -1036,12 +1036,14 @@ DisplayGUIInput: %endif GUIOuttextwin2 3,156,102,GUIInputText7 GUIOuttextwin2 3,156,112,GUIInputText8 + GUIOuttextwin2 3,156,122,GUIInputTextC GUIOuttextwin2 3,116,102,GUIInputText9 GUIOuttextwin2 3,116,112,GUIInputTextA - GUIOuttextwin2 3,153,137,GUIInputTextd - GUIOuttextwin2 3,153,147,GUIInputTexte - GUIOuttextwin2 3,113,137,GUIInputTextf - GUIOuttextwin2 3,113,147,GUIInputTextg + GUIOuttextwin2 3,116,122,GUIInputTextB + GUIOuttextwin2 3,153,142,GUIInputTextd + GUIOuttextwin2 3,153,152,GUIInputTexte + GUIOuttextwin2 3,113,142,GUIInputTextf + GUIOuttextwin2 3,113,152,GUIInputTextg add byte[GUItextcolor],15 GUIOuttextwin2 3,5,101,GUIInputText3 GUIOuttextwin2 3,5,111,GUIInputText4 @@ -1060,12 +1062,14 @@ DisplayGUIInput: %endif GUIOuttextwin2 3,155,101,GUIInputText7 GUIOuttextwin2 3,155,111,GUIInputText8 + GUIOuttextwin2 3,155,121,GUIInputTextC GUIOuttextwin2 3,115,101,GUIInputText9 GUIOuttextwin2 3,115,111,GUIInputTextA - GUIOuttextwin2 3,152,136,GUIInputTextd - GUIOuttextwin2 3,152,146,GUIInputTexte - GUIOuttextwin2 3,112,136,GUIInputTextf - GUIOuttextwin2 3,112,146,GUIInputTextg + GUIOuttextwin2 3,115,121,GUIInputTextB + GUIOuttextwin2 3,152,141,GUIInputTextd + GUIOuttextwin2 3,152,151,GUIInputTexte + GUIOuttextwin2 3,112,141,GUIInputTextf + GUIOuttextwin2 3,112,151,GUIInputTextg %ifdef __MSDOS__ mov dword[GUITemp],GUIIconDataCheckBoxUC xor eax,eax @@ -1093,7 +1097,7 @@ DisplayGUIInput: GUIOuttextwin2 3,6,26,GUIInputText2 GUIOuttextwin2 3,6,92,GUIInputTextP GUIOuttextwin2 3,116,92,GUIInputTextb - GUIOuttextwin2 3,116,127,GUIInputTextc + GUIOuttextwin2 3,116,131,GUIInputTextc xor eax,eax mov al,[cplayernum] mov ebx,[GUIInputRefP+eax*4] @@ -1115,7 +1119,7 @@ DisplayGUIInput: GUIOuttextwin2 3,5,25,GUIInputText2 GUIOuttextwin2 3,5,91,GUIInputTextP GUIOuttextwin2 3,115,91,GUIInputTextb - GUIOuttextwin2 3,115,126,GUIInputTextc + GUIOuttextwin2 3,115,130,GUIInputTextc GUIOuttextwin2 3,6+24,82,[GUITemp] GUIOuttextwin2 3,6,82,GUIInputTextT DrawGUIWinBox 3,5,34,107,77,167 @@ -1175,6 +1179,26 @@ DisplayGUIInput: GUIInputDispKey 165,110 ; B Turbo GUIInputDispKey 125,100 ; X Turbo GUIInputDispKey 125,110 ; Y Turbo + mov edi,pl1Ltk + cmp byte[cplayernum],1 + jne .nopl2tl + mov edi,pl2Ltk +.nopl2tl + cmp byte[cplayernum],2 + jne .nopl3tl + mov edi,pl3Ltk +.nopl3tl + cmp byte[cplayernum],3 + jne .nopl4tl + mov edi,pl4Ltk +.nopl4tl + cmp byte[cplayernum],4 + jne .nopl5tl + mov edi,pl5Ltk +.nopl5tl + GUIInputDispKey 125,120 ; L Turbo + GUIInputDispKey 165,120 ; R Turbo + mov edi,pl1ULk cmp byte[cplayernum],1 jne .nopl2tb @@ -1192,10 +1216,10 @@ DisplayGUIInput: jne .nopl5tb mov edi,pl5ULk .nopl5tb - GUIInputDispKey 165,135 ; Up-Left - GUIInputDispKey 165,145 ; Up-Right - GUIInputDispKey 125,135 ; Down-Left - GUIInputDispKey 125,145 ; Down-Right + GUIInputDispKey 165,140 ; Up-Left + GUIInputDispKey 165,150 ; Up-Right + GUIInputDispKey 125,140 ; Down-Left + GUIInputDispKey 125,150 ; Down-Right mov byte[GUItextcolor],223 mov eax,[GUIcurrentinputviewloc] diff --git a/zsnes/src/init.asm b/zsnes/src/init.asm index 8fa4d472..88d7037d 100644 --- a/zsnes/src/init.asm +++ b/zsnes/src/init.asm @@ -109,6 +109,7 @@ EXTSYM sramaccessbankr16,sramaccessbankr16s,sramaccessbankr8 EXTSYM sramaccessbankr8s,sramaccessbankw16,sramaccessbankw16s EXTSYM sramaccessbankw8,sramaccessbankw8s,GenerateBank0TableSA1 EXTSYM ScrDispl +EXTSYM pl1Ltk,pl1Rtk,pl2Ltk,pl2Rtk,pl3Ltk,pl3Rtk,pl4Ltk,pl4Rtk,pl5Ltk,pl5Rtk %ifdef __LINUX__ EXTSYM LoadDir, popdir, pushdir %endif @@ -808,6 +809,8 @@ NEWSYM ReadInputDevice PlayerDeviceHelp pl1Ytk ,JoyAOrig,40000000h PlayerDeviceHelp pl1Atk ,JoyAOrig,00800000h PlayerDeviceHelp pl1Btk ,JoyAOrig,80000000h + PlayerDeviceHelp pl1Ltk ,JoyAOrig,00200000h + PlayerDeviceHelp pl1Rtk ,JoyAOrig,00100000h .noswitch ProcessKeyComb 0,JoyAOrig or dword[JoyAOrig],00008000h ; Joystick Enable @@ -917,6 +920,8 @@ NEWSYM ReadInputDevice PlayerDeviceHelp pl2Ytk ,JoyBOrig,40000000h PlayerDeviceHelp pl2Atk ,JoyBOrig,00800000h PlayerDeviceHelp pl2Btk ,JoyBOrig,80000000h + PlayerDeviceHelp pl2Ltk ,JoyBOrig,00200000h + PlayerDeviceHelp pl2Rtk ,JoyBOrig,00100000h .noswitch2 ProcessKeyComb 1,JoyBOrig or dword[JoyBOrig],00008000h ; Joystick Enable @@ -949,6 +954,8 @@ NEWSYM ReadInputDevice PlayerDeviceHelp pl3Ytk ,JoyCOrig,40000000h PlayerDeviceHelp pl3Atk ,JoyCOrig,00800000h PlayerDeviceHelp pl3Btk ,JoyCOrig,80000000h + PlayerDeviceHelp pl3Ltk ,JoyCOrig,00200000h + PlayerDeviceHelp pl3Rtk ,JoyCOrig,00100000h .noswitch3 ProcessKeyComb 2,JoyCOrig or dword[JoyCOrig],00008000h ; Joystick Enable @@ -981,6 +988,8 @@ NEWSYM ReadInputDevice PlayerDeviceHelp pl4Ytk ,JoyDOrig,40000000h PlayerDeviceHelp pl4Atk ,JoyDOrig,00800000h PlayerDeviceHelp pl4Btk ,JoyDOrig,80000000h + PlayerDeviceHelp pl4Ltk ,JoyDOrig,00200000h + PlayerDeviceHelp pl4Rtk ,JoyDOrig,00100000h .noswitch4 ProcessKeyComb 3,JoyDOrig or dword[JoyDOrig],00008000h ; Joystick Enable @@ -1013,6 +1022,8 @@ NEWSYM ReadInputDevice PlayerDeviceHelp pl5Ytk ,JoyEOrig,40000000h PlayerDeviceHelp pl5Atk ,JoyEOrig,00800000h PlayerDeviceHelp pl5Btk ,JoyEOrig,80000000h + PlayerDeviceHelp pl5Ltk ,JoyEOrig,00200000h + PlayerDeviceHelp pl5Rtk ,JoyEOrig,00100000h .noswitch5 ProcessKeyComb 3,JoyEOrig or dword[JoyEOrig],00008000h ; Joystick Enable