Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Theme scripting help



  • Hi Guys

    I've created my first ES theme. Although the theme is very simple in terms of code ES still seems to be flaky on the Pi. I come from an Attract Mode background when it comes to RetroPie as I find that AM does provide a lot more power for themeing and user experience. However, since ES rolls out for the masses on a standard image and I thought I'd make a simple theme to take advantage of myself and share with the community.

    Anyway.. the problem
    Since there seems to be a fragmented resource of themeing guides for ES I've muddled through as much as I can find and tried to work out how ES works, how the themes work and think I have the most part down. There are things I'm obviously missing and I'm hoping to get these resolved on this thread.

    The script: https://github.com/zombiesbyte/esdee/blob/master/esdee.xml

    The current problem:

    When choosing between Video and Detailed views from the UI menu I'm experiencing a loss of graphic.

    Detailed view
    Detailed view

    Video view
    Video view

    The theme uses the same section for both settings (line 95 at time of writing)

    <view name="detailed video basic">
        ...
    </view>
    

    Why would images disappear? The scanlines don't though so thought it was a memory issue at first, seems nothing I do brings out the other graphic and even changing up the Z index does nothing.

    Any ideas?

    Cheers
    Dal1980



  • @dal1980 said in Theme scripting help:

    <view name="detailed video basic">

    You forgot commas to separate the view types, that's why video and basic are incomplete.
    Try <view name="detailed, video, basic">



  • Thanks for spotting that EctoOne

    Unfortunately it hasn't made a difference

    :(



  • @dal1980 maybe you also need to rearrange them: basic, detailed, video.
    Although, I'm not sure if that will make a difference but that's how I've seen it on most themes and also used myself every time.
    I can take a look at the code later if it doesn't work, but now I'm pretty busy.



  • Found the error, you don't have enabled video in your system/theme.xml
    Here is an example from the gamegear/theme.xml:

        <view name="detailed">
            <image name="e_wall" extra="true">
                <path>./../_inc/assets/gamegear-wall.jpg</path>
            </image>
            <image name="logo">
                <path>./../_inc/assets/gamegear-sd-logo.png</path>
            </image>
        </view>
    

    You need to change <view name="detailed"> to <view name="detailed, video"> for every single theme.xml



  • Just two small suggestions, you could also switch to variables and move all code from the theme.xml to your esdee.xml. Then you can remove all subfolders, and if you want to add/change something you only have to edit one file. You can take a look at the theme from @chicuelo here, that uses that method (and only uses the single theme.xml files to set the text for the different systems.) Since you already have all your images in a single folder, it should be easy to switch, you might need to rename some files thought.
    And if you rename your esdee.xml to theme.xml it will work for systems you haven't created.

    This will only work on Retropie, although maybe some of the other distros have adapted some features.



  • Thanks so much EctoOne, that was some sharp eyes :D

    I tried to simplify the structure previously by using variables to populate filenames but this ended up causing issues. Changing back to the file structure and hardcoding the names of each graphic seem to fix that. I thought I was done with messing in them sub-theme files and didn't think to check in there.

    I was hoping to find that these problems where linked with the memory issues but alas, these problem with random missing images still prevails. Not to worry.

    Thanks for helping me solve this problem.

    Github updated

    Cheers
    Dal1980



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.