Thanks for the comments, Zhs2
As for the "short" list of suggestions
-Complete list: I've been pondering adding a "WAD library" that you can fill by hand or automagically when you add an external file. I'm still not sure whether I want to implement it or if it's a good/useful idea, I do understand the desire to add all that err...curious data (year, type, author, personal rating, etc.) and I even have a quasiframework to do that in place for another program I did for personal consumption (my personal database of DOS games
). Having a complete list seems more in the realm of a database or, even better, a wiki...why not contribute to one of those or create one?
-Autoloading from text file: well, depends on what text file you mean. I've also been pondering reading the MAPINFO to fill the map names when using PWADS but, truth is, I've been too busy/lazy (depends on the day, mood planetary alignment and such) to write a .wad reader (Free Pascal is already provisioned to read zip files: the pk3 container).
-Displaying the TITLEPIC lump: hadn't thought of that, but I think it would add unnecessary clutter to the interface.
-Recording videos and making screenshots for the frontend (check D-Fend Reloaded for this). D-Fend Reloaded doesn't do that. What it does is read from a folder whatever you capture using DosBox. I think there are already enough tools to do that, some free (e.g NVidia Shadowplay), some paid (FRAPS).
-Search I'll assume for searching WADs with user tags (see the library remark above). I think this is the realm of a database that ZDE doesn't aim to be.
-Some kind of [exchange] format. The profiles for ZDE are XML files, they can be read, edited and used in any machine capable of reading/editing text. Provisions could be made to adjust for paths in different machines, yet the simplest way I can think of ATM (it's 5 am, bear with me) is something I don't like done and a lot of people don't like either: generate a "unique" key based on the machine the program is run, so...I'll think about it/ponder a different solution when I'm not as zombified.
-Configuration for sourceports, IWADs and stuff just like in ZDL3. That's the whole point of ZDE, already done
-An /idgames interface which can download stuff directly from the archive (search function and stuff). I agree with Zhs2: that's what web browsers are for. It could be done; but I think it adds unnecessary clutter, also a lot of people don't like their programs connecting to the net. I have a framework in place (from another of my free software programs) to alert the user when a new version is out so they can download it themselves, yet...I hesitate to add it to ZDE.
The beauty of free software is that the code is available for anyone wanting to add/remove/fix/screw features/look at it/compile their own after reviewing it doesn't do anything hamrful. ZDE is intended to be quite modular, and is getting more modular all the time (a lot of features function without the GUI even, you can write your very own text based launcher and use classes from it or a simple tool that does something from the command line (the wad identifier comes to mind)). The code is written in Lazarus/Free Pascal and designed to be quite understandable (for instance, it tries to avoid obscure variable names like I've seen in some other free software sources).
You can grab your very own copy of the most recent source here https://sourceforge.net/p/zdexe/code/
you don't even need a subversion client, you can download a snapshot; also the most recent release/stable source is always available in the sourceforge files repository as zde.src.zip.
Despite ZDE being mainly a Windows program I do believe the Linux philosophy works (for ZDE and most anything else): have a simple program that mostly does one task but does it well.
If someone wants to take ZDE and "fork" it to add all those net based/database features, I recommend the Ararat Synapse library: it handles all those eevil net tasks and is also free software; for the database stuff, I'd say the simplest way to go about it is using .XML files (D-Fend Reloaded, for example, uses text files-not-quite-XML to store your profiles...each in its own file (with a .prof extension) the advantage of having a lot of files vs. A single unified one is up for debate
. People can do their own versions, the only thing the license (GPL v.3) requires is that if the program is made public its source must be released as well. Incidentally D-Fend Reloaded is written in Delphi (a non-free relative of Lazarus/Free Pascal).
So...people of the community, what do you think?