RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Fun Facts Splashscreens

    Scheduled Pinned Locked Moved Projects and Themes
    splashscreenscarbon
    102 Posts 13 Posters 22.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • hiulitH
      hiulit
      last edited by

      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?

      My little contributions to the RetroPie project:

      • Shell-Script-Boilerplate
      • Fun-Facts-Splashscreens
      • Limit-Last-Played-Games
      1 Reply Last reply Reply Quote 0
      • hiulitH
        hiulit
        last edited by

        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/disable runcommand-onend.shusing 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.shfile:
        #!/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 in fun-facts-splashscreens.sh in the create_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.

        My little contributions to the RetroPie project:

        • Shell-Script-Boilerplate
        • Fun-Facts-Splashscreens
        • Limit-Last-Played-Games
        1 Reply Last reply Reply Quote 1
        • hiulitH
          hiulit
          last edited by hiulit

          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.

          0_1518708720666_ffs-3do.png

          0_1518708738381_ffs-megadrive.png

          0_1518708748365_ffs-genesis.png

          0_1518708759493_ffs-mame-libretro.png

          0_1518708766502_ffs-nes.png

          0_1518708775150_ffs-snes.png

          My little contributions to the RetroPie project:

          • Shell-Script-Boilerplate
          • Fun-Facts-Splashscreens
          • Limit-Last-Played-Games
          cyperghostC 1 Reply Last reply Reply Quote 1
          • cyperghostC
            cyperghost @hiulit
            last edited by

            @hiulit That looks beautiful.

            The creation is incredible fast. So why not using /dev/shm and create the screens with runcommand-onstart?

            hiulitH 1 Reply Last reply Reply Quote 1
            • hiulitH
              hiulit @cyperghost
              last edited by

              @cyperghost I don't know what you mean by using /dev/shm.. :P

              My little contributions to the RetroPie project:

              • Shell-Script-Boilerplate
              • Fun-Facts-Splashscreens
              • Limit-Last-Played-Games
              1 Reply Last reply Reply Quote 0
              • cyperghostC
                cyperghost
                last edited by

                @hiulit That's a RAM drive ... Don't know if it's available on the x86 versions. The Rapsberry gots that

                hiulitH 1 Reply Last reply Reply Quote 1
                • hiulitH
                  hiulit @cyperghost
                  last edited by

                  @cyperghost I have that folder. How does it work? How can we use it to create splashscreens?

                  My little contributions to the RetroPie project:

                  • Shell-Script-Boilerplate
                  • Fun-Facts-Splashscreens
                  • Limit-Last-Played-Games
                  cyperghostC 1 Reply Last reply Reply Quote 0
                  • cyperghostC
                    cyperghost @hiulit
                    last edited by cyperghost

                    @hiulit Create the splashscreen in this folder and make a symlink into system folder? Maybe @meleu can tell more?

                    hiulitH 1 Reply Last reply Reply Quote 1
                    • hiulitH
                      hiulit @cyperghost
                      last edited by

                      @cyperghost hmmm.. Ok! :) I'll take a look. Thanks!

                      My little contributions to the RetroPie project:

                      • Shell-Script-Boilerplate
                      • Fun-Facts-Splashscreens
                      • Limit-Last-Played-Games
                      1 Reply Last reply Reply Quote 0
                      • hiulitH
                        hiulit
                        last edited by

                        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

                        My little contributions to the RetroPie project:

                        • Shell-Script-Boilerplate
                        • Fun-Facts-Splashscreens
                        • Limit-Last-Played-Games
                        meleuM cyperghostC 2 Replies Last reply Reply Quote 1
                        • meleuM
                          meleu @hiulit
                          last edited by

                          @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#L403

                          Actually 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.

                          • Useful topics
                          • joystick-selection tool
                          • rpie-art tool
                          • achievements I made
                          hiulitH 1 Reply Last reply Reply Quote 2
                          • cyperghostC
                            cyperghost @hiulit
                            last edited by

                            @hiulit Just one suggestion! May you can introduce a second parameter where the theme that should be used can be entered ;)

                            hiulitH 1 Reply Last reply Reply Quote 0
                            • hiulitH
                              hiulit @cyperghost
                              last edited by

                              @cyperghost We already grab the current theme being used :) https://github.com/hiulit/RetroPie-Fun-Facts-Splashscreens/blob/24cddbe8e69dee7939dcc74ddc99e9bfbd03c59a/fun-facts-splashscreens.sh#L383

                              My little contributions to the RetroPie project:

                              • Shell-Script-Boilerplate
                              • Fun-Facts-Splashscreens
                              • Limit-Last-Played-Games
                              1 Reply Last reply Reply Quote 0
                              • hiulitH
                                hiulit @meleu
                                last edited by

                                @meleu As always, I'll end up using your amazing scripts ;) Thanks!

                                My little contributions to the RetroPie project:

                                • Shell-Script-Boilerplate
                                • Fun-Facts-Splashscreens
                                • Limit-Last-Played-Games
                                cyperghostC 1 Reply Last reply Reply Quote 0
                                • cyperghostC
                                  cyperghost @hiulit
                                  last edited by cyperghost

                                  @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 ;)

                                  hiulitH 1 Reply Last reply Reply Quote 0
                                  • hiulitH
                                    hiulit @cyperghost
                                    last edited by

                                    @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 calls check_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

                                    My little contributions to the RetroPie project:

                                    • Shell-Script-Boilerplate
                                    • Fun-Facts-Splashscreens
                                    • Limit-Last-Played-Games
                                    1 Reply Last reply Reply Quote 0
                                    • hiulitH
                                      hiulit
                                      last edited by

                                      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:

                                      0_1519056209743_ff-launching-boxart.jpg

                                      If it doesn't:

                                      0_1519056225663_ff-launching-no-boxart.jpg

                                      All the launching images are created using runcommand-onend.sh.

                                      My little contributions to the RetroPie project:

                                      • Shell-Script-Boilerplate
                                      • Fun-Facts-Splashscreens
                                      • Limit-Last-Played-Games
                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        CapNinja
                                        last edited by CapNinja

                                        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.

                                        hiulitH 2 Replies Last reply Reply Quote 0
                                        • hiulitH
                                          hiulit @CapNinja
                                          last edited by

                                          @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.

                                          My little contributions to the RetroPie project:

                                          • Shell-Script-Boilerplate
                                          • Fun-Facts-Splashscreens
                                          • Limit-Last-Played-Games
                                          1 Reply Last reply Reply Quote 1
                                          • hiulitH
                                            hiulit @CapNinja
                                            last edited by

                                            @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 :)

                                            My little contributions to the RetroPie project:

                                            • Shell-Script-Boilerplate
                                            • Fun-Facts-Splashscreens
                                            • Limit-Last-Played-Games
                                            C 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.