port recalbox themes to retropie
-
Hello!
I am looking to port a series of recalbox themes over to retropie but have had limited success.
As much editing as I do with the theme.xml files, I find myself with broken mismatches and it just doesn't work.
Where exactly is the incompatibility in these themes? What tags and portions of the script generally do not work on retropie? Any other looks fors?
Thanks in advance.
-
You can find a reference for ES's themes syntax at https://github.com/RetroPie/EmulationStation/blob/master/THEMES.md. It's updated whenever some new element is added or is modified to support extra features.
-
Recalbox has support for theme options (change elements from the EmulationStation GUI) which Retropie has not. So that might be the first cause of your problems. I'm not sure if unknown elements are ignored or not.
The second difference I know of, is that the variable syntax is different.
Edit: I just remembered that one part of the theme setting support is switching images by language/region settings. So some
<image>
nodes may contain something likelang=us
as parameter. -
@ratedrguy Someone ported the theme to RetroPie but I'm not sure if there a violations to copyright.
https://retropie.org.uk/forum/topic/11553/recalbox-theme -
Thanks for the responses, everyone.
One thing I've done is try to remove the variable options (such as region preferences - us, jap, etc.). I've also remove their 'helpmenu' from the theme.xml.
Yet, for some reason, it remains broken and resorts to emulationstation defaults. I'm not quite such why.
It seems that the recalbox community has for the most part been successful in easily porting retropie themes to their images but not so much the other way.
-
@ratedrguy can you upload your xml or the whole theme to github or something? I can take a look at it.
Btw: If you are really getting mismatched errors, that usually means you removed one or more closing tags. That easily can happen with all those nested elements.
-
@EctoOne Thanks, EctoOne. I appreciate the assistance. If I can successfully port one of these over, I'm sure it will inspire me to port a lot more. I will upload the entire theme for you to have a look. Thanks again.
-
@EctoOne I have uploaded it to this link here. After tinkering, the retropie produced a new error Assertion "Err!" - and a crash.
https://github.com/ratedrguy/New-Theme
For the time being, I've uploaded the theme with NES folder only to simplify as if I can get it to work with one system, the rest becomes a matter of copy & paste. If you require files of additional systems while you are taking a look, let me know.
Again, thanks a lot!
-
@cyperghost Thanks for the link. I think I will download both the recalbox AND retropie version of the theme you've posted to see where the differences are.
-
@ratedrguy without further testing it, you probably need to delete line 11. You're opening the node for all game views right before that and with that line you're immediately closing it. Everything after that line gets ignored and because there is another closing
</view>
at the end, you're getting the mismatched error.Edit: move that line beneath the help system element a few lines further down. Deleting it won't work, because currently lines 13 to 30 are not embedded in a view node. Everything else looks fine.
-
@EctoOne Thank you! You've helped me get over the first hurdle. The theme no longer crashes but it still reverts back to all emulationstation defaults at this time. No customization is shown as of yet. I added the basic, detailed and video views to the theme.xml in the system folder but still no dice. I may have misunderstood the github tutorial on theme building. I'm not quite sure where this is still broken.
-
@ratedrguy I took a closer look, at it seems that you have at least one pathing issue in the carousel_legacy.xml.
As for the default settings. I'm actually not sure. It seems that the includes are not working correctly (are you using the dev build? there recently was an update on that element.) But since it is not working for me, I can't tell whats wrong. Besides, I don't even know why there are so many includes involved. I guess they are remains of the theme settings.
Another thing is, that you almost don't even need the subfolders with your current theme.xml. Only the rating image is currently used from what I've seen. Even the extra system metadata is set to be off screen. All images have no path, exept the background image. Which is set to
<size>0 1</size>
which makes it invisible.Oh, and you still have the Recalbox syntax for the variable.
$system
should be${system.theme}
. -
@EctoOne Thanks for taking a close look. There are so many 'includes' because I tried to minimize my changes and kept whatever files were a part of the original theme intact. Perhaps that is a standard tree that they follow with Recalbox? or maybe it was just this particular theme creator that decided to make it this way.
Maybe rather than minor modifications, it's best to recreate the theme entirely with retropie while borrowing certain elements/images.
Thanks again for your assistance! I'll keep at it and see where I can go with it. Your time and guidance is much appreciated!
-
@ratedrguy It depends on for you want to go with the port. If you want all the options the original offers, the best way is to use some sort of config.xml with the includes. Then it would be easy to manually change certain elements.
If you only want one particular layout for the carousel and/or game views, I suggest not to use includes at all.
But yeah, trying to completely start from scratch would be a good way to start if you are new to all this. EmulationStation themes are very restricted and therefore quite simple if you know the basics.
When you got into it, you can later copy the settings from the original (mainly size and position) to your new theme.
That's at least how I got into it. Back then there was no theme that I really liked. One had a good looking system view but awful looking game views or vise versa. Then I tried to merge themes. To figure out what element does what, I made some small changes to the positions and checked what changed.Another minor suggestion is to work on the text elements first (without defining a font path) and add images afterwards and then add fonts and fix the sizes/positions. Wrong paths are the only thing I know of that can crash EmulationStation. By adding those at late as possible, you can tell that your initial layout code is correct.
Edit: I think I know why your theme falls back to the default settings. Your nes/theme.xml is missing the include to the root theme.xml.
Since the nes/theme.xml has the highest priority all settings from the root theme.xml are not applied.
-
@EctoOne Hello. Sorry but I wanted to know if you could adapt the recalbox next theme to Retropie ?
Do you think it is possible.to adapt it with all options ? I am a bit new on xml basic. Thank you
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.