shell scripting topic
-
@lilbud I'm still not sure what your goal is.
Anwer yourself:- Where is the
overlay.cfg
located? - In which case do you want to alter overlays?
- Is there a "system" in altering names (Maybe $EMU-$ROMNAME-$TAG.png?)
Imho ... here's is a good script that writes several information in /boot/config.txt and checks existance of data before.
For graphics menu layout you can use this it uses arrays for graphics menu and here is a Howto for dialog/whiptail usage.
Here is the RetroPie wiki and how to input paramters into your script.
- Where is the
-
@cyperghost okay
-
Overlay.cfg located in default directory, /opt/retrofit/configs/all/retroarch/overlay
-
The point of the script is to provide a way a to switch and choose the overlay from the retropie menu in ES.
-
So choosing overlay named, '08.png, will do a few things. It will check for an overlay in use. If one is found, then the cfg file will be modified to show the path of the wanted overlay.png, (/my/awesome/overlay/8.png).
-
Once the overlay is selected, the main retroarch.cfg will be modified with the viewport settings and the overlay.
Anything else needing further explanation?
-
-
@lilbud No I understood.
All the links I've provided to you will help you to code this.
Just start over with the selection menu ;) -
@cyperghost If I can find a way to get the script done during class, I'll see if I can work on it.
I think there is bash on my school computer...
-
@lilbud
Bash? School computer?Code on your Pie!
All you need is a SSH terminal andnano
as editorSo you I would do the following.
- You write a selection menu that provides a layout for selected system and save it to config
- You write an "enabler" that sets overlay according to choosen system
;)
-
@cyperghost I don't have access to my pi in school, besides, the schools network is locked to any device that isn't a school issued computer.
-
@cyperghost said in shell scripting topic:
For graphics menu layout you can use this
I'm afraid that a scriptmodule isn't a good example for starters ;-)
@lilbud said in shell scripting topic:
Anything else needing further explanation?
Yes, post your code in ghostbin or something so we can give more effective guidance.
-
@meleu I'll have to redo it today, I'll post a link later.
-
@meleu Yes but for the sake of coding style
choice=$(dialog --command1 --command2 --menulist \ 1 Option 1 \ 2 Option 2 \ redirection to ....)
is better coded in this script menu example ;)
dialogcmd=(dialog --command1 --command2 --menu) dialogoptions=("1" "Option 1" "2" "Option 2") choice=$("${dialogcmd[@]}" "${dialogoptions[@]}" redirection to)
And it will be much easier for bug hunting. Because structur here is clear. And this was my intention to bring this script module into game.
dialogcmd sets the structure of how the menu will looks like as array
dialogoptions is the data array for selection
and now with choice you put cmd and options together.And I think this is a good example of clean coding ;)
Of course @lilbud will choose his own flavour later -
@meleu @cyperghost Here is my plan for the script: https://ghostbin.com/paste/6bbsa
not much in the way of code since I don't have a way to write/test it on my school computer.
-
Hi there!
I've created my first shell script and I'd like your opinion, codewise.
It's a script to install some extras for RetroPie themes (icons, splashscreens and launching images).The code is here: https://github.com/hiulit/es-theme-extras/blob/master/es-theme-extras.sh
I've created a post on this forum https://retropie.org.uk/forum/topic/13344/extras-for-retropie-themes-icons-splashscreens-and-launching-images-es_theme_extras-shell-script You can check it out to see more details.
Thanks! :)
-
@hiulit I saw that post. That's a pretty cool idea. I'm just a little busy with RL stuff, but I'll take a look at that soon. ;-)
-
@meleu I'm glad you think it's a good idea! :D I think so too, but it would need every theme creator to get involved. We'll see if more people find it useful.
-
@hiulit Welcome on board ;)
-
@cyperghost Thanks! :)
-
Just to continue this discussion. The kill run command program portion of shutdown script no longer works with retroarch in the most latest update from yesterday. Raspian files updated as well. It works with kodi. I have no other apps other than retroarch or kodi to test on. But this happened on 2 pi’s of mine so it last not a config i messes up.
So in essence. If in ES, shuts down fine. If in kodi, it exits to ES and then shuts down. If in retroarch, it just shuts down without saving meta data. Using the kill portion as a exit button. Nothing happens in retroarch, but kodi does exit.
-
Hi guys, this is only a hypothetical question. Is it possible to reset the order of the joysticks on the raspberry pi from the command line without rebooting.
As far as I know udev takes care of the js ordering. Yet emulators like Daphne only uses js0.
So can it be done where the script takes a snapshot of the udev js order, then asks you which usb device to use, then organise the list to have your desired device use the js0 slot and disable the rest. Then on the emulator exit return the udev js order to what it was.
-
@FlashPC You don't need to reboot to change the
js*
order. I think that changing the plugs is enough.I don't know any way to set a joystick to be the js0 "on-the-fly" (keeping all of them connected). I've read something about using udev rules to set a specific controller to be the js0, but I'm afraid it isn't possible to change it on-the-fly.
By the way, I've wrote a script to let the user choose which controller to use for RetroArch players 1-4, but it works only for RetroArch emulators/cores.
-
@meleu the retroarch joystick selector is sweet, and it works great with the retroarch cores.
I did read somewhere that it might be possible to kill the udev process, and change the udev rules but that was using red hat linux I think....
-
@cyperghost let's bring this to our nerdy thread :-)
@cyperghost said in Hide systems/consoles and only show "all games" section:
@EctoOne you're right. Using that symbolic link approach and removing the unwanted systems from
es_systems.cfg
would work too (I think).Hmmm.... Are you sure? Where are the runcommand calls stored? Or do you create them by your custom control script?
The script I made to launch the emulator detects the system in ROM's path. The script is quite small, then I'm pasting it here:
#!/usr/bin/env bash # runcustom.sh # testing if it's a symbolic link if [[ ! -L "$1" ]]; then dialog --msgbox "ERROR: \"$1\" is not a symbolic link." 0 0 exit 1 fi # getting the name of the file that the symbolic link points to rom="$(readlink "$1")" # getting the system based on the folder the rom is stored system="$(echo "$rom" | sed 's|\(.*/RetroPie/roms/[^/]*\).*|\1|' | xargs basename)" # now launch runcommand normally /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ "$system" "$rom"
More details in the original post: https://retropie.org.uk/forum/topic/10849/create-a-custom-es-system-able-to-launch-games-for-many-systems
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.