Please Test: Creating Custom Collections
-
Hi all,
I missed RetroPie's anniversary by 1 day. Had I known about it I'd have released this yesterday :)
I'll cut straight to the chase: here's an intro to what this whole effort is all about, and it's basically the quest to let users create their own game collections from within EmulationStation, no trickery or whatever.
EDIT: Here's a nice video from @dmmarti demonstrating it with his Showcase theme:
You can get the binary (for a Pi 3, maybe 2?) from this link, or compile it from my Custom-Collections branch using the es-tests tool.
The description now:
- Allows creating a new custom collection from a theme folder
- Allows creating a new custom collection with the user specifying a name for the collection (this doesn't work if this is not loaded on boot, as keyboard input isn't registered by ES!). This will, for the time being, show in the main carousel as a system - if the theme supports default systems, or if there's a matching folder, it'll be themed. Otherwise it won't.
- Known behaviors (not issues - meaning, I very likely won't address these):
- Collection sorting may not be consistent if the "sort" option isn't set to "ON". Meaning, if you create new collections, and toggle the "sort" option back and forth, you may find that the sorting order may change slightly.
- Custom Collections are sorted with the rest of the systems by default. You can disable that. Let me know if you actually use it, otherwise I'll remove the option.
- Automatic collections (All, Favorites, Last Played) are always the last 3 systems. They are not sorted, they're deliberately separate to be easily accessible.
- Bundling unthemed collections in the
custom-collections
system. [Added July 25th]
- Code is not yet to my liking. So don't really worry about reading too much into it - I still plan on reviewing and refactoring it a bit more, for things I feel aren't as slick as they should.
I don't really want to explain a lot more for the time being, as I'd rather want people to try it and see if/how it works for them, especially adding collections, adding/removing games from theme, etc.
This should address the use cases that @meleu , @TMNTturtlguy , @cyperghost and others were advancing with scripts, symlinks and other command-line things, but right now it's all done from within ES. Also, @dmmarti , this should now allow you to create the systems for your other theme folders, like Batman, Megaman, etc.
If using this, I'd recommend getting a theme that supports those custom systems, or the latest Carbon, which should support default themes, at least.
This is a beta: meaning, it's meant to be more robust than an alpha (i.e. I have tried to test this quite a bit so that it shouldn't crash in the majority of cases - hopefully all). Go forth, have fun and break things! :)
Have a great week.
-
@pjft said in Please Test: Creating Custom Collections:
(...) or compile it from my Custom-Collections branch
... using the es-tests tool.
:)
-
@meleu oh, certainly. What I meant was that that was the name of the branch you should use. :)
-
@pjft yep, I got it. That was a not-so-explicit way to suggest that maybe you want to add that link in the OP. :)
-
Here is a thread were some themes are listed which support the new custom collection feature
ES themes ready for favorite, all games, recently played and custom-collections
@theme makers: Please add system
custom-collections
to your themes!@pjft I will pin this thread into the ES theme - and will report. Thank very much for your genious development and support.
@meleu Thx for adding to your quick access directoryAll in all this development will be a huge step forward and hopefully be announced on RetroPie 6th birthday! Because the themes are system indenpendent now.
-
@pjft @jdrassa can I get a quick guid on setting up the "default theme". I looked at the github repo and it looks like it is just an xml in the main folder of the theme named theme.xml. Is that really all I need to do is create a theme.xml in the root ComicBook folder? What do I need to edit so that custom collections name will display instead of the system.png? Thanks I can start a new post if you guys prefer.
-
@tmntturtlguy I think that's just that. I'd check the carbon one for the text example, on GitHub, as I don't know the specifics :/
-
@meleu Ah :) Done! :)
-
@tmntturtlguy I will try to write something up tonight.
-
Okay!
It looks a bit bare now but this doesn't matter.
An in all it seems to work. I was able to add new systems via keyboard.
I entered editing mode I think adding mode would sound better
I added 3-4 games, started them within
Made a restart. Collection was also loaded with games added.
I removed them, restarted... Everything went fine for now.@pjft
From 4,7MB to 5,4MB ... I think we can get trouble in self compling. Is there a chance to reduce binary size? -
@cyperghost I have no idea. I also don't know if that'll be the final binary size (meaning that maybe compiling via the script may actually have some optimizations this binary doesn't), but I'm certainly self compiling here :)
-
@pjft said in Please Test: Creating Custom Collections:
as keyboard input isn't registered by ES!
Keyboard input worked fine for me, I was able to create a custom system successfully.
@pjft said in Please Test: Creating Custom Collections:
if the theme supports default systems, or if there's a matching folder, it'll be themed. Otherwise it won't.
What do you mean here by default system?
-
@lilbud @jdrassa implemented the option for theme makers to specify a default theme layout for systems that lack a folder, just that.
You can also create systems from unused theme folders, if your theme has them (some themes have folders for Mario, mega man, fighting games, etc). @TMNTturtlguy 's Comic Book theme is a good example of that as it has plenty such folders to play with.
I imagine creating themes for which you have no folder for now makes the experience quite suboptimal for the moment :/
-
@pjft So I'd create a folder named default system? Or would I define it in the main theme.xml?
-
-
@TMNTturtlguy @lilbud I have added a page to the wiki with a details on how the default theme works. Let me know if you have any additional questions.
https://github.com/RetroPie/RetroPie-Setup/wiki/EmulationStation-Advanced-Theming
-
@jdrassa thanks so much! I will look into this after the kids are in bed!
-
@tmntturtlguy that's what they want you to believe... It's a trap though! :)
Quick question: have you had the chance to put together a custom collections folder in the most recent versions of the theme? Just curious as I'm going to start testing that soon and I was wondering if updating the theme would solve it. Don't worry, I can use other themes. I just wanted to check first.
Best.
-
@pjft Yes, the customs collections folder has been in that theme since i created the favorites, last payed, and all games. Should be good to go. Let me know if there are issues.
-
@pjft @lilbud @jdrassa @cyperghost Sorry for tagging all of you but i don't have a pie to test the ComicBook theme updates on, so I am hoping one of you might do the testing for me? i have updated all versions of the theme with the default theme.xml. I hope it works, but i am doing this "blind" without the ability to test. I think the only issue may be the size/location of the text on the gamelist view. The hope is that a generic comic book background appears with the blue retropie logo in the bottom left corner. The system name should be shown in the comic book text, black in color on the carousel. When going into the gamelist view, the system name should be in the top left corner in black comic book text. The top right corner should have a custom collections logo for the standard theme, the comic rip should be the megaman/mario hybrid character.
if you could test it out and let me know what happens I would appreciate it. If things are not showing correctly, a screenshot would be awesome. Thanks in advance.
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.