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

    runcommand launching images for ANY theme

    Scheduled Pinned Locked Moved Projects and Themes
    runcommandlaunching imagesplashscreenscript
    222 Posts 40 Posters 172.9k 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.
    • meleuM
      meleu
      last edited by meleu

      Yo!
      I've got excited after making that script to automatically generate launching images for the Carbon theme and then I've made another script to generate launching images for ANY theme.

      If you don't know what a "launching image" is, take a look at these links:

      • https://github.com/retropie/retropie-setup/wiki/runcommand#adding-custom-launching-images
      • https://retropie.org.uk/forum/topic/4611/runcommand-system-splashscreens

      [UPDATE 22/feb/2017]: It's part of RetroPie-Setup now!
      You just have to update RetroPie-Setup scripts and then "Manage Packages" >> "Manage experimental packages" >> "launchingimages" >> "Install from binary"

      After the installation, the option "launchingimages" will be available at RetroPie-Setup >> "Configuration / tools" >> "launchingimages". Just follow the instructions on screen. ;-)


      [OLD POST]

      It's still a work in progress but perfectly usable.

      The script is here: https://github.com/meleu/generate-launching-images/blob/master/generate-launching-images.sh

      And you can download it this way:

      wget https://raw.githubusercontent.com/meleu/generate-launching-images/master/generate-launching-images.sh
      

      And to assure that it's executable:

      chmod +x generate-launching-images.sh
      

      usage

      USAGE: generate-launching-images.sh -t theme-name [options]
      
      Use '--help' to see all the options
      
      -h, --help                   Print the help message and exit.
      -t, --theme THEME            Create launching images based on THEME. This is
                                   the only mandatory option in order to generate
                                   the images (see --list-themes).
      --list-themes                List the available themes and exit.
      --extension EXT              Set the extension of the created image file
                                   (valid options: png|jpg).
      --no-ask                     Do not show the created images and ask for
                                   confirmation (blindly accept the created images).
      --loading-text "TEXT"        Set the "LOADING" text (default: "NOW LOADING").
      --press-button-text "TEXT"   Set the "PRESS A BUTTON" text (default:
                                   "PRESS A BUTTON TO CONFIGURE LAUNCH OPTIONS").
      --loading-text-color COLOR   Set the color for the "LOADING" text
                                   (default: white).
      --press-button-text-color COLOR  Set the color for the "PRESS A BUTTON" text.
                                       (default: gray50).
      --no-logo                    Do not put the system logo on the created image.
      --destination-dir DIR        Put the created images in DIR directory tree
                                   (default: /opt/retropie/configs/).
      --system SYSTEM              Create image only for SYSTEM (the default is
                                   create for all systems found in es_systems.cfg).
      --show-timeout TIME          Show the created image for TIME seconds before
                                   ask if the user accept it (see --no-ask).
      --solid-bg-color [COLOR]     Use a solid color as background. If COLOR is
                                   omitted, use the color specified by the theme.
      

      check some tips in this post below

      TO-DO list

      I would do all these before announcing the script here, but it's summer here in Brazil and I need to take my kids to the beach and chill out with my wife. :-)

      • polish the code
      • use trap to delete the /tmp files
      • add option to apply color to the logo
      • add option to apply color to the background
      • add option to use a solid color as a background
      • add an option to put a color belt as the logo background
      • add an option to change the text color.

      In the following posts you can see some examples of the generated images.

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      A Bored NinjaA T 2 Replies Last reply Reply Quote 5
      • meleuM
        meleu
        last edited by meleu

        cool examples

        Here are some examples of cool generated images:

        clean-look theme

        arcade
        0_1484226086401_launching.png

        fba
        0_1484226221525_launching.jpg

        mame-libretro
        0_1484226334802_launching.jpg

        pcengine (tg16)
        Generated with the --logo-belt option.
        tg16

        metapixel theme

        game boy color (needs a better color for the "press a button" text)
        0_1484226534834_launching.png

        material theme

        master system
        0_1484190876151_launching.png

        megadrive
        0_1484191362048_launching.png

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

          cool examples 2

          simple theme

          32x
          0_1484226758252_launching.png

          mame
          0_1484226698976_launching.png

          nbba theme

          game boy advance
          0_1484086447873_nbba-gba.png

          fds
          0_1484226948888_launching.jpg

          tronkyfran theme

          fba
          0_1484227108466_launching.jpg

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

            bad examples

            tronkyfran theme

            The background images from the tronkyfran theme are amazingly beautiful, they alone are good launching images, maybe I'll add an option to generate with no logo (UPDATE: it's already implemented, use the --no-logo option).

            atari2600
            0_1484074145666_bad-tronkyfran-atari.png

            clean-look theme

            Maybe I'll add an option to put a background belt behind the logo...
            UPDATE: the problem below can be avoided using the --logo-belt option.

            turbografx
            0_1484074240141_bad-cleanlook-pcengine.png

            simple theme

            the colors make some letters become invisible (UPDATE: you can avoid it using --loading-text-color and --press-button-text-color options).
            neogeo
            0_1484074420877_bad-simple-neogeo.png

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            lilbudL 1 Reply Last reply Reply Quote 0
            • synackS
              synack
              last edited by

              very nice! may want to edit the OP to add the additional step of chmod a+x script for our less linux-familiar friends :-)

              1 Reply Last reply Reply Quote 2
              • meleuM
                meleu
                last edited by meleu

                @lilbud said in runcommand launching images for Carbon theme:

                @meleu Is there a way to choose color of background per system?

                Yep, there's a way to do it, but I didn't implement it yet on my script. It's already in the TO-DO list. ;-)

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

                  This is fantastic (and can be modified for user-installed themes that aren't in /etc). Any way to get it so that it will run over SSH? It wants to show me each splash, which is fantastic, but PuTTY doesn't display graphics, so the script ends for me (I think)

                  meleuM 1 Reply Last reply Reply Quote 1
                  • meleuM
                    meleu @liquidzoo
                    last edited by

                    @liquidzoo said in runcommand launching images for ANY theme:

                    can be modified for user-installed themes that aren't in /etc

                    Do you mean the themes installed in $HOME/.emulationstation/themes? OK. I can do this.

                    Any way to get it so that it will run over SSH?

                    I think the only way to make it usable over SSH is adding a, let's say, --yes option. Where you accept every generated image with no confirmation. Is it enough for you? (Keep in mind that some images won't look so good, as you can see in the bad examples)

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

                      @meleu said in runcommand launching images for ANY theme:

                      Do you mean the themes installed in $HOME/.emulationstation/themes? OK. I can do this.

                      Yes, that's exactly what I mean (I was able to modify my own copy for this, but I'd rather have it as an option if possible)

                      I think the only way to make it usable over SSH is adding a, let's say, --yes option. Where you accept every generated image with no confirmation. Is it enough for you? (Keep in mind that some images won't look so good, as you can see in the bad examples)

                      I think that would be acceptable. The bad examples I did see, and I can work on tweaking things on my end to help avoid that (I will look through the script to see which files are being used).

                      meleuM 1 Reply Last reply Reply Quote 1
                      • lilbudL
                        lilbud @meleu
                        last edited by

                        @meleu I was thinking that the system color, would be the background, and the logo would be white

                        Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                        Backlog: http://backloggery.com/lilbud

                        meleuM 2 Replies Last reply Reply Quote 0
                        • meleuM
                          meleu @lilbud
                          last edited by

                          @lilbud could you show me an image as an example?

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

                            @liquidzoo Done and (partially) done.

                            The script now looks for themes in $HOME/.emulationstation/themes too.

                            And to use it over SSH you have to edit the script and set the yes_flag to true (I'm assuming you're comfortable to edit a script). I know it's ugly, I've made this way as a fast solution to make it usable for you. I'll polish the code later.

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

                              Fantastic! And yes, I can edit the script myself, thanks for adding the option.

                              Looks like I need to make some modifications to my theme, though (or add in some sort of a background file). Right now I don't have a separate entry in my xml for a per-system background and it gave some errors. Going to look into it and see what I can come up with.

                              meleuM 1 Reply Last reply Reply Quote 0
                              • meleuM
                                meleu @liquidzoo
                                last edited by meleu

                                @liquidzoo is your theme available somewhere? I would like to know what's wrong.

                                or add in some sort of a background file

                                I'm planning to add an option to make the background as a solid color. It would be useful when there's no background image file.

                                Another problem is that my script currently looks for the data it needs in the [SYSTEM_THEME]/theme.xml, and if not find, it looks in the file that is <include>d in the theme.xml. I need to improve this searching method (e.g. the @mattrixk 's IO theme use yet another <include> inside the io/io.xml and my script is currently unable to look at it).

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

                                  @meleu 0_1484181584632_upload-d63cec9f-1e35-47e7-951a-889d858ef88e

                                  Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                                  Backlog: http://backloggery.com/lilbud

                                  meleuM 1 Reply Last reply Reply Quote 1
                                  • L
                                    liquidzoo
                                    last edited by

                                    Mine isn't anywhere to view yet. It's a homebrew combination of Carbon and nbba with a little added flair (it also has Genesis and TG16 rather than MegaDrive and PCEngine)

                                    It does have a background defined in the overall theme.xml rather than the individual systems, but I don't know if the script is picking it up.

                                    From the theme.xml (called test.xml):

                                    	<image name="background" extra="true">
                                    		<!---<tile>true</tile>--->
                                    		<size>0 1</size>
                                    		<pos>0.5 0.5</pos>
                                    		<origin>0.5 0.5</origin>
                                    		<path>./_art/whitehex.jpg</path>
                                    	</image>
                                    

                                    And the error:

                                    WARNING: No background found for "snes" system.
                                    The launching image for "snes" was NOT created.

                                    Repeated for each system (though not every system I have ROMS in, for example it is not there for either PCEngine or TG16)

                                    meleuM 1 Reply Last reply Reply Quote 0
                                    • meleuM
                                      meleu @lilbud
                                      last edited by

                                      @lilbud I'm not sure if I convert any logo to a white version it will look good... Some logos has several colors. Example:
                                      0_1484181938500_megadrive.png

                                      If the white logo is provided by the theme it's OK, but I'm not sure if applying a color to a logo would be cool...

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

                                        	<image name="background" extra="true">
                                        		<!---<tile>true</tile>--->
                                        		<size>0 1</size>
                                        		<pos>0.5 0.5</pos>
                                        		<origin>0.5 0.5</origin>
                                        		<path>./_art/whitehex.jpg</path>
                                        	</image>
                                        

                                        Good that you posted that code snippet! The problem is there!!

                                        To get the XML data in my script I use a tool named xmlstarlet. This tool takes the XML Specification very seriously. :-)

                                        According to the comments section of XML Specification: "the grammar does not allow a comment ending in --->". And the xmlstarlet doesn't recognize this string as closing comment string.

                                        That's the why my script is unable to create images for the pixel theme. I've submitted a PR fixing it, but @Rookervik needs to approve it.

                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        L RookervikR 3 Replies Last reply Reply Quote 1
                                        • L
                                          liquidzoo @meleu
                                          last edited by

                                          @meleu

                                          That fixed it, for sure. I deleted that comment and it worked, mostly.

                                          Launching image for "fba" created with success!
                                          Launching image for "fds" created with success!
                                          Launching image for "gamegear" created with success!
                                          Launching image for "gb" created with success!
                                          Launching image for "gba" created with success!
                                          Launching image for "gbc" created with success!
                                          Launching image for "mastersystem" created with success!
                                          Launching image for "megadrive" created with success!
                                          Launching image for "n64" created with success!
                                          Launching image for "neogeo" created with success!
                                          Launching image for "nes" created with success!
                                          Launching image for "pcengine" created with success!
                                          Launching image for "ports" created with success!
                                          Launching image for "psx" created with success!
                                          Launching image for "sega32x" created with success!
                                          Launching image for "segacd" created with success!
                                          Launching image for "sg-1000" created with success!
                                          Launching image for "snes" created with success!

                                          Am I correct in thinking that it's only looking for the systems that have emulators installed, and even then only certain naming structures (megadrive over genesis, pcengine over tg16)?

                                          meleuM 1 Reply Last reply Reply Quote 0
                                          • lilbudL
                                            lilbud @meleu
                                            last edited by

                                            @meleu 0_1484183708933_upload-63ae24d4-c62d-4746-b770-4bf14b76fb11

                                            Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                                            Backlog: http://backloggery.com/lilbud

                                            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.