Please Test: Adding support for "All", "Favorites" and "Last Played" systems
-
from
git fetch https://github.com/hex007/EmulationStation feature-powersaver
pi@retropie:~/pjft-vs/build $ git fetch https://github.com/hex007/EmulationStation feature-powersaver From https://github.com/hex007/EmulationStation * branch feature-powersaver -> FETCH_HEAD
from
git cherry-pick d2aa4861704e4d93659246c13ecc982a6fd18314
pi@retropie:~/pjft-vs/build $ git cherry-pick d2aa4861704e4d93659246c13ecc982a6fd18314 error: Your local changes would be overwritten by cherry-pick. hint: Commit your changes or stash them to proceed. fatal: cherry-pick failed
-
@cyperghost Okay i get what is happening. follow these commands and post on success or failure (post error messages too mate)
git cherry-pick --abort git reset --hard git cherry-pick d2aa4861704e4d93659246c13ecc982a6fd18314
-
I updated to the newest version. How do you create game collections?
I see the game collections settings menu, but how does it all work?
-
@Hex That worked!
Thank you mate ... I had to fill out credentials in git --git config --
but now the branch is merged!It works like @Sano already wrote. If there is no action in ES the CPU load on a Raspberry gots down from 15-20% (without PS) to only 0,3% really amazing.
I'll upload to github >> https://github.com/crcerror/emulationstation-binary-archive
-
@lilbud Sorry, I wasn't clear.
There are still no custom collections yet - this is still only the same work posted a week or two ago. It received some very timely and reasonable feedback during review, and I have now incorporated most of it here. As such, before it can effectively be merged, I've just posted it here for a new round of testing, to make sure nothing new is broken.
It still only has "All", "Favorites" and "Last Played".
After these are closed, we'll move on to the next stage.
Thanks!
-
@pjft I have some suggestions/question for improvment (personal note) - most are just cosmetic and some may be out of your scope
- Can you make in
all-games
the systemsname[gb] [nes] [....] look uppercase? I think that looks better (That are my personal experiences in developing an own favourite system) - The "xxxx has been added to favorite"-badge is now popping up in the upper middle screen area - I think making it right down corner may look a bit better
- A small bug.... If you press Y if you are already in favourites it will break ES and you are in terminal mode (I know it's still on development. I think in future this will remove favorites)
- I think we can reserve the X-button for annother function in carousel (=system select) mode rather than random select for whole system. Random select would be an option if you are in the games list. So you randomly select a game for MegaDrive if you are in MD, for Gameboy if you are in GB.... And you still have the function working like now if you press X in the
auto-allgames VS
. Why am I asking? I have a lot of ATARI 2600 roms, but just a few of them I really want to random select. So the function for now is a bit weird because I randomly get lot's of ATARI roms :) - Search setting A-Z if you press select in game selection was in older ES version on first place. Why not back to normal?
- Thank you again for your straight development - Keep on the good work!
Just my one cent ... Have a nice weekend. I'm on buisness yourney again :(
- Can you make in
-
@cyperghost Thanks for the detailed post!
Answers inline:
@cyperghost said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
Can you make in all-games the systemsname[gb] [nes] [....] look uppercase? I think that looks better (That are my personal experiences in developing an own favourite system)
Oh. I didn't notice that it wasn't - my theme is indeed in all caps.
I can certainly force it to be all caps - good call.
The "xxxx has been added to favorite"-badge is now popping up in the upper middle screen area - I think making it right down corner may look a bit better
I thought about this - even top right, like traditional popups from your browser or PSN. In the end I deliberately chose to make it show up on top center because different themes will have something in most other locations (bottom right is usually either the description, or the games list for some themes; Top left is usually an icon, system name, or games list; top right same). Top center seems to be the least bad option, and also it's sure to be noticeable by people. Furthermore, it is aligned with the EmulationStation menu, which also shows up aligned at center.
A small bug.... If you press Y if you are already in favourites it will break ES and you are in terminal mode (I know it's still on development. I think in future this will remove favorites)
Huh. It should certainly remove favorites, and in my tests so far it had worked as intended, so that's good to know!
Can you give me some step by step instructions on how to replicate that? I'll try it later as well, as maybe some of the most recent changes made that happen. That is not intended.
Is it when you only have one game in the list?
Thanks for catching it!
I think we can reserve the X-button for annother function in carousel (=system select) mode rather than random select for whole system. Random select would be an option if you are in the games list. So you randomly select a game for MegaDrive if you are in MD, for Gameboy if you are in GB.... And you still have the function working like now if you press X in the auto-allgames VS. Why am I asking? I have a lot of ATARI 2600 roms, but just a few of them I really want to random select. So the function for now is a bit weird because I randomly get lot's of ATARI roms :)
I understand the use case. I will not change the behavior of the Random button in this PR, as that's a separate scope, but while I do use the "Random game for the entire collection" feature quite a bit, at times I have personally also felt the need for a use case where I'd select a random game in the current list only.
@Zigurana is the brain behind that feature and use case, so I won't change that without his feedback. That being said, if we now have an "All Games" collection, I can certainly see how we could restrict the "Random Game" selection to the currently selected system, and if someone would want to select a random game across their entire collection, they can achieve it via pressing "Random" while on the "All Games" list.
But it's not my call here.
Feedback appreciated, though - especially as I have also felt the need for that at times, when I just want randomly explore my Arcade collection, or NES collection.
Search setting A-Z if you press select in game selection was in older ES version on first place. Why not back to normal?
That has been flagged in the past. I believe @dankcushions has just submitted a PR for that, so that should be fixed soon!
Thank you again for your straight development - Keep on the good work!
Not at all, thanks for the feedback.
-
@cyperghost Just confirming, I can't seem to reproduce that crash at the moment.
If you can get me more specific details on how you achieve that, I'd love to look into it - as well as if you get any particular error message on the terminal.
Does it happen all the time? Sometimes?
Thank you.
-
@cyperghost said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
- I think we can reserve the X-button for annother function in carousel (=system select) mode rather than random select for whole system. Random select would be an option if you are in the games list. So you randomly select a game for MegaDrive if you are in MD, for Gameboy if you are in GB.... And you still have the function working like now if you press X in the
auto-allgames VS
. Why am I asking? I have a lot of ATARI 2600 roms, but just a few of them I really want to random select. So the function for now is a bit weird because I randomly get lot's of ATARI roms :)
Hi! Thanks for the suggestion, that's actually a really good suggestion! I think it would be very intuitive if the X - gotoRandom() function only works on a GameList level, especially when there will be a system containing all games anyway.
That would free up the button on the system select screen.
I'm on my phone right now, would you mind creating a new issue on the github tracker for this? That way I will not forget to pick this up later. That will likely be only after this PR has gone through, as this might impact the implementation somewhat.Thanks for bringing this up, it's usability issues like this that make or break the experience.
- I think we can reserve the X-button for annother function in carousel (=system select) mode rather than random select for whole system. Random select would be an option if you are in the games list. So you randomly select a game for MegaDrive if you are in MD, for Gameboy if you are in GB.... And you still have the function working like now if you press X in the
-
@Zigurana I'm happy to make the change myself if you'd bless it, in this PR.
-
@pjft sure, no problem. It's about the functions getting in, not about who does this!
You could have a look at how I initially filtered out the 'RetroPie' system from the list, I suspect that can be improved with your other changes in placewait no, it becomes much easier if we only need to consider a single system!Please have a go at it, I am looking forward to see the proposed changes.
Any idea what to use the free X-button for on SystemView?
-
@Zigurana I'll certainly look into that then. I might even move the "get random game" method to the SystemData class. We'll see.
As for the X-button on SystemView, I'm of two minds. I don't like having buttons assigned just for the sake of it, but I am not shocked if it keeps the same functionality as now (which is equivalent to "selecting a random system"). And in the gamelist, it is "select a random game".
Or I can cap it to just effectively select a random system, but stay on the system view.
Your call.
-
@pjft said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
As for the X-button on SystemView, I'm of two minds. I don't like having buttons assigned just for the sake of it, but I am not shocked if it keeps the same functionality as now (which is equivalent to "selecting a random system"). And in the gamelist, it is "select a random game".
I look to you @pjft ... You may need that to set a pre-cursor to custom-collection. So you press X to move something from system XY to
custom-collection
and then you are in gamelist in select ROM with press on Y to reroute to collection system.I can live with that behaviour now but a random selection for emulation system would be much better imho. With the
auto-allgames
you got the same feature you now have global.Huh. It should certainly remove favorites, and in my tests so far it had worked as intended, so that's good to know! Can you give me some step by step instructions on how to replicate that? I'll try it later as well, as maybe some of the most recent changes made that happen. That is not intended.
I can reproduce it easily.
I go toauto-favorite
and if I press Y on a selected ROM. I got error messagesegmentation fault
on terminal output. After that bash.rc will be loaded ES binary is killed ....I compiled the binary for two days. Did you made changes to your branch?
Oh. I didn't notice that it wasn't - my theme is indeed in all caps.
I can certainly force it to be all caps - good call.I use IO it uses lower and upper case fonts... indeed system are written as they are in
es_systems.cfg
. This does not really looks good as I developed my launching system. I just want to prevent you from small mistakes I already did!EDIT:
Annother small bug
In
auto-lastplayed
if you press select and menu with filter will pop up then filtering of "sort games by" is automatically set to "Filename, Ascending"You will loose setted feature "Last Played, Ascending" even after you leave system and enter it again. Just after restart!
-
@cyperghost no, no changes there. Would you be able to take a video of that, for me to see if anything stands out? In particular of the original system gamelist with the ROM, and then on the favorites one.
What happens if you do that to the same ROM in its original system? Will it remove it as intended? Is it in all Roms?
What collections do you have enabled?
Can you tell me where you have the ROM (subfolder? What exact system?).
Are you parsing gamelists? Not?
Sorry for the trouble. That's certainly a problem, and I may end up having to put together a small debug build and send it your way just to get some more logs.
-
@pjft said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
@cyperghost no, no changes there. Would you be able to take a video of that, for me to see if anything stands out?
Got this!
What happens if you do that to the same ROM in its original system? Will it remove it as intended? Is it in all Roms?
That works, Badge "Removed 'xxxxx' from 'Favorites' appears" and selected ROM will disapper on
auto-favorite
The adding and removing works also inall-games
system
If I want directly remove fromauto-favorites
then ES crashes with "segmentataion fault"What collections do you have enabled?
all three systems
Can you tell me where you have the ROM (subfolder? What exact system?).
I have symlinked FAT32 USB-Stick to
~/RetroPie/roms
There all system are arranged as in original state. The system does not matter if I enterauto-favorite
and press Y then ES is breaked.Are you parsing gamelists? Not?
No... Parsing is diabled, saving of metadata on exit is enabled
Sorry for the trouble. That's certainly a problem, and I may end up having to put together a small debug build and send it your way just to get some more logs.
But I located the bug!
It is the power saving feature @hex in the older version with the info note!
If it is disabeld it works! enabeld it crashes ES....
I provide the binary in download archive here >> https://github.com/crcerror/emulationstation-binary-archive
Go to PI2/3 section and download Powersaving and Favorite system build. I'm on journey and can't test out now. But as I said it's the older version of @hex mod.
It may be elimanated in newer versions!I edited my previous post
Annother small bug
In auto-lastplayed if you press select and menu with filter will pop up then filtering of "sort games by" is automatically set to "Filename, Ascending"
You will loose setted feature "Last Played, Ascending" even after you leave system and enter it again. Just after restart!
-
@cyperghost Thanks.
That's good to know, and thanks for investigating and narrowing down.
@Hex : is this something you'd be able to debug on your end, as to why we're getting a segmentation fault if we remove an element from the current view? Maybe you'll be able to replicate it if you edit the metadata of a game and choose to delete the file (attention: it will effectively delete a file, so you may want to create test files for that). See if that crashes on your end at the moment, as it seems not to happen without PS enabled.
In regards to the auto-lastplayed filter, yeah, I know... we don't have pre-sets selected in the menu, which sucks. That also happens if you sort any gamelist, and then go back to the menu.
I may leave it at that for now and fix it later, as that's a separate thing, but good catch.
Thanks!
-
@pjft said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
That's good to know, and thanks for investigating and narrowing down.
Yes, better to catch this in early development state. Maybe it's fixed in later power saving branches but I've no chance to test. Someone must merge yours and @hex branch and test out!
@Hex
ES just breaks if you press Y inauto-favorite
system
All other systems work as aspected!In regards to the auto-lastplayed filter, yeah, I know... we don't have pre-sets selected in the menu, which sucks. That also happens if you sort any gamelist, and then go back to the menu.
I may leave it at that for now and fix it later, as that's a separate thing, but good catch.Can you reload sort mode after entering
auto-lastplayed
again?Thanks!
Thank you for debugging instructions!
-
So, end of day update:
- Added the "caps" to the system name;
- Adjusted the "Go to Random Game" functionality to behave as discussed earlier;
- Added a "Filter by Favorites" per system, so far. I may add an option to make it global to be closer to the ES-Kids branch at a later stage, but not for now.
- (Hopefully) A few fixes to nasty, hidden bugs spotted by @Zigurana (thanks!).
- A few other quality of life changes, I suppose, but mostly around the code.
So if nobody runs into issues when testing it, I'm reasonably happy with its current state and hopefully the PR can go into the normal approval flow.
Well, as soon as I rebase it, I imagine.
Thank you all!
If all goes well, next stop: user created collections!
-
@pjft said in Please Test: Adding support for "All", "Favorites" and "Last Played" systems:
next stop: user created collections
Will they function the same as favorites and lastplayed? Also, how would we create them? would it be done through ES?
-
@lilbud The idea is that all will be created via ES.
See here for the concept:
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.