Open Splitwirez opened 3 years ago
Regarding number 5, I should probably work on a real installer for RetroBar to simplify the initial installation as well. For theme installation, distributing themes as a ZIP and extracting them in the %localappdata%\RetroBar\Themes
directory is the direction I may pursue (whatever is implemented will likely also be shared with Cairo.)
1: Okay yeah maybe that doesn't make so much sense after all. Woops.
3: Are you sure you want to parse the entire XAML document (and implicitly assume it to be valid)...just to get the metadata? Not to mention, how would you allow for, say, localized display names in...XAML resources? And do you really want to effectively require the addition of another XAML namespace just for that?
Another thing I forgot to mention about 3. in my initial post: some kind of unique identifiers for skins. This would allow the automated skin installation to, for example, seamlessly "upgrade" an older version of a skin to a newer version, rather than resulting in pointless duplication and clutter.
Also the skin options thing. Futureproofing.
5: I couldn't agree more about having a proper installer, especially if that could take care of ensuring that the proper .NET Core runtime gets installed...and on that note, automatic update delivery would be nice as well (but let them opt-out and stay behind if they so desire).
That said...I'm not so sure ZIP is the way to go for skins - if my experience with that game modding thing is any indication, you may end up with people extracting the ZIP files and wondering what they're supposed to do with the stuff inside. I wish I knew of an archive format I could recommend...one which can be extracted by those looking to see what's inside...but not by standard Windows features or software as widespread and prone to misinterpretation as 7-zip, so as to avoid them being mistakenly extracted by those just looking to install them.
If you do go with ZIP (or anything else which supports a hierarchy, for that matter), well...watch out for this:
There were quite a few mistakes we (mostly I, regrettably) made with our "Mod Identity" system for this game, of which this is one. I don't want those mistakes to be repeated here. I'll try to elaborate further once my head is less clouded-over from vaccination side effects.
As far as ZIP goes, you could always use ZIP but distribute them with a different file extension. That way, the program can still use the archive but users are less likely to attempt to extract it.
So I've been thinking about skinning in RetroBar lately, and had a few thoughts on how it could be improved...
Image
baked intoTaskbarWindow
itself is awkward for any skins that don't strictly follow the "icon with text to the right" thing 9x - XP did. This is an issue for a potential Vista skin, as well as for some potential Longhorn skins, which have the icon but no text. I'd argue that either the icon should be part of the skins' templates for the start button, or both the icon and text should be part of the start button's template (perhaps with the actual "start" string being stored in the DataContext or something, for sake of keeping the door open to localization?)Changes 1, 2, and 6 are all things I'd be happy to help implement, I just wanted to find out what you thought before actually taking a crack at it.
As for 3, 4, and 5, well...I've been developing a somewhat comparable system for...mods for a certain game, surprising as it may sound. As such, I'm definitely not able to take those on right now. We'll see what the future may hold on that front...no promises.