Tagged: es_systems.cfg, ROM
-
AuthorPosts
-
I’m trying to do some custimizations for command calls which require multiple %ROM% references, but only the first reference gets replaced.
It would be nice if these calls could be parsed to replace multiple occurrences when executed.
This comes from emulationstation the code that does the replace only looks for a single %ROM% instance.
This is the replace call:
https://github.com/Aloshi/EmulationStation/blob/d89ab913abdd90e559e48a38a07fd571cbf8a607/es-app/src/SystemData.cpp#L114This is the replace code:
https://github.com/Aloshi/EmulationStation/blob/d89ab913abdd90e559e48a38a07fd571cbf8a607/es-app/src/SystemData.cpp#L64You could send a pull request to alter the replace code to something like the following. I don’t write c++ so not sure if it is 100% correct.
size_t pos = str.find(replace); while (pos != std::string::npos) { str.replace(pos, replace.length(), with.c_str(), with.length()); pos = str.find(replace, pos + with.length()); } return str;
I got an idea a few hours ago that command represents the linux command line. I’m wondering if I could combine a variable deceleration set it to %ROM% and then use that variable in the command…
might just be wishful thinking but I will give it a try one of these days…
I got around to testing it sooner than I thought…
It actually worked but I ran into a separate snag…
I had to use –appendconfig a 2nd time to ensure all 3 configs got loaded:
–config [….]/all/retroarch.cfg
–appendconfig [….]/snes/retroarch.cfg
–appendconfig [….]/snes/GAMENAME.smc.cfgThe problem is the first -appendconfig parameters are fully replaced by the second. Since I do have configs in that file, they are overridden…
The only work around would be to create a custom config for EVERY ROM which I’m trying to avoid doing… My goal is to only create a couple custom configs and have the rest default to the default…
Every step forward I seem to make I have to take another step back… It’s a bit frustrating…
Could you create your own custom bash script that did something like:
if [ -f […]/snes/$1.cfg ];
then
/opt/retropie/[…] –config [….]/all/retroarch.cfg –appendconfig [….]/snes/retroarch.cfg –appendconfig [….]/snes/$1.cfg $1
else
/opt/retropie/[…] –config [….]/all/retroarch.cfg –appendconfig [….]/snes/retroarch.cfg $1
fiThen replace the entire command with /home/pi/myscript.sh %ROM%
[quote=82361]Could you create your own custom bash script that did something like:
if [ -f […]/snes/$1.cfg ];
then
/opt/retropie/[…] –config [….]/all/retroarch.cfg –appendconfig [….]/snes/retroarch.cfg –appendconfig [….]/snes/$1.cfg $1
else
/opt/retropie/[…] –config [….]/all/retroarch.cfg –appendconfig [….]/snes/retroarch.cfg $1
fiThen replace the entire command with /home/pi/myscript.sh %ROM%
[/quote]This wouldn’t fix everything…
The problem is that there are still 2 occurrences of –appendconfig in the top call, so one of those will have no effect…
This would fix only ROM calls that don’t have a custom cfg…
I came up with a separate alternative, but I’m holding off on using it…
If I replace the first:
–config [….]/all/retroarch.cfg
With:
–config [….]/snes/retroarch.cfgAND copy the contents of the all/retroarch.cfg & combine it with the snes/retroarch.cfg it works around the issue…
I’m not real happy with this setup so I’ve held off on doing it…
-
AuthorPosts
- The forum ‘Ideas for Further Enhancements’ is closed to new topics and replies.