Fun Facts Splashscreens
-
Working on
runcommand-onend.sh
to create Fun Facts! Splashscreens when the user finishes playing a game, so next time it starts a game, a Fun Facts! Splashscreen will be shown :)Right now I'm using the awesome Pixel theme to test the creation of splashscreens using the system and console images and then attaching the Fun Fact!.
@meleu How did you manage to use
imagemagick
to convertsvg
topng
? Because the Pixel theme usespng
files and it's working just fine, but I've seen the majority of themes (Carbon theme included) usesvg
and I'm having problems with that.P.S. Does anybody know if there's a naming convention for creating themes? (folder naming, assets, etc.) Thanks!
-
@hiulit said in Fun Facts Splashscreens:
@meleu How did you manage to use
imagemagick
to convertsvg
topng
? -
@meleu I used your code and I'm still having the same issue:
convert: delegate failed '"rsvg-convert -o "%o" "%i""' @ error/delegate.c
It seems that I need
rsvg
but myimagemagick
doesn't have it and I've searched the Interwebs and I have to install manually... -
@hiulit if I recall correctly that's why I made this commit: https://github.com/RetroPie/RetroPie-Setup/commit/bf8f36971f161cf6ce5bf4a029ae4e64bdb87f65
Then, I believe you can solve it by installing
librsvg2-bin
. -
@meleu Nice! I'll try that :)
-
@meleu Thanks! It's working :D
I'll keep working on creating Fun Facts! Splashscreens using
runcommand-onend.sh
. And of course, I'll take a deep look at yourgenerate-launching-images.sh
code, because that's basically what I'm lookinf for.I have a little video demo:
P.S. In the VM everything is slower than it should be.
-
If I end up adding this new feature (creating splashscreens with Fun Facts! for each system using
runcommand-onend.sh
) in Fun Facts! Splashscreens, maybe it's time to start thinking about using tags for the facts somehow?I think it would be better if the facts are related to the system the user is about to use.
What do you think?
-
What I have right now is:
- The
runcommand-onend.sh
placed in/opt/retropie/configs/all
:
#!/usr/bin/env bash # runcommand-onend.sh "/home/pi/RetroPie-Fun-Facts-Splashscreens/fun-facts-splashscreens-runcommand-onend.sh" "$1"
Actually, the
fun-facts-splashscreens.sh
script will have an option to enable/disableruncommand-onend.sh
using something like this to add/remove this line:"/home/pi/RetroPie-Fun-Facts-Splashscreens/fun-facts-splashscreens-runcommand-onend.sh" "$1"
The script will check if
runcommand-onend.sh
already exists.
If it does, it will add/remove that line.
If not, it will create the file and add that line.- The
fun-facts-splashscreens-runcommand-onend.sh
file:
#!/usr/bin/env bash # fun-facts-splashscreens-runcommand-onend.sh readonly RP_CONFIG_DIR="/opt/retropie/configs" readonly SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" readonly SYSTEM="$1" [[ -f "$RP_CONFIG_DIR/$SYSTEM/launching.png" ]] && rm "$RP_CONFIG_DIR/$SYSTEM/launching.png" "$SCRIPT_DIR/fun-facts-splashscreens.sh" --create-fun-fact "$SYSTEM"
What it does is very simple. Basically it takes the system variable
$1
and it passes it to--create-fun-fact
. All the heavy lifting is done infun-facts-splashscreens.sh
in thecreate_fun_fact()
function.- If
--create-fun-fact
doesn't have any argument, it creates a boot splashscreen. - If the argument passed to
--create-fun-fact
is"all"
, it will create splashscreens for each system. This is a good option to run the first time (it takes a while) to have splashscreens for all the systems ready to use. - If the argument passed to
--create-fun-fact
is"$1"
(megadrive, nes, snes, etc.) it will only create a splashscreen for that specific system.
- The
-
Some examples of system launching images with box art.
Everything is positioned based on percentages of the screen resolution.
- The logo is 60% wide and 20% tall and is positioned 5% from the top.
- The box art is centered and 35% tall.
- The Fun Fact! is 60% wide and 15% tall and is positioned 15% from the bottom
- The "Press any button..." text is 60% wide and 5% tall and is positioned 5% from the bottom.
-
@hiulit That looks beautiful.
The creation is incredible fast. So why not using /dev/shm and create the screens with runcommand-onstart?
-
@cyperghost I don't know what you mean by using /dev/shm.. :P
-
@hiulit That's a RAM drive ... Don't know if it's available on the x86 versions. The Rapsberry gots that
-
@cyperghost I have that folder. How does it work? How can we use it to create splashscreens?
-
-
@cyperghost hmmm.. Ok! :) I'll take a look. Thanks!
-
BTW, @meleu , how did you manage to cover all the themes? I mean, I've look at some of the popular themes and they don't seem to have a naming convention for folders or graphics :S
-
@hiulit
You ended up reminding me of an item on my ToDo list: https://github.com/meleu/generate-launching-images/blob/c55e61ee0066438068cf5b72c62430337bb1e3d5/generate-launching-images.sh#L403Actually my script isn't able to deal with ALL themes. I made it deal with most of them using an
or
, as you can see on the lines below that one I linked above.About the art location, I get the paths from the xml files using
xmlstarlet
. -
@hiulit Just one suggestion! May you can introduce a second parameter where the theme that should be used can be entered ;)
-
@cyperghost We already grab the current theme being used :) https://github.com/hiulit/RetroPie-Fun-Facts-Splashscreens/blob/24cddbe8e69dee7939dcc74ddc99e9bfbd03c59a/fun-facts-splashscreens.sh#L383
-
@meleu As always, I'll end up using your amazing scripts ;) Thanks!
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.