• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login

prboom with modern control scheme?

Scheduled Pinned Locked Moved General Discussion and Gaming
prboom
22 Posts 4 Posters 9.8k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C
    Concat
    last edited by 28 Aug 2016, 15:07

    Hey everyone,

    I hate that I can't map the right joystick in retroarch for prboom... :P I basically want left joystick to be forward/backward/strafe left/strafe right, and right joystick to be turn left/turn right. This mirrors modern controls. It's been a long time since I played these old 1st person shooters with their original control scheme... has anyone successfully done this?

    Retroarch will only let me set left joystick or right joystick to digital, not both, and it doesn't recognize analog at all.

    I have shadow warrior setup with modern controls with LinuxJoystickMapper, so I'm going to have to try that again here. Playing Shadow Warrior with modern controls is sweet... I played that game so much as a kid.

    D E 2 Replies Last reply 28 Aug 2016, 20:08 Reply Quote 0
    • D
      dudleydes @Concat
      last edited by 28 Aug 2016, 20:08

      @Concat I posted my RetroArch config for PrBoom that setup the right analog stick as strafe left and right on the RetroPie subreddit a few months back.

      What are you playing Shadow Warrior on? If it's DOSBox, then the mapper will recognise the right analog stick without issue.

      In any case, as a LinuxJoystickMapper user myself, I would be interested in seeing your map file for Shadow Warrior as there are some ports (eduke32, dxx-rebirth) where my controller works fine in-game but doesn't work in the menus. It would be nice to able to use these ports without having to reach for a keyboard.

      M C 2 Replies Last reply 28 Aug 2016, 21:54 Reply Quote 0
      • M
        mahcneto @dudleydes
        last edited by 28 Aug 2016, 21:54

        @dudleydes said in prboom with modern control scheme?:

        In any case, as a LinuxJoystickMapper user myself, I would be interested in seeing your map file for Shadow Warrior as there are some ports (eduke32, dxx-rebirth) where my controller works fine in-game but doesn't work in the menus. It would be nice to able to use these ports without having to reach for a keyboard.

        I second this!! I love Duke3d and its port, but sometimes after mapping all my buttons, I can't press my USB pad Start button to open the main menu, the game just doesn't have that button to map in its Options. Speaking of that, sometimes after I setup my buttons config and I quit the game, they get messed up when I load it again, don't know why?

        1 Reply Last reply Reply Quote 0
        • C
          Concat
          last edited by 29 Aug 2016, 04:23

          The dev for linixjoystickmapper released a new version which improves the mapping for analog joystick to key mappings. He included a "trinary" flag which works great for me. Have a look at the wiki to see our convo. Theres also some deadzone code worked in now, but I dont seem to notice a difference. I think the code is still buggy, but trinary makes it workable.

          For the duke port, I oly used the ingame mapping, so Im the same boat. Have to use keyboard for that. When I can I will post the map file Im using for shadow warrior. It works well - I think the right joystick is mapped to mouse, and left is mapped to key presses.

          1 Reply Last reply Reply Quote 0
          • C
            Concat
            last edited by 29 Aug 2016, 04:29

            Also, it seems eduke will auto assign unused buttons... like double press button 1 or 2 or whatever. Only advice there is to assign something to those buttons other than "none". Or just use the linixjoystickmapper to map to keyboard presses and be done with it :)

            M 1 Reply Last reply 29 Aug 2016, 04:38 Reply Quote 0
            • M
              mahcneto @Concat
              last edited by 29 Aug 2016, 04:38

              @Concat Never thought about assigning something to that, because the game automatically assigns whatever thinks it's ok and messes up big time, thanks!

              1 Reply Last reply Reply Quote 0
              • E
                edmaul69 @Concat
                last edited by 29 Aug 2016, 06:19

                @Concat what controller are you using? If you post the contents of the controllers file in /opt/retropie/configs/all/retroarch-joypads/ i will post a retroarch.cfg for lr-prboom with the analogs set how you want it if you havent figured it out already

                1 Reply Last reply Reply Quote 0
                • C
                  Concat
                  last edited by 29 Aug 2016, 18:24

                  @edmaul69

                  I'm using a Dualshock 3 controller, and no I haven't figured it out yet. I can only map the joysticks when one of them is in digital mode, and retroarch doesn't let me set both of them to digital mode at the same time.

                  I essentially want to map 3 axes:

                  Left Joystick -> x-axis for strafing (axis 0)
                  Left Joystick -> y-axis for moving forward and backward (axis 1)
                  Right Joystick -> x-axis for turning (axis 2)

                  The problem is that analog to digital just assigns the joystick to the dpad input, so there's only 4 buttons to work with. I need 6. If I could do this with retroarch, then great... but it looks like I have to resort to linuxjoystickmapper to accomplish this.

                  D 1 Reply Last reply 29 Aug 2016, 19:09 Reply Quote 0
                  • D
                    dudleydes @Concat
                    last edited by dudleydes 29 Aug 2016, 19:09

                    @Concat Have you tried adding the following lines to /opt/retropie/configs/doom/retroarch.cfg:

                    input_libretro_device_p1 = "5"
                    input_player1_analog_dpad_mode = "1"
                    input_player1_l_axis = "-2"
                    input_player1_r_axis = "+2"
                    

                    This will map the left analog stick to moving forwards and backwards, and turning left and right, and the right analog stick to strafe left and right.

                    I appreciate it's not exactly what you're looking for. It may be possible to reconfigure in RGUI.

                    1 Reply Last reply Reply Quote 0
                    • C
                      Concat
                      last edited by 29 Aug 2016, 19:27

                      @dudleydes

                      Hmm, I know what the first two lines do... but what do the last two do?

                      input_player1_l_axis = "-2"
                      input_player1_r_axis = "+2"

                      E 1 Reply Last reply 29 Aug 2016, 20:52 Reply Quote 0
                      • D
                        dudleydes
                        last edited by 29 Aug 2016, 19:35

                        I used the RGUI to get the right analog stick working so I have no idea. It works in PrBoom, as it doesn't in other libretro cores, so I'm happy. I'm sure someone more knowledgeable in RetroArch configuration can enlighten us.

                        1 Reply Last reply Reply Quote 0
                        • E
                          edmaul69 @Concat
                          last edited by edmaul69 29 Aug 2016, 20:52

                          @Concat here you go my friend. place this in /opt/retropie/configs/ports/doom/retroarch.cfg . both the d-pad and the left analog function the same.

                          # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
                          
                          input_remapping_directory = "/opt/retropie/configs/ports/doom/"
                          
                          input_player1_start_btn = "3"
                          input_player1_select_btn = "0"
                          input_player1_up_btn = "4"
                          input_player1_down_btn = "6"
                          input_player1_left_btn = "20"
                          input_player1_right_btn = "21"
                          input_player1_up_axis = "-1"
                          input_player1_down_axis = "+1"
                          input_player1_left_axis = "-2"
                          input_player1_right_axis = "+2"
                          input_player1_a_btn = "13"
                          input_player1_b_btn = "14"
                          input_player1_x_btn = "9" # this is the button used for fire. it is set to "9" "r1" right trigger button. change it to "14" for "b" button (sony's X button)
                          input_player1_y_btn = "15"
                          input_player1_l_axis = "-0"
                          input_player1_r_axis = "+0"
                          input_player1_l_btn = "7"
                          input_player1_r_btn = "5"
                          input_player1_l2_btn = "10"
                          input_player1_r2_btn = "11"
                          input_player1_l3_btn = "1"
                          input_player1_r3_btn = "2"
                          
                          #include "/opt/retropie/configs/all/retroarch.cfg"
                          
                          1 Reply Last reply Reply Quote 1
                          • E
                            edmaul69
                            last edited by edmaul69 29 Aug 2016, 22:01

                            so if you want the button for opening the doors to be on the right analog's button instead of "a" (playstations "O" button) change these from:

                            input_player1_a_btn = "13"
                            input_player1_r3_btn = "2"
                            

                            to:

                            input_player1_a_btn = "2"
                            input_player1_r3_btn = "13"
                            
                            1 Reply Last reply Reply Quote 1
                            • C
                              Concat
                              last edited by 29 Aug 2016, 22:13

                              Thanks @edmaul69

                              Do you know what this does:

                              input_player1_l_axis = "-0"
                              input_player1_r_axis = "+0"
                              

                              As you see above, @dudleydes recommended I try:

                              input_player1_l_axis = "-2"
                              input_player1_r_axis = "+2"
                              

                              Mapping the left joystick is easy peasy... it's getting the right joystick mapped along with the left joystick that is posing to be a problem. I'll try your config settings, but I'm hoping to understand those two lines better.

                              E 2 Replies Last reply 29 Aug 2016, 22:26 Reply Quote 0
                              • E
                                edmaul69 @Concat
                                last edited by edmaul69 29 Aug 2016, 22:26

                                @Concat if you use the exact retroarch.cfg i posted it works 100% both analogs and the d-pad

                                1 Reply Last reply Reply Quote 0
                                • E
                                  edmaul69 @Concat
                                  last edited by edmaul69 29 Aug 2016, 22:29

                                  @Concat if you do it his way you cannot get both analogs to work plus the d-pad

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    edmaul69
                                    last edited by edmaul69 29 Aug 2016, 22:43

                                    do not put this in your doom config, psx config, n64 config, psp config or all configs. but if you add this to all your other retroarch.cfg files you can use both your analog and your dpad as the same controls instead of just the d-pad:

                                    input_player1_up_axis = "-1"
                                    input_player1_down_axis = "+1"
                                    input_player1_left_axis = "-0"
                                    input_player1_right_axis = "+0"
                                    
                                    input_player2_up_axis = "-1"
                                    input_player2_down_axis = "+1"
                                    input_player2_left_axis = "-0"
                                    input_player2_right_axis = "+0"
                                    

                                    and this is universal to every controller i have ever hooked up

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      Concat @dudleydes
                                      last edited by 30 Aug 2016, 00:41

                                      @dudleydes said in prboom with modern control scheme?:

                                      In any case, as a LinuxJoystickMapper user myself, I would be interested in seeing your map file for Shadow Warrior as there are some ports (eduke32, dxx-rebirth) where my controller works fine in-game but doesn't work in the menus. It would be nice to able to use these ports without having to reach for a keyboard.

                                      Hey, here's my .map file: http://pastebin.com/0fuKdtCJ

                                      Nothing special. The only thing new is the "trinary" flags that are attached to the right stick mapping. You'll need to update to joymap 4.1

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Concat
                                        last edited by Concat 30 Aug 2016, 02:20

                                        @edmaul69
                                        You rock. Your config worked like a charm!

                                        Well, at first it was a mess, but then I remembered that Doom has it's own key bindings which I already tried messing with. So once I fixed all of that it was gravy.

                                        Well, that's not true either, because I went into RGUI trying to troubleshoot and accidentally save the auto config, which absolutely messed up every other emulator. lol. So I had to delete the autoconf file and restart the mapping in emulationstation to create a new one. Made myself sweat for a while there. I hope nothing else was buggered up during my recklessness...

                                        Anyway, now that I have the controls worked out, on to the next problem. None of the cheats I'm entering are working. Is this another weird problem with key mappings (perhaps I have a key used in the cheat codes mapped to some game input)? :D

                                        E 1 Reply Last reply 30 Aug 2016, 16:04 Reply Quote 0
                                        • E
                                          edmaul69 @Concat
                                          last edited by edmaul69 30 Aug 2016, 16:04

                                          @Concat did you have your system connected to the internet to install the cheats? I honestly havent messed with the cheats except to test in nes. As far as setting up the controls, i have not used the rgui since testing it out back on 2.6. I have learned a lot about the controls and how to manipulate them to my needs by always manually configuring them. Auto-config with multiple controllers has made less configuring for me, but there are still some systems i configure for a specific controller. And now the doom series is one of them for me thanks to you needing a config file. It is much nicer this way. So me helping you actually helped me.

                                          1 Reply Last reply Reply Quote 0
                                          20 out of 22
                                          • First post
                                            20/22
                                            Last post

                                          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.

                                            This community forum collects and processes your personal information.
                                            consent.not_received