TheLogicMaster / SDH-AnimationChanger

A Steam Deck Homebrew plugin for changing and randomizing boot/suspend animations
Other
64 stars 9 forks source link

Request: Separate lists for Suspend & Throbber animations, and separate "Shuffle on Boot" toggles for each 3 categories? #47

Open bipsydev opened 1 year ago

bipsydev commented 1 year ago

Currently if you have "Shuffle on Boot" toggled on it will shuffle suspend and throbber animations together, considering them from the same list. Some animations have their own separate suspend and throbber versions, and I would like to be able to have different lists for each of these 2 categories to choose from. This helps so when "Shuffle on Boot" is enabled the proper length animations would play appropriately. Maybe this can be implemented as a whitelist/blacklist or with tags to exclude some entries from each list?

Also, it would be great to have separate shuffle toggle buttons for each of the 3 categories so I can keep my boot animation the same while my suspend and throbber can shuffle. I think these small changes make a huge difference in customization for this plugin, let me know what you think/how this could be done.

TheLogicMaster commented 1 year ago

Hmm, if I recall, they used to be separate before you could download animations in the actual plugin, since throbber and suspend animations are categorized the same way now. There was some planning that went into some kind of grouping where the boot, suspend, and throbbed animations would be shuffled as one entity, like how they used to be configured manually, but it wasn't implemented because the use case was unclear and the UI would be much more complex. Maybe a toggle per animation somewhere could enable treating it as either a boot or suspend animation when shuffling. Other features like only shuffling some categories or grouping animations into sets could be done, I'm just not sure how much value they add compared to potential UI settings bloat and complexity.

bipsydev commented 1 year ago

I like the idea of toggling per animation as either suspend/throbber for shuffling, but I do understand the UI complexity that can introduce. I think casual users wouldn't mind it as an optional menu screen, accessible from a button under/above reload config. I do think the second feature of splitting the shuffle on boot button into 3 separate buttons for each category doesn't add a huge amount of bloat or complexity though, they could be placed under the drop down selection for each. Looking briefly through the code it looks like there was something in place for separate sets. I'm very open to tinkering with this on a fork and see if I could maybe do this myself, if you have any tips where to start 😅

TheLogicMaster commented 1 year ago

Looking briefly through the code again, I do recall working on adding set functionality to the backend, but I didn't finish it due to the UI complexity and unclear utility. Manually added animations are already stored/configured in sets, so it isn't a substantial change to add custom ones. The main issue is designing a UI to list and manage the configured sets, and a bit of work needs to be done in the backend to support using the sets. I kinda recall that the intent might have been for the frontend to do all of the randomization, though, so maybe the backend is already fine.

As for the additional UI options, I'm sure there's a clean way to implement more sorting options. For instance, a single shuffle toggle could act as a global shuffle control, and an advanced menu somewhere could have finer grained control like shuffling by set or the whole pool, as well as individual control for the types.