Change es_systems.cfg Script
-
For anyone interested, i have created a script that will change your es_systems.cfg file from the retropie menu.
Background, Why did I create this tool?
-
Lets say I have 40 systems with roms and art setup. Includes standard systems like NES and Game Boy as well as custom systems like Mega Man and Fighting. Current es_systems.cfg has all 40 systems included.
-
Case 1: Standup Arcade - I want to show only actual console systems like NES, Atari, Arcade, Neo Geo.
-
Case 2: Bartop Arcade - I want to show only custom systems like, Mega Man, TMNT, Mario.
-
Case 3: TV setup (playing on HDTV) - I want a Mix of favorite consoles and customs, Maybe just 10 systems i play most.
-
Case 4: I want to show only Neo Geo and Capcom systems so I can use @ruckage really cool neogeo theme!
-
Example Use Case: I am playing on my bartop with a friend, and well we are having a few adult beverages at the bar, maybe a few to many! We decide we want to play ZX Spectrum, but that isn't currently in the es_systems i have set because I am showing only custom systems (case 2 above). I want to be able to go to the menu or retropie menu, choose Chang_ES_Systems. Choose - All systems (shows everything), or Custom Systems (shows case 2), or Mix Systems (shows case 3). I select which one i want to run, the script changes the systems, restarts ES and what do you know, i now have all 40 systems that i can choose from. No need to FTP in or setup a keyboard and type in the command line and rename files.
How to install/make this work:
download the script and place it in /home/pi/RetroPie/retropiemenu/
Github Download LinkIn order to run the script you must create the following folder:
/opt/retropie/configs/all/emulationstation/es_systemsThen within that folder create these 6 folders:
All
Consoles
Customs
Favorites
Hacks
NeocapcomExample of the full path: /opt/retropie/configs/all/emulationstation/es_systems/Favorites
Within each folder you have created place a es_systems.cfg file. The file needs to be named the same in each folder, but the systems can be different.
That is it! Restart emulationstation. Go into Retropie and select Change_ES_Systems from the menu. Select which es_systems.cfg you want to run. ES will auto restart and your systems will be shown!
Special thanks to @meleu and @cyperghost for all their hard work and continued efforts to help me find a way to implement the autorestart feature of this script.
This tool has been tested by several users and works really well. Let me know if you have any questions.
-
-
@TMNTturtlguy This is awesome but I have a question (sorry if it was already answered in the other thread):
Then within that folder create these 6 folders: All, Consoles, Customs, Favorites, Hacks, Neocapcom
Does it have to be those 6 folders, or can it be any folders? I really only want 2 folders, NAS and USB. The NAS config that points to my NAS drive for when I'm at home, and the USB config that points to a portable hard drive for when I'm away (friend's house, holidays, etc).
-
@mattrixk unfortunately it has to be those folders. The script has to look to a folder in order for it to work so the names of the path are "hard coded" into the script. The beauty of this is that you can put whatever es_systems.cfg file you want within the folder, so you could just use the Consoles folder for NAS and the Customs folder for USB, or however you want to set them up.
The other option is that you go into the script and edit it on your specific machine. Here are directions on how to do that, you can follow these steps to modify any of the 6 options; I will outline how to change Customs which is case
C)
. Be sure to follow the casing, this is case sensitive. I will change toNAS
per your request. The line numbers associate with the line in notepad ++.- Edit line 46: Current - C "Change to es_systems
Customsand restart ES"
Modify - C "Change to es_systems NAS and restart ES" \ - Edit line 55: Current - C) change_to_
customs;;
Modify - C) change_to_nas ;; - Edit line 77: Current - function change_to_
customs() {
Modify - function change_to_nas() { - Edit line 79: Current - cp /opt/retropie/configs/all/emulationstation/es_systems/
Customs/es_systems.cfg /opt/retropie/configs/all/emulationstation/
Modify - cp /opt/retropie/configs/all/emulationstation/es_systems/NAS/es_systems.cfg /opt/retropie/configs/all/emulationstation/
Again, follow these steps for any of the other folders to change their names. The names of the folders are arbitrary, you can make your es_systems.cfg anything you want within them, you just need to know what you place in each. Let me know if this makes sense and if you need any help. Thanks
- Edit line 46: Current - C "Change to es_systems
-
@TMNTturtlguy That's awesome, cheers mate. I hope I'll have to chance to try this out soon.
-
Hey @tmntturtlguy I just got this up and running on the new system I'm setting up. I made a couple of tweaks, but it works great.
I changed the name from
change_es_systems.sh
toChange ES Sytems.sh
so it has a better appearance in the settings menu. I also removed all of your custom systems (all, consoles, favourites, etc) and replaced them with "NAS" and "SD" so I have a simple and quick method to swap between running roms from the NAS drive, and any time I need to take my Pi elsewhere (holidays, friend's house, etc).I put the changes in a pastebin if you want to see them.
Thanks heaps for this one mate, it works a treat!
-
Its been a while since i implemented this and everything works just fine. I wonder though, would it be technically possible to load a different splash video or splash screen depending on the loaded es_system file?
For example, for console games a splash video and for arcade games a different splash video.
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.