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 25.5k 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.
    • D
      detron
      last edited by

      I also think this is really cool.

      the images would be amazing, but even if it is only used on the command line through forture | cowsay it would still be cool

      alt text

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

        I just wanted to let you know that I've started working on this project.

        I'll keep you updated ;)

        P.S. Looking good!
        0_1510156218247_Captura de pantalla 2017-11-08 a les 16.49.26.png
        P.P.S. @meleu When using convert, it takes a lot of time. I'm working on a Virtual Machine. Maybe it's that. I don't know. Here's a snippet of what I'm doing:

        convert splash4-3.png \
            -size 1000x100 \
            -interline-spacing 5 \
            -background transparent \
            -fill white \
            -caption:"${fun_facts[$random_number]}" \
            -gravity south \
            -geometry +0+25 \
            -composite \
            result.png
        

        And here's what time outputs:

        real 0m7.172s
        user 0m6.300s
        sys  0m0.656s
        

        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

          BTW, if anyone wants to tinker, here's the GitHub's repo https://github.com/hiulit/es-fun-facts-splashscreens

          My little contributions to the RetroPie project:

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

            @hiulit hey man! Well done!! ;-)

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

              @meleu Thanks! :D It's super basic now, but it seems to be working. Now it's time to take a look at your generate-launching-imagesscript and improve mine ;)

              My little contributions to the RetroPie project:

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

                @hiulit I'm glad to know it can inspire you. I usually spend sometime making my code readable just to help others to understand it (including @meleu in the future). Knowing that you're reading it and getting some inspiration makes me feel like the work was worth it. :D

                Let me know if you have any doubt!

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                1 Reply Last reply Reply Quote 1
                • meleuM
                  meleu @hiulit
                  last edited by meleu

                  @hiulit a small tip: if you want to store fun facts in a text file, one fun fact per line, you can get a random line from the file using the shuf command. This way:

                  shuf -n 1 fun_facts.txt
                  

                  EDIT: This aproach would be useful if the users want to customize their fun facts. They wouldn't need to edit the script's code.

                  ;-)

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

                    @meleu Thanks for the tip! I'll try it! :)

                    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 Done! It works beautifully :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
                      • Z
                        Zigurana
                        last edited by

                        If it takes too long, maybe run the image-generation-script on system shutdown, to be used at next boot-time?

                        If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                        meleuM hiulitH 2 Replies Last reply Reply Quote 1
                        • meleuM
                          meleu @Zigurana
                          last edited by

                          @zigurana good idea! ;-)

                          @hiulit I have more comments, maybe it's better to move the nerdy conversation to the nerdy topic... :)

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

                            @zigurana Yeah, good idea! Although I really don't have any idea of where I should put my script to do that... (⊙_☉) hehe! Noob at scripting here :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
                            • hiulitH
                              hiulit
                              last edited by hiulit

                              More progress! :D
                              Now the splashscreen is created using the font of the active theme in EmulationStation, and if it has none it takes the Carbon theme font as default.

                              A little video demo of the script working https://streamable.com/s/bbzzd/fecqc

                              And here's the the splashscreen of the Pixel theme with a Fun Fact!™ using Pixel's own font.

                              0_1510312850864_Captura de pantalla 2017-11-09 a les 13.20.02.png

                              My little contributions to the RetroPie project:

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

                                @hiulit you're doing a good job bro!!

                                I've submitted a PR to your repo. But, as I'm away from my RetroPie currently, please test it before merging. ;-)

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

                                  WOW, thanks man! I will take a look at it and I'll get back to you :)

                                  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 hiulit

                                    @meleu Hey, I've merged your pull request but I had to make a little change because it didn't seem to work properly.

                                    The change I made was adding a ! before -f "$splashscreen" when checking for the splashscreen.

                                    if [[ ! -f "$splash" ]]; then
                                        splash="$DEFAULT_SPLASH"
                                    fi
                                    

                                    Besides that, everything was alright! Thanks! :)

                                    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

                                      @meleu When I encountered the problem with Pixel theme and xmlstarlet I tried a different approach for finding the font.

                                      function get_theme_font() {
                                          get_current_theme
                                          if [[ -n "$(find "$ES_DIR/themes/$current_theme/art" -type f -name '*.ttf')" ]]; then
                                              font="$(find "$ES_DIR/themes/$current_theme/art" -type f -name '*.ttf')"
                                          else
                                              font=$DEFAULT_FONT
                                          fi
                                      }
                                      

                                      I did the job, but I wasn't happy about repeating the find function , but I don't know any better :P

                                      Do you think that could be a workaround for finding theme fonts?

                                      I know that some themes can have multiple fonts but I think it's ok to use the first one found.

                                      My little contributions to the RetroPie project:

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

                                        @hiulit it's better to move the nerdy conversation to the nerdy topic... :)

                                        I'll try to answer your questions there. Wait a moment. ;)

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

                                          @meleu Oh, you're right! ;) See you there!

                                          My little contributions to the RetroPie project:

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

                                            @BuZz please, evaluate if you would accept the following feature for splashscreen script module (and asplashscreen.sh script):

                                            Adding an option to put a random "fun fact" on the splashscreen.

                                            The result would be something like this:

                                            pixelsplashfunfact

                                            Some notes about how I'm thinking to implement that:

                                            • add a toggle option on splashscreen script module to enable/disable fun facts.

                                            • when enabled, a new splashscreen would be generated at every boot

                                            • a new dependency to generate the images: imagemagick (same as launchingimages scriptmodule).

                                            • the image would be generated at boot in a background process and would be used in the next boot. I mean, when I boot my pi, the splashscreen I would see already exists and the script would be generating a new one for the next boot in a background process.

                                            • (obviously) it would be only used when the splashscreen is an image (do nothing when using a video)

                                            • the "fun facts database" would be a text file in $datadir/splashscreens/.

                                              • an "official" funfacts collection could be stored in the official repo in scriptmodules/supplementary/splashscreen/

                                              • provide a way to the user use a custom funfacts collection.

                                            • the font to be used for the fun fact text would be the same as the one used by the current ES theme in detailed view.

                                              • Note: RetroPie must be frontend agnostic. Then, if the script can't find the font as described above, it would use a generic font.
                                            • all the logic for the image generation would be in asplashscreen.sh script

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            BuZzB 1 Reply Last reply Reply Quote 0
                                            • 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.