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

      @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 Reply Quote 0
      • D
        dudleydes @Concat
        last edited by dudleydes

        @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

          @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"

          edmaul69E 1 Reply Last reply Reply Quote 0
          • D
            dudleydes
            last edited by

            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
            • edmaul69E
              edmaul69 @Concat
              last edited by edmaul69

              @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
              • edmaul69E
                edmaul69
                last edited by edmaul69

                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

                  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.

                  edmaul69E 2 Replies Last reply Reply Quote 0
                  • edmaul69E
                    edmaul69 @Concat
                    last edited by edmaul69

                    @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
                    • edmaul69E
                      edmaul69 @Concat
                      last edited by edmaul69

                      @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
                      • edmaul69E
                        edmaul69
                        last edited by edmaul69

                        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

                          @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

                            @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

                            edmaul69E 1 Reply Last reply Reply Quote 0
                            • edmaul69E
                              edmaul69 @Concat
                              last edited by edmaul69

                              @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
                              • C
                                Concat
                                last edited by Concat

                                @edmaul69
                                Oh, for the cheats I specifically mean the ones you used to be able to enter while playing doom way packing in the day... like typing out "idclip" while playing will let you walk through walls :) I guess I could check and see if retroarch has cheat files for Doom... but for the old school cheats, I was thinking maybe the keyboard has some mapping that is interfering with typing the codes. I meant to check my config file again for keyboard mappings but time ran out before other duties called...

                                Your config helped me understand quite a bit... will definitely help if I ever need to map those damn axes again :)

                                I use RGUI pretty much exclusively, which I know isn't recommended. I have full config file for all my emulators as opposed to the append configs that retropie uses by default. Any changes I make in RGUI are saved in full to the emulators config file. It's easy and I now know enough about how RetroPie works to use it without too much worry. The only problem is that sometimes options just aren't available in RGUI, such as mapping the right analog stick in Doom :)

                                edmaul69E 1 Reply Last reply Reply Quote 0
                                • edmaul69E
                                  edmaul69 @Concat
                                  last edited by

                                  @Concat i tried adding the keyboard which is something you can do but no response. Prboom appears to lock out the keyboard as a keyboard. (Still works as player 1 simultaneously with the controller)

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    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.