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 26.4k 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

      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
                                          • BuZzB
                                            BuZz administrators @meleu
                                            last edited by

                                            @meleu I wouldn't be interested sorry.

                                            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

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