Create a custom ES system able to launch games for many systems
-
@cyperghost pretty cool idea too. But one thing I can anticipate is that it won't be possible to scrape in the traditional ways.
-
Ah... You're right!
Well, I never scrape :)
I would suggest it as small workaround for a favorite folder -
@cyperghost if you were about to write a program to create those files, your program could also get the game's metadata info from the respective gamelist.xml and dump it in
favorites/gamelist.xml
. ;-) -
Sorry, this has been a bit hard to follow, I probably should know the answer here and it was likely answered before, but couldn't we just create a gamelist file that points to relative paths in other folders and achieve the same thing without the symbolic links?
-
@pjft perfectly doable, but the problems would be:
-
the users would need to edit
konami/gamelist.xml
manually, (less practical thanln -s target symlink
). -
the script to launch the game would be a little more complex (get the actual system from the xml file).
-
the use of gamelist.xml would be mandatory, not an option.
I'll add this question to the FAQ.
-
-
@meleu Got it, thank you.
Just wanted to check if I was missing something from the overall picture, but it was mostly curiosity and feasibility for non-Linux file tables (i.e. those who run their ROMs from a FAT32 USB drive like me).
Well done!
Hope your boy has fully recovered by now :)
-
@meleu There is a difference in creating config files like a database or to create some filepieces to call some files. But here it is ... A pity I can't call other bash files.
I think it caused while a user (pi) calls user with privleges. It can run easy bash files and other binaries but this makes no sense so far :(It's compiled on a raspberry 1 .... but due compatibilty it can run on the pi 2/3
Make it executable via chmod +xUsage: create any file you want (maybe testfile.test)
First line contains parameters
Second contains binary or bashrun
./lfl testfile.testoutput is:
first line of testfile
second line of testfile
Execute firstline+secondlineEDIT:
Can't upload... well this small binary isn't usefull anyway :) -
@pjft said in Create a custom ES system able to launch games for many systems:
feasibility for non-Linux file tables (i.e. those who run their ROMs from a FAT32 USB drive like me)
The symbolic links must be in a Linux partition, but the target file can be in any valid path. As a FAT32 partition is mounted in a valid path, I think the method works fine for those people. :-)
The boy is recovering well! :-)
-
@meleu said in Create a custom ES system able to launch games for many systems:
The symbolic links must be in a Linux partition, but the target file can be in any valid path. As a FAT32 partition is mounted in a valid path, I think the method works fine for those people. :-)
I think I get that, but if the whole ROM folder and subfolders are in a FAT32 partition, there's no way to add symlinks in a Linux partition for this purpose (i.e. all the roms are expected to be in that folder anyway), or am I missing something?
Or would you suggest in the
es_systems.cfg
file to add a<path>
pointing to a folder in the SD card? Is that what you'd be recommending?Thanks!
-
@pjft That should work
Create a folder to /home/pi/RetroPie/symlinks and point from FAT32-ROM to that folder
Changees_systems.cfg
folder path to/home/pi/RetroPie/symlinks
-
@pjft yep! @cyperghost answered well.
Also, I've just updated the question 3 of the FAQ:
3. Is it possible to create symbolic links on a Windows machine and move them to my RetroPie later?
No. Symbolic links can't be created on Windows and can't be placed on a Windows partition.
But if your ROMs are stored on a Windows partition, you can use the method described here. You just have to place the symbolic links themselves on a Linux partition (target files can be in any valid path). Click here to see the conversation about it.
-
Excellent work, thanks for posting, will give this a go over the weekend!
-
Changelog:
Small update in the
runcustom.sh
. I've just discovered thereadlink
command, no need to pipels
output tosed
in order to get the target file name. -
@meleu
So work done - I created a litlle unix binary for a fav launcher in a new thread -
Guess what? Yes, you're right, another script...
This time it's a script to let you use the already existent metadata. So, there's no need to scrape the games in
konami
folder.The script can be found here: https://github.com/meleu/share/blob/master/custom-system-autoscraper.sh
And you can download it with this command:
wget https://raw.githubusercontent.com/meleu/share/master/custom-system-autoscraper.sh
Launch it with
--help
to see the usage:$ ./custom-system-autoscraper.sh -h This script gets all the symbolic links in a custom ES system directory and tries to create a gamelist.xml based on already existent metadata, boxart, marquee, and video. More info here: https://retropie.org.uk/forum/post/84125 Usage: ./custom-system-autoscraper.sh /path/to/custom/system/directory
Updated the OP with this info.
-
@meleu said in Create a custom ES system able to launch games for many systems:
Maybe this one from title screen:
Logo done. Complete manual design.
Works best on dark background.Available here.
-
OMG! I'm loving this theme tweaking stuff!!!
-
I'm still trying to fully understand the differences between the various config directories, but following along with the OP for setting up a Konani directory, I ended up getting it to work by editing my ~/.emulationstation/es_systems.cfg file instead of the one listed in /etc/emulationstation/ directory.
Are the files in the ~/.emulationstation intended to be only for overrides, so essentially empty except for and local changes? I started with an existing image setup a few months ago, so while it's helpful for getting started, does add some confusion later on when trying to weed-out unnecessary files.
melue, thanks for putting together this tutorial, very helpful, and thanks to UDB23 for the Mega Man vector, nice work!
-
removed duplicated post (due to poor internet connection)
-
@Howitzer99 said in Create a custom ES system able to launch games for many systems:
Are the files in the ~/.emulationstation intended to be only for overrides, so essentially empty except for and local changes?
Well, I thought it was the first place ES looks for es_systems.cfg ans, if not found, look in /etc/emulationstation. But if it's working as you're saying, one file complementing the other, it's great. I'll update the OP when I have a chance.
By the way, Did you use the script to create the custom system's gamelist.xml? I'm curious to see if it's being useful to someone else. :-)
Edit: post a screenshot of your custom ES system. ;-)
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.