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

    Variable Support in Themes in EmulationStation

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstationthemes
    111 Posts 13 Posters 35.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.
    • S
      Syhles @mattrixk
      last edited by

      @mattrixk
      Indeed it would be a lot of work and this point it is more of a novelty concept then a usable methodology to make a theme, theme makers absolutely shouldn't make themes like this as it's constraining. This is for non theme makers.

      Sorry for derailing the thread, the actual thread topic is way better btw.

      1 Reply Last reply Reply Quote 0
      • N
        Nismo @Syhles
        last edited by Nismo

        @Syhles When I say metadata, I mean if one themer make a "box" in the background for the metadata, and other themer make another box in other place, and you change the xml files, maybe the metadata it's totally out of place.

        This could happen:

        ¡-------------------------¡
        ¡       box for      ¡ ------------------¡
        ¡   metadata         ¡                   ¡ 
        ¡------------------ -¡  metadata         ¡
                             ¡-------------------¡
        

        That's because all "modular" themes must be pretty similar, too much things to fit from one theme to another. Apart from images. I'm already seeing it, same themes with different colors or backgroud pattern...

        Also, if all the images go inside art or default folder, how do you separate the art of some themes from the others?

        @Syhles said in Variable Support in Themes in EmulationStation:

        @mattrixk
        Indeed it would be a lot of work and this point it is more of a novelty concept then a usable methodology to make a theme, theme makers absolutely shouldn't make themes like this as it's constraining. This is for non theme makers.

        If this is a lot of work for theme makers, I do not even want to think how it will be for non theme makers.... XD

        1 Reply Last reply Reply Quote 0
        • K
          KazanTheMan @jdrassa
          last edited by

          @jdrassa I just stumbled on this thread from the z-index thread, and this is awesome. You are seriously putting in some work on this stuff left and right, and I appreciate it. If I might make a request for a ${romName} variable? It would make non-metadata images for specific ROMs actually implementable. I suspect it would be at least marginally more difficult to implement than ${systemName}, but it is something I would like to be able do in my theme.

          Anyway, even if you decide it's not possible, the idea of a global theme.xml and being able to define custom variables is amazing and a boon to my efforts. Seriously, thanks again for all the hard work.

          1 Reply Last reply Reply Quote 1
          • A12C4A
            A12C4
            last edited by A12C4

            I know this post is quite old, but I think this awesome feature is missing something.

            If all your controllers are grouped in the ./art/controller folder and system logos are grouped in the ./art/logo, why not allow theme makers to group all their specific system related theme.xml in one folder ? Like ./xml/[SYSTEM_NAME].xml for example

            How do you want the theme makers to use the new folder hierarchy ./[DATA_TYPE]/[SYSTEM_NAME].[FILE_EXTENSION] if specific system related .xml still need to use the old hierarchy ./[SYSTEM_NAME]/theme.xml ... that make no sens to me.

            I know one of the main goal is to have only one theme.xml but for me removing specific system related .xml isn't even an option, it's a really nice feature to allow theme makers to change colors/size/whatever else independently for each system.

            Grid view wiki

            J 1 Reply Last reply Reply Quote 0
            • J
              jdrassa @A12C4
              last edited by

              @a12c4 That folder hierarchy is just an example. I am not suggesting that anyone has to follow that model. In the original post, I actually used the following as an alternate example, which preserves the way that most themes are created today.

              <path>./${systemName}/art/controller.svg</path>
              

              The main difference is that there is no standard to where art/resources should be stored. Even before this change, themes could have used either folder hierarchy.

              I wouldn't say that having only one theme.xml was a main goal. It was more of a happy accident. I don't actually expect many themes to switch to using a single xml file, at least not anytime soon, since most/all will want to maintain backward compatibility for users who have not yet upgraded EmulationStation.

              Get latest build of EmulationStation for Windows here

              A12C4A 1 Reply Last reply Reply Quote 2
              • A12C4A
                A12C4 @jdrassa
                last edited by A12C4

                @jdrassa Thanks for your fast reply, but I don't think you totally answered to my question.

                What I mean is the standard old hierarchy was :
                <path>./${systemName}/art/controller.svg</path>
                <path>./${systemName}/art/system.svg</path>
                <path>./${systemName}/theme.xml</path>

                And a new standard could be :
                <path>./art/controller/${systemName}.svg</path>
                <path>./art/system/${systemName}.svg</path>
                <path>./${systemName}/theme.xml</path>

                Why is the hierarchy for system specific .xml still using old standard ? Why you don't create a new standard like :
                <path>./theme/${systemName}.xml</path>
                or
                <path>./xml/${systemName}.xml</path>

                Because right now if themes switch to this new standard, they would group all their art stuff in an "art" folder, but would still have one to maintain a folder for every system with only a system specific theme.xml inside of it.

                I feel like you have a great idea but did only half of it, either not use this new hierarchy at all or push it to the limit.

                Grid view wiki

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

                  I would like to know wich themes are currently using these variables to check if I need to change my tool to generate launching images based on ES themes.
                  Can somebody help me to get this info?

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jdrassa @A12C4
                    last edited by

                    @a12c4 I am not necessarily against making this change. It is not a bad idea, it is just that I wouldn't anticipate many theme creators taking advantage of it anytime soon and I only have so much time to work on things.

                    That being said, I would be willing to pursue it if there was large support from the theme creators here on this forum.

                    Get latest build of EmulationStation for Windows here

                    1 Reply Last reply Reply Quote 1
                    • J
                      jdrassa @meleu
                      last edited by

                      @meleu I don't think very many are using it at this point. Most, will likely only use it for the default theme which use when a system specific theme does not exist.

                      Get latest build of EmulationStation for Windows here

                      ruckageR 1 Reply Last reply Reply Quote 1
                      • ruckageR
                        ruckage @jdrassa
                        last edited by

                        @jdrassa
                        Hi, sorry to be a pain again but is there an up-to date windows build with the new features such as Default themes, I want to test them out and and add them to my themes and its just easier to work in windows.

                        Thanks for all your hard work.

                        SNES mini/Nes mini/Famicom mini theme developer.

                        If you'd like to support my work you can donate here: Donate

                        S J 2 Replies Last reply Reply Quote 1
                        • S
                          Syhles @ruckage
                          last edited by

                          @ruckage
                          Have you ever tried running Ubuntu? That's what I run and it makes themeing a tad bit easier as I don't need to wait/hope there's a windows build with what I need, also I think you can run and install Ubuntu on a flash drive so you wouldn't need to do a permanent install on your system.

                          ruckageR 1 Reply Last reply Reply Quote 0
                          • ruckageR
                            ruckage @Syhles
                            last edited by

                            @syhles
                            That wouldn't help because all the software I use for creating the art is on Windows.

                            SNES mini/Nes mini/Famicom mini theme developer.

                            If you'd like to support my work you can donate here: Donate

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Syhles @ruckage
                              last edited by

                              @ruckage
                              Not to clutter the thread but what do you use?

                              ruckageR 1 Reply Last reply Reply Quote 0
                              • ruckageR
                                ruckage @Syhles
                                last edited by

                                @syhles
                                I mainly use photoshop cc.

                                SNES mini/Nes mini/Famicom mini theme developer.

                                If you'd like to support my work you can donate here: Donate

                                1 Reply Last reply Reply Quote 1
                                • pjftP
                                  pjft
                                  last edited by

                                  I suppose currently a system's theme is kind of contained within the logical grouping of a folder. There's nothing preventing this re-architecture from happening, but I struggle to see the obvious benefit at the expense of what would be a clear backwards-compatibility problem for theme makers.

                                  S 1 Reply Last reply Reply Quote 1
                                  • S
                                    Syhles @pjft
                                    last edited by Syhles

                                    @pjft
                                    I guess I would prefer a XML folder to hold xml's and I would rather have xml's named after the systems in that xml's folder instead of having to have x amount of folders so I can cover all the systems.

                                    1 Reply Last reply Reply Quote 1
                                    • J
                                      jdrassa @ruckage
                                      last edited by

                                      @ruckage no pain. I have the build process mostly automated at this point. You can download an update windows build using the link below. The build available there should always be from the latest source.

                                      https://github.com/jrassa/EmulationStation/releases/tag/continuous

                                      Get latest build of EmulationStation for Windows here

                                      ruckageR A12C4A 2 Replies Last reply Reply Quote 2
                                      • ruckageR
                                        ruckage @jdrassa
                                        last edited by

                                        @jdrassa said in Variable Support in Themes in EmulationStation:

                                        @ruckage no pain. I have the build process mostly automated at this point. You can download an update windows build using the link below. The build available there should always be from the latest source.

                                        https://github.com/jrassa/EmulationStation/releases/tag/continuous

                                        Thanks, that's great - I appreciate it. I'll make sure to bookmark that link and then I won't need to hassle you :D .

                                        SNES mini/Nes mini/Famicom mini theme developer.

                                        If you'd like to support my work you can donate here: Donate

                                        1 Reply Last reply Reply Quote 0
                                        • A12C4A
                                          A12C4 @jdrassa
                                          last edited by

                                          @jdrassa Nice I bookmarked that too, thank you a lot !

                                          Grid view wiki

                                          1 Reply Last reply Reply Quote 0
                                          • mattrixkM
                                            mattrixk
                                            last edited by

                                            @jdrassa said in Carousel Enhancements:

                                            I added this when I implemented theme variables

                                            Cool. That reminds me, but what happens to themes that use variables on an older version of ES that doesn't support them? Can you / do you have to wrap them in the <feature> tag, is there some kind of fallback, or does the theme just break?

                                            I figured it would be best to ask this question in this thread rather than derail the other thread

                                            My ES themes: MetaPixel | Spare | Io | Indent

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