RetroArch - Per Rom Config

pofo14

Member
I have been working on configuring the GenPlusGX core to for "EA 4 Way Play game". I have successfully been able to play a game (NBA Live '96 is my test) and have all 4 controllers working. The issue I am having is that the "2nd controller" does not work for games that are not 4-way play when the (per core) configuration is setup for a EA 4 Way Play game.

So my basic question is could there be a setting in RL to actually pick the <core>.cfg file when loading a specific ROM? This would allow me to set the input_libretro_device_p1 = "1281", which is required for 4 way play games, in the cfg file and only use that for EA 4 Way play games.

If not I have to go wait for the game to load, go into the RetroArch menu, change the 1st player device type to the EA 4 Way Play type, and then restart the content.

From the logs it looks like the cfg file is being passed in the command line, so I would think if there is a setting in RL this could vary at the ROM level if required.
 

pofo14

Member
Update: it seems like retroarch supports this concept itself. It has a concept of "overrides" and you can have a .cfg file named the same as the game, and if per core config is false, and load override files is set to true it is supposed to load that config. I have not been able to get it to work loading through rocketlauncher, but I will try through the command line outside of RL next.

I am hoping this will solve my problem, but if anyone else has had success doing this please let me know.
 

pofo14

Member
I finally got around to playing around with this. I was able to successfully get it to work both natively in RetroArch, outside of RocketLauncher, as well as inside Rocket Launcher.

IMPORTANT NOTE ::: For this to work properly the follow settings must be set correctly in whatever configuration file RL is loading as part of the command line (i.e. retroarch.cfg or Sega Genesis.cfg, depending on how you are setup).

core_specific_config=false
auto_overrides_enable=true.

To use the native RetroArch per config / per game "appending" functionality you need to create a folder for the core you are using underneath the main config directory. The folder should be the display name of the core, not the DLL name. In my example I am using Genesis Plus GX, which is what the folder should be named. This link was what I found out there that best describes the feature.

Per Core Config:
Within that folder you could create Genesis Plus GX.cfg file that has the core specific configuration. NOTE::: This configuration file only needs to be the "delta" that you want to change from the default settings. Since RL supports passing in a Per System config file as part of the command, you don't really need to use this feature, as RL actually has more flexibility.

Per Game Config:
Within that same folder you need to create a <GAME>.cfg file that has the game specific configuration. NOTE::: This configuration file only needs to be the "delta" that you want to change from the previous loaded settings. This is beneficial because while RL allows for Per Game configurations, you can only change certain cfg settings such as overlays, shaders, and other display settings. This feature will allow for any cfg setting to be overridden.

Example of setting the 1st player controller to the EA 4 Way Play controller for NBA Live 96::

<RetroArchDir>/config/Genesis Plus GX/NBA Live 96 (USA, Europe).cfg
input_device_p1 = "0"
input_player1_joypad_index = "0"
input_libretro_device_p1 = "1281"
input_player1_analog_dpad_mode = "0"

With the above setting now all EA games load up by default supporting 4 controllers, and there is no need to change the controller type and restart the game.

So in summary, for any system you are using RetroArch for, you can always use RetroArch's append functionality for per game configuration changes. I will only be using this setup for any system / core where I do need to vary setting other than the shader / layout options as the Per Game level.
 

djvj

Administrator
Staff member
Developer
Thanks for your input pofo!

Please make sure zerojay sees this as he is working on the module and has not read this thread yet.
 

jkonami

New member
RL Member
I had the same issue when I noticed having my 4P config as default disabled the second controller on 2P games. Fixed 'er right up, thanks!
 

mccorkled

Member
RL Member
I finally got around to playing around with this. I was able to successfully get it to work both natively in RetroArch, outside of RocketLauncher, as well as inside Rocket Launcher.

IMPORTANT NOTE ::: For this to work properly the follow settings must be set correctly in whatever configuration file RL is loading as part of the command line (i.e. retroarch.cfg or Sega Genesis.cfg, depending on how you are setup).

core_specific_config=false
auto_overrides_enable=true.

To use the native RetroArch per config / per game "appending" functionality you need to create a folder for the core you are using underneath the main config directory. The folder should be the display name of the core, not the DLL name. In my example I am using Genesis Plus GX, which is what the folder should be named. This link was what I found out there that best describes the feature.

Per Core Config:
Within that folder you could create Genesis Plus GX.cfg file that has the core specific configuration. NOTE::: This configuration file only needs to be the "delta" that you want to change from the default settings. Since RL supports passing in a Per System config file as part of the command, you don't really need to use this feature, as RL actually has more flexibility.

Per Game Config:
Within that same folder you need to create a <GAME>.cfg file that has the game specific configuration. NOTE::: This configuration file only needs to be the "delta" that you want to change from the previous loaded settings. This is beneficial because while RL allows for Per Game configurations, you can only change certain cfg settings such as overlays, shaders, and other display settings. This feature will allow for any cfg setting to be overridden.

Example of setting the 1st player controller to the EA 4 Way Play controller for NBA Live 96::

<RetroArchDir>/config/Genesis Plus GX/NBA Live 96 (USA, Europe).cfg
input_device_p1 = "0"
input_player1_joypad_index = "0"
input_libretro_device_p1 = "1281"
input_player1_analog_dpad_mode = "0"

With the above setting now all EA games load up by default supporting 4 controllers, and there is no need to change the controller type and restart the game.

So in summary, for any system you are using RetroArch for, you can always use RetroArch's append functionality for per game configuration changes. I will only be using this setup for any system / core where I do need to vary setting other than the shader / layout options as the Per Game level.

I know this is quite old, but would you mind helping me get this working? I have download the config files found here.
 
Last edited:
Top