Graf Zahl wrote:TBH, the entire IWAD selector has become something of a sore spot to me - it's a cluttered mess. This has come to the point that these days I have placed most of the IWADs outside of GZDoom's search path, namely those I do not need for launching PWADs. But even this is too much IMO. In order to load certain PWADS, the IWAD needs to be in the search path - and if it is in the search path it will get shown in the IWAD selector. Worse, there's one more thing that forces itself in here in a way I don't like, and that's the GOG and Steam installations. There's no way to disable these, e.g. for a custom game that ships the engine with its own IWAD. Since such a switch needs to be outside the config file I have no clue how to add it.
So no matter, from where I start GZDoom with whatever setup, there's always that godforsaken IWAD selector listing 'game xyz' (which is supposed to be there) and my Steam based Strife Veteran Edition's IWADs.
Rachael wrote:I agree there, fully, but I have never been a UX designer. I'd be one of those idiots who use electron for the whole thing - not because I love electron (I really don't), but because it'd be the only way I know how to do it. I don't have experience with anything else, and it's always been too bothersome for me to learn it.
This is something where people from multiple platforms need to come together and decide on a standard, and we also need a way to bring it into reality. What we have is unacceptable. Mac has an IWAD list and a command line on their IWAD window. Unix/Linux just has an IWAD list and nothing more. Windows has actually everything except the command line on its IWAD window. Wild inconsistencies across the board, and there's just no real way to unify the code base right now so that a change that happens for one platform is reflected on the other 2(.5?).
Again - this is just something I do not have enough experience in to make any qualified decisions on it.
Another issue, not listed here, is that the unique startup sequences (Heretic, Hexen, Strife) are currently Windows-only and often have weird hardcoded format limitations (for example, the utterly-unholy-by-modern-standards image format used for Hexen startups). A more platform-independent implementation would pave the way to making things more flexible.Graf Zahl wrote:The big problem here, of course, is, that there's no lightweight cross-platform GUI abstraction. The only ones I consider usable (Qt and wxWidgets) are multi-megabyte pieces of bloat that want to take over the entire app logic. Everything else I've ever tried tries to play cheap and as a results looks like garbage.
As mentioned above, this has been an issue for quite a while, but there hasn't been a lot of movement on it. In part because it's not a "sexy" part of the engine that attracts much attention from players or modders, and in part because getting everyone on the programming side of things to agree on a cross-platform GUI toolkit is a bit like asking everyone on the programming side of things to decide between Vim and Emacs. There needs to be a more focused debate between programmers from multiple platforms (Paging _mental_ and Marisa...) to try and find some form of common ground that can be acted upon, so that this ugly little slice of the engine can be whipped into a more easily-maintainable shape.