Fun Facts Splashscreens
-
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!
-
@hiulit I sended you a pull request .... Nevertheless I can't integrate into your script - it's to huge :(
But I hope you now understand ;)
I would create a switch
--set-theme "$MANUAL_SET_THEME"
if it's empty then ... like you did, try to select it via emulationstation.cfg
If there is a fail, set to "carbon"
Hope it is clear now ;) -
@cyperghost Hey, thanks for the PR ;)
But I would prefer not to add any more arguments to
fun-facts-splashscreens-runcommand-onend.sh
. You see,--create-fun-fact
callscheck_config()
were all those checks are made.I like the idea of adding
--set-theme
, though. And as we are at it, maybe add--set-font
as well ;)Thanks for the idea :D
-
Some progress...
Now, the
create_fun_fact()
function is divided into 2 separate functions:create_fun_fact_boot()
: It creates a boot splashscreen.create_fun_fact_launching()
: It creates launching images.
create_fun_fact_launching
detects if the game has boxart (scraped images).
If it does, the launching image looks like this:If it doesn't:
All the launching images are created using
runcommand-onend.sh
. -
Er... Hi, noob here. And I did some mistake...
running retropie 4.4.2 in a raspberry pi 3, I'd installed the zerojay stuff to access this splash screen awesomeness, but even following the rules I didn't quite understand what to do. And in my improvise I messed up.
searching for a way to activate this splash screen I selected "start on boot - enable" or something like this and now emulation station did not open anymore. The splash setup can't initialize and I can't type anything.
help, please?Edit: still with this problem, but what I want to ask is another thing. One tutorial more like that "explain like I was 5", you know? This is good, please dont misundertand me, just another one.
-
@capninja Hi there! It's weird that my script would mess with the emulationstation startup process, but it could be possible. Sadly, I don't know how to fix this problem for you. You could try and look up 'emulationsation doesn't launch on startup' (or open a new thread in the forum) or something like that.
-
@capninja On the 'explain like I was 5' tutorial, I'll be releasing a new and more stable version of the script, with a simplified GUI so it will be easy to use. A new documentation will come with this news version that hopefully will be more friendly :)
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.