Fun Facts Splashscreens
-
@fnkngrv Yeah, that's something we talked about with some people here in the early stages of the Fun Facts! Splashscreens development but I decided to start with the boot splashscreens as it was easier to do. I've never work with the runcommand but I wanted to, so I guess now it's a good time to take a look at it ;)
Also, there was some talking about the possibility that launching the script via the runcommamd could take too much time to create the splashscreen and therefore the user would have to wait too much to start the game.
I'll open an issue in the GitHub repo so I don't forget! -
@hiulit said in Fun Facts Splashscreens:
Also, there was some talking about the possibility that launching the script via the runcommamd could take too much time to create the splashscreen and therefore the user would have to wait too much to start the game.
I'm here!
Well theruncommand-onstart.sh
is the key for this and afaik runcommand itself starts the emulators AFTER the onstart-script gots completly excuted and closed.
Why do I say that? Because if you add a sleeptimer of a few seconds. The runcommand call is delayed for a few seconds. So I think it doesn't matter at which point a splashscreen is created.I would suggest to use
/dev/shm
because that's a RAM-drive (fast) and will cleanup itself after powerdown ;) -
@hiulit @cyperghost my 2 cents, call the script via
runcommand-onend.sh
. When an user launches a game he is eager to play, and even a short delay can be frustrating. When he leaves the game he is already satisfied and a small delay to go back to emulationstation won't hurt that much. ;-) -
@meleu I don't know how much it lasts to generate a picture and I think the RAM-drive should speed this up. But I'm not the developer of this. So with your suggestion we would create a screen on every boot and after a game is finished. Also a possibility - nevertheless I would prefer the
runcommand-onstart.sh
;) -
@cyperghost said in Fun Facts Splashscreens:
@meleu I don't know how much it lasts to generate a picture and I think the RAM-drive should speed this up.
I think you're saying this based on what we discussed about my script to generate launching images. If I recall correctly you suggested using
/dev/shm
because in my script I create some temporary images to build the final one.But the fun-facts script creates the final image in only one step. Add the fun-fact text and done!
So with your suggestion we would create a screen on every boot and after a game is finished.
With that sentece I'm not sure if you are confused about what the fun-fact script does. Then here are some words, just trying to clarify:
The boot splashscreen image file is different from launching images.
When the fun-fact feature is enabled to run at boot it generates, in a background process, a new splashscreen for the next boot. The splashcreen that is being shown was previously generated and the code responsible for showing it is the official
splashscreen
RetroPie scriptmodule. It has nothing to do with launching images.I would prefer the
runcommand-onstart.sh
;)My suggestion to call it from
-onend
script is just an approach taking into consideration the user experience, but the code would be exactly the same, regardless of it being called from-onstart
or-onend
scripts.And now, at a second thought, I think that calling it from
-onstart
and making it runs in background, while the current launching image is being shown, can work better.
The feature @fnkngrv requested does not demand any change on the fun-fact script.
We made the fun-fact script allow the user choose what image you want to use to add the fun-fact on. Then it's just a matter of
runcommand-onstart/onend
tweaking. ;-) -
@meleu said in Fun Facts Splashscreens:
@hiulit @cyperghost my 2 cents, call the script via
runcommand-onend.sh
. When an user launches a game he is eager to play, and even a short delay can be frustrating. When he leaves the game he is already satisfied and a small delay to go back to emulationstation won't hurt that much. ;-)that is a cool idea actually!
-
@meleu said in Fun Facts Splashscreens:
So with your suggestion we would create a screen on every boot and after a game is finished.
With that sentece I'm not sure if you are confused about what the fun-fact script does. Then here are some words, just trying to clarify:
The boot splashscreen image file is different from launching images.Sorry bro for being unclear.
My suggestion was to create a funfact screen during boot (not a splashscreen!) to have one generated picture ready to show if you start a ROM. Then the runcommand-onend creates the next...Hope that I was clear now ;)
-
My suggestion was to create a funfact screen during boot (not a splashscreen!) to have one generated picture ready to show if you start a ROM.
Generate launching images at boot? For what system? All of them? 😱
I think the delay would be unbearable.
-
@meleu @cyperghost maybe what we could do is have a function in fun facts to create all those launching images (it would take a long time) and then we could either use
onend
oronstart
to generate the new one, per rom/system -
@hiulit I wouldn't bother to code something to be used only one time to do the exactly same thing that would be done on demand later (except for learning purposes, of course).
Summing up: let's focus on
runcommand-onstart
/-onend
scripts! ;-) -
I'm happy to announce Fun Facts! Splashscreens v2.0.0 :D!!!
Check out https://github.com/hiulit/RetroPie-Fun-Facts-Splashscreens to see the complete documentation about all the new options.
CHANGELOG
Fixed
- Fixed
check_dependencies
. - Fixed files permissions after updating the script.
- Fixed scriptmodule files and help.
- Fixed
Set text color
dialog, which was crashing after clicking theBack
button. - Fixed GUI error messages going to
>&2
.
Added
- Added
--add-fun-fact
option to add new Fun Facts!. - Added
--remove-fun-fact
option to remove Fun Facts!. - Added
--edit-config
option to edit the config file. - Added
--reset-config
option to reset the config file. - Added
--enable-log
option to enable logging. - Added
--disable-log
option to disable logging. - Added
--restore-defaults
option to restore default files (splashscreen, config file and Fun Facts!). - Added functionality to download the Fun Facts! Splashscreens default splashscreen if it doesn't exist.
- Added functionality to download the Fun Facts! Splashscreens config file if it doesn't exist.
- Added functionality to download the Fun Facts! Splashscreens text file if it doesn't exist.
- Added log file
fun-facts-splashcreens.log
. - Added functionality to enable/disable logging in the config file.
- Added functionality to enable/disable script at boot in the config file.
- Check if the script is used as a scriptmodule.
Changed
- Updated Fun Facts!.
- Changed
default-splashscreen.png
forretropie-default.png
. - Changed
fun-facts-settings.cfg
forfun-facts-splashscreens-settings.cfg
. - Silenced some outputs.
- Removed
CODE_OF_CONDUCT.md
,ISSUE_TEMAPLATE.md
andPULL_REQUEST_TEMPLATE.md
as nobody, not even me, was using them :)
How to update
As it is a major version, instead of updating the script, I would start with a clean installation.
- Remove any previous installation by deleting the Fun Facts! Splashscreens folder:
/home/pi/RetroPie-Fun-Facts-Splashscreens
. - Install the script:
cd /home/pi/ git clone https://github.com/hiulit/RetroPie-Fun-Facts-Splashscreens.git cd RetroPie-Fun-Facts-Splashscreens/ sudo chmod +x fun-facts-splashscreens.sh
If you are using the script via the RetroPie-Setup (if you installed the script as a scriptmodule via the RetroPie-Extra repository), go to:
- Manage packages
- Manage experimental packages
- fun-facts-splashscreens
- Remove
- Install from source
But wait! I'm still waiting for a PR to be accepted ;)
Now what?
Let's start working on
runcommand-onstart
/-onend
!! - Fixed
-
@hiulit said in Fun Facts Splashscreens:
But wait! I'm still waiting for a PR to be accepted ;)
Accepted!
-
@zerojay Thanks!!! :)
P.S. I'll send you a new one in a few days... Sorry! :P
-
@hiulit said in Fun Facts Splashscreens:
@zerojay Thanks!!! :)
P.S. I'll send you a new one in a few days... Sorry! :P
Keep 'em comin'.
-
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.
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.