The sheer terror of individual game control remapping
-
Okay, could use some help with this because from previous experience I'm completely paralysed by fear.
On the NES, Crazy Climber used two controllers, both rotated through 90 degrees, to simulate two joysticks.
What this meant was that left on Controller 1 moved your climber's left hand up, up on the controller moved it right, right moved it down and down moved it left (and the same for the right hand on controller 2).
Obviously I want to remap the controls for this game and this game alone, but every time I've tried to make a separate config file for one game (whether it be controls or graphics or saves or whatever), I've ended up making those changes for everything in Retroarch then had the worst imaginable time trying to figure out how to undo it.
So can anyone just tell me, in language an idiot would understand, what I need to achieve this? I tried making a CFG file in the same directory as the ROM, called Crazy Climber (J).nes.cfg - ie the exact name of the ROM file with ".CFG" after it - and with the following lines:
input_player1_up = "left"
input_player1_up_btn = "nul"
input_player1_up_axis = "nul"
input_player1_down = "right"
input_player1_down_btn = "nul"
input_player1_down_axis = "nul"
input_player1_left = "down"
input_player1_left_btn = "nul"
input_player1_left_axis = "nul"
input_player1_right = "up"
input_player1_right_btn = "nul"
input_player1_right_axis = "nul"
input_player2_up = "left"
input_player2_up_btn = "nul"
input_player2_up_axis = "nul"
input_player2_down = "right"
input_player2_down_btn = "nul"
input_player2_down_axis = "nul"
input_player2_left = "down"
input_player2_left_btn = "nul"
input_player2_left_axis = "nul"
input_player2_right = "up"
input_player2_right_btn = "nul"
input_player2_right_axis = "nul"But that did absolutely nothing. So I tried saving a blank individual-game remap file from within Retroarch (which was stored in /opt/retropie/configs/nes/FCEUmm under the name Crazy Climber (J).rmp), thinking I could edit it manually, but I have no idea what to put in it. It currently reads:
input_libretro_device_p1 = "1"
input_player1_analog_dpad_mode = "1"
input_libretro_device_p2 = "1"
input_player2_analog_dpad_mode = "1"
input_libretro_device_p3 = "1"
input_player3_analog_dpad_mode = "0"
input_libretro_device_p4 = "1"
input_player4_analog_dpad_mode = "0"
input_libretro_device_p5 = "1"
input_player5_analog_dpad_mode = "0"And I have no idea where to go from there.
Obviously I could actually make the control changes in the Retroarch menus, but that's where we came in - I'm absolutely petrified that whatever I do will somehow change everything for every emulator in Retroarch and it'll take me a week to figure out how to put it back the way it was.
Help a dum-dum, please, somebody.
-
Oh, what the hell, I just bit the bullet and did it through the menu. After a bit of very careful and tentative experimentation, I got a working setup for a 90-degree clockwise rotation, and I'd never have figured it out in a million years from reading instructions. The .RMP file ended up looking like this:
input_libretro_device_p1 = "1"
input_player1_analog_dpad_mode = "1"
input_libretro_device_p2 = "1"
input_player2_analog_dpad_mode = "1"
input_libretro_device_p3 = "1"
input_player3_analog_dpad_mode = "0"
input_libretro_device_p4 = "1"
input_player4_analog_dpad_mode = "0"
input_libretro_device_p5 = "1"
input_player5_analog_dpad_mode = "0"
input_player1_up = "7"
input_player1_down = "6"
input_player1_left = "4"
input_player1_right = "5"
input_player2_up = "7"
input_player2_down = "6"
input_player2_left = "4"
input_player2_right = "5" -
Hello @SpudsMcToole
You have to know that I'm a big noob in RetroPie.
I'm not sure to understand. How do you create your specific cfg files? I think you did it manualy.
Did you try to:- Launch the game as usually,
- Then press HOTKEY+X to get a Menu to configure this emulator or game
- Then choose Controls.
After that, you do all changes you want. Then, 2 choices:
- you choose "save core map file" (or something like that) to apply this new specific configuration for all games of this emulator
- you choose "save game map file" (or something like that) to apply this new specific configuration for this game only.
-
@xboxwin Yeah, I did it the way you said. From my previous experience I was terrified that saving the file would somehow overwrite the whole of Retroarch's control settings, but I started just by switching two controls to test it and when that was fine I went ahead and did the rest.
-
@spudsmctoole said in The sheer terror of individual game control remapping:
@xboxwin From my previous experience I was terrified that saving the file would somehow overwrite the whole of Retroarch's control settings
Backups are your friends. ;)
-
@spudsmctoole so all is working as you wanted?
-
@xboxwin Yup :)
-
@clyde Yeah, the problem is you can't always tell which files it is you're messing with and therefore which ones you need to back up :D
-
@spudsmctoole That's why I tend to backup all of them, and because I'm too lazy to select the "important" ones. ;)
With incremental backups, it isn't such of a hassle. Or in your case, saving all files called retroarch.cfg or all files ending with .cfg would be an useful alternative.
-
@SpudsMcToole Hi. I have a two joystick arcade. My wish is to play Crazy Climber with the two joysticks. I have tested your configuration but it doesn't work for me. The game is from mame2000 in Retroarch. I would appreciate any help setting up the game.
Thank you. -
@pacocas said in The sheer terror of individual game control remapping:
@SpudsMcToole Hi. I have a two joystick arcade. My wish is to play Crazy Climber with the two joysticks. I have tested your configuration but it doesn't work for me. The game is from mame2000 in Retroarch. I would appreciate any help setting up the game.
Thank you.This can be achieved via mame menu. While in game hit "tab" on your keyboard to open the mame menu where the controls can be changes across 2 player joysticks.
However i would recommend to use mame2003-plus. They implemented this feature as an option! Games like robotron or crazy climber work automatically with p1 and p2 joysticks when this option is activated... search the respective wiki for details
-
@pacocas In addition to what @robertvb83 said, you may want to look into 4-way restriction of your joysticks for Crazy Climber, either via hardware restrictors or by using software like the xboxdrv (see section 2D).
Crazy Climber is one of those games that had native 4-way joysticks, and it doesn't like any diagonal actuation very much in my experience. I bought the switchable 8/4-way Ultimarc Mag-Stik Plus just for these games, and I never regretted it.
-
@Clyde and again i can recommend mame2003-plus. A software option to switch to 4 way was also implemeted. It is not the same as a 4-way hardware of course but it can help making the games playable.
Maybe one day in the next 30 years i will build a dedicated 4-way cab.
-
@robertvb83 said in The sheer terror of individual game control remapping:
@pacocas said in The sheer terror of individual game control remapping:
@SpudsMcToole Hi. I have a two joystick arcade. My wish is to play Crazy Climber with the two joysticks. I have tested your configuration but it doesn't work for me. The game is from mame2000 in Retroarch. I would appreciate any help setting up the game.
Thank you.This can be achieved via mame menu. While in game hit "tab" on your keyboard to open the mame menu where the controls can be changes across 2 player joysticks.
However i would recommend to use mame2003-plus. They implemented this feature as an option! Games like robotron or crazy climber work automatically with p1 and p2 joysticks when this option is activated... search the respective wiki for details
I just have to tell you that I was looking for exactly this answer myself and I hadn't written the question yet. I tried to do this for Krull with lr-mame2003 but couldn't get the MAME tab menu to recognize any input for the second player joystick. It sounds like Plus has exactly what I need.
-
Follow-up: mame2003-plus wouldn't show me the 'dual joystick mode' option in the core config gui. It also didn't liek to recognize my arcade stick either. So I switcehd back to lr-mame2003. However, I found a setting in configs/all/retroarch-core-options.cfg
mame2003_dual_joysticks = "disabled"
I changed this to be
mame2003_dual_joysticks = "enabled"
and I fired up Robotron. It worked perfectly. Apparently regular old mame2003 supports this, too.
-
@Thorr69 said in The sheer terror of individual game control remapping:
and I fired up Robotron. It worked perfectly. Apparently regular old mame2003 supports this, too.
Robotron 2084 is so much fun with two arcade sticks! I'm using MAME2003 and everything works flawlessly for this game without altering the controls on any other MAME2003 title.
-
@IanDaemon Yeah I used to play it on my 8bitDo Nes30 pro with dual sticks. mame2003 used the second analog stick on it flawlessly without fuss. But now that I am on an arcade setup, I stopped playing because I lost that second stick. Now with the settings change my 2nd player stick works for that. I've been playing Krull for the last hour since I made it work LOL.
-
@pacocas said in The sheer terror of individual game control remapping:
Hi. I have a two joystick arcade. My wish is to play Crazy Climber with the two joysticks. I have tested your configuration but it doesn't work for me. The game is from mame2000 in Retroarch.
That's because my config is for the NES version, not the MAME one... :D
-
@robertvb83 This is my favorite game all time. I am disappointed that I have not been able to make my controller work. Mini-pac opti connected to raspberry p5 2 joysticks multiple buttons trackball and spinner. This setup was used more that 10 years ago with a different board but now the new board is giving me a hard time
-
M mitu locked this topic on
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.