Please Test: Creating Custom Collections
-
@cyperghost I've been thinking about the exact opposite. Why not use tags (something like
<collection>mario</collection>
) in the gamelist vs. a separate file. -
@jdrassa If a game was in multiple collections, would it just be comma delimited?
-
@jdrassa @cyperghost both are good ideas. Let me answer in more detail tomorrow on my laptop rather than over the phone.
-
@pjft I am fine with whatever you choose, it was just something I had been thinking about.
@cyperghost specifically speaking about favorites, one argument for keeping it in the gamelist is that there have been discussions of being able to mark the favorites within the normal system gamelist views.
-
Sorry. Lots of work, little time here :( Sorry for the silence and lack of responses.
@jdrassa @cyperghost Summary in a shorter answer than usual, pardon my attempt at brevity.
Rationale for my decision - which doesn't mean it's the best :)
- Favorites as Metadata: I see it as attributes properties of the game. These can even be themable (the heart for favorites, in ES-Kids, for instance, or potentially a trophy for achievements). So, turning "Favorites" into a separate file is not something I'd feel strongly about and would need some convincing. Also, this keeps it compatible with people who used ES-Kids.
- Systems as metadata: one could see it as tags, in that implementation. It could work. Currently, though, the architecture is more that games belong to a system, and not the other way around. We don't have the current system as a metadata element for the game (though we could, I suppose!). I just did it to follow the same structure as "Load Systems" and then "Populate with Games". If the tags were metadata, I'd need to "Populate Database" and then "Organize in Systems". Not impossible, and not that hard, but different to what we've been doing so far, so that's why I kind of defaulted to that approach without really doing a lot of effort in thinking about many options. I suppose, if in the future we move this to SQL or something, we'd have a Systems table with all the systems/collections, and then a SystemGames table with { SystemId, GameId }, and then a Games table. We wouldn't have a Games table with a { Collections } repeated field... I think. :)
@HurricaneFan I need to clean up the code and then submit it. And incorporate some of the most recent feedback which I'm sure I've lost track of in the thread by now. I expect the more people test it, the easier/faster it'll be to be approved, but the code isn't really to my liking at the moment. I'm just pre-empting feedback that would certainly come from others reviewing the code and commenting on it - effectively trying to spare them some time as this will be a big change already.
I haven't had a lot of time, alas, but maybe I can submit it next week, fingers crossed?
We'll see.
Thanks for the support and interest. Is it working well for you and for those testing? That's really all that matters.
-
@pjft I've been testing it more and more as themes are adding the collection themes. I love the create collection based on theme folder. I've added about 4 of those to my system so far and no issues to report.
-
Without reading the 145 posts... has this been merged yet? I'm eager to go through and build an achievement custom collection. Also.. did the post @meleu started about adding gamelist.xml support for achievements get deleted? I can't find it.
-
@hansolo77 not merged yet. Hopefully I'll submit it next week, just haven't had the time to clean up the code.
-
That's cool. I was just wondering. I've been trying to figure out all these other things on my other build, I was just looking for something to distract me on my WORKING system. Although, I'd hate to go and try to add something else new to it and end up breaking it lol.
-
@pjft How's the code clean up coming along with this feature?
-
@hurricanefan I apologize, I really haven't been having the time to move this forward, much to my chagrin.
The "good" news is that I do have a hard deadline to finish this off before end of month, as then I'll be moving countries, and I won't have a proper laptop for a while. So I do need to finish this off soon. I'll keep you posted here, sorry.
-
@pjft Real world stuff takes priority. Good luck in your move! I just moved states this summer, I know how stressful moves can be.
-
@hurricanefan Thanks.
Yeah, a bit hectic as I try to close everything off in my current work, while sorting out the move with the kids and all, and then trying to ensure a smooth, running landing for all when we arrive.
So yeah. But I really wanted to close this off soon, otherwise even I will forget what I did there :)
-
@pjft, seconding what @HurricaneFan said above, my best wishes for your move as well.
-
Thanks all.
I added the final tweaks to the code and just submitted the PR:
https://github.com/RetroPie/EmulationStation/pull/210
In particular, @TMNTturtlguy I finally changed the sorting option so that it will sort all systems by name, and then at the end we'll have "RetroPie", then the automatic collections ("Collections", "All", "Favorites" and "Last Played"). I also added the "Exit editing mode" to the collections menu, just in case.
Thank you all for the testing, usage, feedback and support. I hope this will be useful for everyone.
For everyone who has been using it on an ongoing basis and testing it (@dmmarti , @HurricaneFan, @alphatoanant , @hansolo77, @cyperghost and others who aren't tagged here yet), if you'd want to drop by the PR and share your experience (how long have you used it for, and whether it has any pending issues or if it's good to go from your testing) that may help it be approved faster, or at least alleviate concerns with the change, as it is a big change.
Thanks.
@alphatoanant Thanks for the wishes as well.
-
@pjft I had always wanted these other entries being listed toward the start or end of the carousel. Great idea.
-
Woaw very impressive, i love your new stuff <3
Thanks a lot for it :) -
@pjft --thank you for all of the work you did for this. This is an awesome enhancement to RetroPie and I'm sure the community is going to love it for sure (I know I do!). I was an early adopter of Attract Mode .... but I have to say, with your enhancements and the newer ES theme features, I find myself using ES more and more now.
I hope your move goes well and you get all settled in quickly.
Once again .... thank you!!!
-
Thank you all. This is as much my work as it is the community's - and this means each and every one of you.
In fact, none of this would have happened if @meleu and @TMNTturtlguy hadn't started this thread over 2 months ago now:
which raised the valid use case which I kind of had felt the need for in the past, but hadn't really given much thought to.
So all in all, this is really their intuition and ingenuity, and all of your enthusiasm and desire to have it in ES - I just tried to refine it to hopefully make it more accessible to the wider community.
Glad that it's been helpful. Do make sure to chime in on GitHub with your experiences (how much you've used it and if it works or where it doesn't), as the more people to test it, the easier it will be to get some reassurance of what is effectively working and what isn't, which will in turn make it easier to merge.
I'm providing a binary with the effectively last version of ES with this, so that if anyone does want to test it, they can in case something came up during the update to 2.5.2 (possible, certainly).
Full instructions:
mkdir /home/pi/tmp-es cd /home/pi/tmp-es rm emulationstation wget https://github.com/pjft/EmulationStation/releases/download/0.9cc/emulationstation chmod +x emulationstation cd /opt/retropie/supplementary/emulationstation sudo cp /home/pi/tmp-es/emulationstation /opt/retropie/supplementary/emulationstation
Thanks.
-
@pjft so these are the steps to implement this now? if it gets rolled into the next official update is there any downside to having done this pre-release version?
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.