Controls - Differant, per game?

I remember reading that it’s possible setup different controls on a per-game basis. I’m having trouble finding the proper information for this though.

For instance, I use a basic control scheme across all of Nintendo 64, but I want to re-arrange some of the inputs while I play Goldeneye so that it has dualstick support… but only for that one game.

Can someone tell me how to do this via RetroArch? Or a resource on where to learn?

It’s the same override process used for per-core stuff, you just make a directory named for the core and put the per-game overrides in there.

Can you clarify what you are describing a bit more please?

For per core configs I have the configs renamed to match my RocketLauncher/Hyperspin setups and put them in \configs\

There’s an option in Quick Menu, Core Input Options where you can rearange inputs and save a Per Game Remap. That might not work for C-Stick stuff since I remember reading remaps don’t work with anything mapped to the analogs by default.

If remaps can’t do it, you’d have to switch from using per-core options to overrides. That means turning off Configuration Per-Core and leaving on Load Overrides Automatically in Configuration settings. I imagine you have to turn off per-core settings in the RocketLauncher module’s settings too. Then you’ll create a Mupen64Plus folder in Configs, rename mupen64plus_libretro.dll.cfg to Mupen64Plus.cfg and move that file to the new Mupen64Plus folder. You’ll need to do the same process for all your other per core configs to get them to work as overrides. The name you use for the folder and .cfg is usually the same as what’s displayed in the bottom left of RetroArch’s menu when you have a core loaded, minus the version number.

Then to create a per game override with your control changes you just create a new text file with the ROM name plus a .cfg extension (ex. Mischief Makers (USA).cfg). Open that with a text editor and add this:

input_player1_a_axis = "nul"
input_player1_a_btn = "0"
input_player1_a = "z"
input_player1_b_axis = "nul"
input_player1_b_btn = "2"
input_player1_b = "x"
input_player1_y_axis = "nul"
input_player1_y_btn = "1"
input_player1_y = "nul"
input_player1_x_axis = "nul"
input_player1_x_btn = "3"
input_player1_x = "nul"
input_player1_select_axis = "nul"
input_player1_select_btn = "7"
input_player1_select = "rshift"
input_player1_start_axis = "nul"
input_player1_start_btn = "6"
input_player1_start = "enter"
input_player1_l_axis = "nul"
input_player1_l_btn = "4"
input_player1_l = "a"
input_player1_r_axis = "nul"
input_player1_r_btn = "5"
input_player1_r = "d"
input_player1_l2_axis = "+4"
input_player1_l2_btn = "nul"
input_player1_l2 = "q"
input_player1_r2_axis = "nul"
input_player1_r2_btn = "nul"
input_player1_r2 = "w"
input_player1_left_axis = "nul"
input_player1_left_btn = "h0left"
input_player1_left = "left"
input_player1_right_axis = "nul"
input_player1_right_btn = "h0right"
input_player1_right = "right"
input_player1_up_axis = "nul"
input_player1_up_btn = "h0up"
input_player1_up = "up"
input_player1_down_axis = "nul"
input_player1_down_btn = "h0down"
input_player1_down = "down"
input_player1_l_x_plus = "nul"
input_player1_l_x_plus_btn = "nul"
input_player1_l_x_plus_axis = "+0"
input_player1_l_x_minus = "nul"
input_player1_l_x_minus_btn = "nul"
input_player1_l_x_minus_axis = "-0"
input_player1_l_y_plus = "nul"
input_player1_l_y_plus_btn = "nul"
input_player1_l_y_plus_axis = "-1"
input_player1_l_y_minus = "nul"
input_player1_l_y_minus_btn = "nul"
input_player1_l_y_minus_axis = "+1"
input_player1_r_x_plus = "nul"
input_player1_r_x_plus_btn = "nul"
input_player1_r_x_plus_axis = "+2"
input_player1_r_x_minus = "nul"
input_player1_r_x_minus_btn = "nul"
input_player1_r_x_minus_axis = "-2"
input_player1_r_y_plus = "nul"
input_player1_r_y_plus_btn = "nul"
input_player1_r_y_plus_axis = "-3"
input_player1_r_y_minus = "nul"
input_player1_r_y_minus_btn = "nul"
input_player1_r_y_minus_axis = "+3"

Or you can copy the same section of lines from your Mupen64Plus.cfg file so you have your own base controller setup from that core. Now you can modify the numbers between the quotes to swap inputs around. A, B, Start, L and R and left stick are pretty easy to figure out, but Z is L2 and the C buttons are r_x and r_y plus and minus inputs. Looking at your control panel Devices and Printers properties might help you figure out what your gamepads button numbers are.

Ok, well, I didn’t have to change per core or override settings at all for some reason lol, which I found by mistake of not doing before I tried this.

I just created the folders/txt files as you described and it worked. Seems it automatically changed the necessary settings, but only for that system. Wild.

Anyway, totally worked, so thank you.

[QUOTE=SkyHighGam3r;38064]Ok, well, I didn’t have to change per core or override settings at all for some reason lol, which I found by mistake of not doing before I tried this.

I just created the folders/txt files as you described and it worked. Seems it automatically changed the necessary settings, but only for that system. Wild.

Anyway, totally worked, so thank you.[/QUOTE] Good stuff!