prboom with modern control scheme?
-
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.
-
@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.
-
@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?
-
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.
-
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 :)
-
@Concat Never thought about assigning something to that, because the game automatically assigns whatever thinks it's ok and messes up big time, thanks!
-
@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
-
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.
-
@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.
-
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" -
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.
-
@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"
-
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"
-
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.
-
@Concat if you use the exact retroarch.cfg i posted it works 100% both analogs and the d-pad
-
@Concat if you do it his way you cannot get both analogs to work plus the d-pad
-
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
-
@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
-
@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
-
@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.
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.