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

    Input needed: ES theming improvements

    Scheduled Pinned Locked Moved Projects and Themes
    themethemingemustationimprovementsbrainstorm
    255 Posts 32 Posters 163.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.
    • E
      EctoOne @mattrixk
      last edited by

      @mattrixk hmm, having only the active system colored would work for me, since I'm only displaying 1 system on my theme. So at least I don't have the extra work to recolor every system, that's why I asked for that feature because I'm lazy. I hope it is possible to get it fixed for you.

      Also that's why I asked what features are in this build. It was a little confusing having 3 builds with different features. Now I'm only using this one. Guess this weekend I have to spend some more time on the Pi, want to see if I can set up UAE4arm anyways.

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

        @Zigurana I agree that it is a good idea to hold off on refactoring the carousel into its own component. No reason to hold up this great new feature.

        I have an idea about how to implement partial width for the carousel. If you look at the ScrollableContainer class, you will that it is calling Renderer::pushClipRec and Renderer::popClipRec. I believe that this may be the key. I am hoping to find some time this coming weekend to try it out, but thought I would leave the idea for you in case you beat me to it.

        @mattrixk I believe that @Zigurana should be able to apply the same color fix to the non-active logos. Looks like it was probably just an oversight.

        Get latest build of EmulationStation for Windows here

        1 Reply Last reply Reply Quote 0
        • Z
          Zigurana @mattrixk
          last edited by

          @mattrixk , @jdrassa : You got me, i missed the first applyTheme for normal (non-selected) logos!

          But now I think about it some more, if you want to color each logo, irrespective of selection status or not, why not just use different logo's?
          I was imagining this as a highlighting method, to further indicate the selected logo. Is this not how you would use it?

          Because I now use the existing implementation for ImageComponents to set the color, its not really possible to discriminate between selected and normal logos this way.
          I think that having multiple theme colors wrapped into a single theme is interesting, but an outside use-case, but I might be mistaken.
          So while it's a 30 sec job to implement for all logos I think this is more usefull actually. I like to be challenged on this though!

          Re. popClipRec's: This is something I know very little about (glRendering and all that), so @jdrassa I'll leave you to it! let me know if you make progress!

          My next stop: Vertical carousels!

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

          mattrixkM 1 Reply Last reply Reply Quote 0
          • Z
            Zigurana @EctoOne
            last edited by

            @EctoOne said in Input needed: ES theming improvements:

            Also that's why I asked what features are in this build. It was a little confusing having 3 builds with different features. Now I'm only using this one. Guess this weekend I have to spend some more time on the Pi, want to see if I can set up UAE4arm anyways.

            Hi Ecto, I think you should keep in mind what this is, and experimental branch, still in development stage. If you cannot figure out what is, or is not present in terms functionalities, look at it from like this: Is the other functionality I am looking for already part of the main build? Has the dev branch been rebased recently? If the answer to any of these two questions is no, it will not be in there (yet). In general, its a dumb idea to combine development of several non-related features in one go, as bugs in the one will hold the other back.
            So I tend to take in only the changes that are accepted into RetroPie/Master only (not that that is a guaranteed clean situation, but lets not go there).
            To recap, this branch has most everything the RetroPie/master branch has, plus the themable carousel.
            You might want to consider sticking to the master branch, if you care about stability.

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

            E 1 Reply Last reply Reply Quote 1
            • mattrixkM
              mattrixk @Zigurana
              last edited by

              @Zigurana said in Input needed: ES theming improvements:

              I was imagining this as a highlighting method, to further indicate the selected logo. Is this not how you would use it?

              Huh, I didn't even consider this. My idea was each System would have it's own colour for backgrounds, highlights etc (similar to Pixel and MetaPixel). I'm also creating new Logo artwork, but they are all mostly transparent so the background colour/pattern can show through. The downside of this is that the System View can look a little plain because everything is the same colour. I was hoping to display the System colours through the Logos on the carousel.

              Eg, using my GB (green), NES (red), SNES (purple) example above: If the carousel has Gameboy active, it will have a green background, green logo and green console image. I was hoping to show a red NES logo and a purple SNES logo in the carousel, just to give it all some colour.

              if you want to color each logo, irrespective of selection status or not, why not just use different logo's?

              A few reasons:

              • Lots of photoshop work on a theme that I've already been working on for months.
              • If I use specific colours for each logo, it's going to be a lot of work to make sure they match the System colours (just comparing the hex code doesn't really work).
              • Also, with set colour in the logo, a user can't go in and change the System colours if they want to.

              I don't want any of this to sound like I'm whinging or ungrateful. I love your work. I still use the Child-Friendly mod on my set-up at home, and can't see myself changing any time soon.

              My ES themes: MetaPixel | Spare | Io | Indent

              1 Reply Last reply Reply Quote 1
              • E
                EctoOne @Zigurana
                last edited by

                @Zigurana It's like I said before. I know that there are experimental builds and that's great and all. All I'm trying to say is that it is hard to keep track of which build supports what. For example, the carousel mod was the first build that got me into themes, then I wanted to try to work on getting video support In the theme and it really confused me for a while that my theme was broken because the video build was missing support for carousel changes. Finding the error by reading through multiple (sometimes very long) threads was tedious.
                Again, I deeply appreciate all the work everyone here does to make this better. But I wish it was more organized. Sometimes the solution is found under help, sometimes it's somewhere else.
                When I have a problem with something related to Kodi, it's easier to find a solution because of the way the Kodi forum is structured. Almost everything has its own group in a specific sub category.

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

                  @Zigurana said

                  My next stop: Vertical carousels!

                  The part of zigurana in all future discussions will be played by a puppet, since the real one is busy with carousels.

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

                  Backlog: http://backloggery.com/lilbud

                  1 Reply Last reply Reply Quote 1
                  • Z
                    Zigurana @mattrixk
                    last edited by

                    @mattrixk said in Input needed: ES theming improvements:

                    • I'm still getting the pop-in of the right-side carousel icon.

                    Huh? thats weird. Can you please post your xml part for the carousel, and the amount of systems that are actually available?

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

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

                      Would it be possible to use an image for the carousel BG instead/alongside color?

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

                      Backlog: http://backloggery.com/lilbud

                      Z 1 Reply Last reply Reply Quote 0
                      • Z
                        Zigurana @lilbud
                        last edited by

                        @lilbud no, but there is nothing stopping you from adding an additional image element to be in the back, is there?

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

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

                          @Zigurana Probably reaching or exceeding the vram limit. Due to having an extra image or full background image for each system.

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

                          Backlog: http://backloggery.com/lilbud

                          1 Reply Last reply Reply Quote 0
                          • Z
                            Zigurana
                            last edited by

                            Ok, so that went rather smooth.

                            There is now an extra carousel element type: called 'type', possible values are: 'horizontal' and 'vertical'.
                            So now,

                                    <carousel name = "systemcarousel">
                                      <type>vertical</type>
                                      <pos>0.03 1</pos>
                                      <size>0.25 1</size>
                                      <color>FFFFFF30</color>
                                      <logoScale>1.5</logoScale>
                                      <logoSize>0.20 0.3</logoSize>
                                      <maxLogoCount>7</maxLogoCount>
                                    </carousel>
                            

                            results in:
                            VerticalCarouselScreenShot
                            (note the difference in help icons, it now says up-down :-) )

                            Testers are welcome!
                            Windows build - HERE
                            or get it from the repo

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

                            mattrixkM herb_fargusH 3 Replies Last reply Reply Quote 3
                            • mattrixkM
                              mattrixk @Zigurana
                              last edited by

                              @Zigurana Oh hell's yeah! I'll test this out on my lunch break (in about 4 hours time). In the meantime, this is the code from my carousel:

                              <carousel name="systemcarousel">
                                <pos>0 0.677</pos>
                                <size>1 0.260</size>
                                <color>FFFFFF00</color>
                                <logoScale>1</logoScale>
                                <logoSize>0.200 0.100</logoSize>
                                <maxLogoCount>5</maxLogoCount>
                              </carousel>
                              
                              <text name="systemInfo">
                                <pos>0.010 0.930</pos>
                                <size>0.980 0.050</size>
                                <backgroundColor>FFFFFF00</backgroundColor>
                                <color>AAAAAA</color>
                                <fontPath>./_inc/font/Roboto-Light.ttf</fontPath>
                                <fontSize>0.025</fontSize>
                              </text>
                              

                              I only have 5 available systems. It could be because I'm displaying 5 logos and I have 5 systems. I'll try displaying 3 and 4 logos and see if that changes the pop-in.

                              Side note: It's been talked about elsewhere on this forum, about creating a <feature supported="feature"> ability in the XML. Do you know if anyone has been looking into this?

                              My ES themes: MetaPixel | Spare | Io | Indent

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

                                Me right now...

                                0_1487286654948_upload-1a75b586-cf6d-41f0-88df-b5ddf584c5ac

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

                                Backlog: http://backloggery.com/lilbud

                                1 Reply Last reply Reply Quote 1
                                • herb_fargusH
                                  herb_fargus administrators @Zigurana
                                  last edited by

                                  @Zigurana now that's quite lovely. Now all we need is a mashup of the system view and the basic view to view them both at the same time! Lovely work wish I had time to test!

                                  If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                                  Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

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

                                    @herb_fargus That makes me curious about how easy/hard it would be to show the carousel on other Views. I notice you saw this post, is that what got you thinking about it?

                                    Imagine the possibilities if we could do that, although I have some reservations about the controls. Eg: if you have a vertical carousel down the left side of the Basic/Detailed View, pressing Left on the d-pad would activate it. Would Up and Down change the active System as you scroll, or would you have to press A to go into it? Then pressing Right on the d-pad would go back to the gamelist.

                                    But what if you had a horizontal carousel across the top (or bottom) of the screen? Would it still be left/right to get to it? But then when it's active, left/right would cycle Systems, so would you then need to use up/down to activate the gamelist?

                                    @Zigurana: Would you consider putting in a menu option to let the user choose a vertical or horizontal carousel, then a Theme Maker could put in code for both? Although, I don't know how the Maker would differentiate between the 2... maybe <carousel name="systemcarousel-horz"> and <carousel name="systemcarousel-vert"> or something, but that wouldn't cover having different backgrounds, borders or artwork for each layout. Maybe something could be added to <view name="system"> like <view name="system" carousel="horz"> or <view name="system" extra="horz"> or something. I don't know, I'm just thinking out loud.

                                    My ES themes: MetaPixel | Spare | Io | Indent

                                    1 Reply Last reply Reply Quote 1
                                    • lilbudL
                                      lilbud
                                      last edited by

                                      Dream list of ES features: (Just some ideas, you don't have to take these seriously.)

                                      Change width of gamelist selector
                                      Color logos in carousel with codes
                                      Variables in theme.xml's

                                      Theme.xml ideas
                                      Be able to set everything in main.XML, like in the main.xml file, say this:

                                      <image name = "logo">
                                          <path>./$SYSTEM/system.svg</path>
                                      </image>
                                      

                                      And ES will pick out logos automatically.

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

                                      Backlog: http://backloggery.com/lilbud

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

                                        @lilbud I have an implementation of theme variables.

                                        https://retropie.org.uk/forum/topic/7156/variable-support-in-themes-in-emulationstation

                                        Get latest build of EmulationStation for Windows here

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

                                          @jdrassa Would love for this to become official before using it, I'd like to keep the number of theme repositories I have to manage to a minimum.

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

                                          Backlog: http://backloggery.com/lilbud

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

                                            @Zigurana I did some testing earlier with the popClipRec and it worked pretty much how I expected.

                                            I also did some general testing. There were some tweaks I made to the defaults to get it closer to the current behavior. Another thing I noticed is that the background for the infobar does not fade in and out when you switch systems as it does now.

                                            I will try to put together a pull request for you once I pull down your latest changes.

                                            Get latest build of EmulationStation for Windows here

                                            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.