Well, not necessarily. KD is the dynamic man. in that I mean that he likes all the code to be totally dynamic to cater for any problems with screwed up installation orders. I wouldn't normally have a problem with that, except that with a program like WeiDU to install things, functions and commands are limited, and the behaviour of WeiDU sucks at times (like the GUI uninstall thing). I like the dynamic idea but only when it is really necessary.I think the gui should be packaged separately and all the gui stuff needs to come out of the mods themselves.
The GUI thing is a good idea, but I propose that instead of automatic install of a GUI, the first mod should just create the GUI mod and add the GUI files to the corresponding folders. The GUI program can, and should, be run manually by the user, and will check exactly what is in each GUI folder, such as by a placeholder text file that the mod will create, i.e. if you take a look in <BGII install directory>\GUIlist\ after installing one of those mods with a GUI, you will see folders numbered 0-20. KD's dynamic installation adds the GUI files to each of those folders. If the GUI program simply detects what mod added the files to particular folders, instead of the mod RE-WRITING Setup-GUI.tp2 to make things a heck of a lot crazier, installation would be so much simpler.
For those who are confused, here is a purely hypothetical example:
I install TDD-WeiDU. The GUI setup portion of TDD-WeiDU detects that the little GUI proggy doesn't exist, so makes all the folders and tp2 files and such. Now, since this is the first mod that adds an optional GUI, the GUI files are placed in folder number 0 of the GUIlist directory. NO EFFORT is made to force the installation of the GUI.
I now go and install SoS-WeiDU. The GUI setup portion of SoS-WeiDU detects that the little GUI proggy has been installed by a previous mod. It then checks, starting from folder number 0, which folder is the lowest number folder with no GUI files in it. This would evaluate to folder number 1. SoS-WeiDU goes on to place GUI files in folder number 1.
Same for TS-WeiDU --> folder number 2.
Same for CtB --> folder number 3.
Now, I have had enough of installing mods. As a totally optional thing, I decide I want a nice-looking GUI instead of the stupid classic BG2 ones . I go and manually run Setup-GUI.exe. The GUI setup program, upon initialisation, checks each folder number from 0-20 to see which ones have GUI files in them and which ones don't. It detects that folders 0 to 3 have GUI files in them. Now, it identifies what mod the GUI files came from in folders 0 to 3. Then, it prompts the user to choose which mod GUI they want to install. I choose TDD-WeiDU GUI, and the GUI proggy installs that GUI. Hurray!
Now, I decide I hate CtB, so I uninstall CtB. Of course, since the GUI mod has priority, it uninstalls first, then CtB is uninstalled, then the GUI mod is reinstalled. If I happened to choose the CtB GUI before, the GUI mod will simply error out and nothing will happen. Also, the CtB GUI files are REMOVED from folder number 3. Now, when I run the GUI proggy, it detects that folder number 3 doesn't have anything in it anymore (this is because CtB copied the GUI files over there in the first place, so uninstallation of CtB deletes those files), so I don't get the option for the CtB GUI anymore. Again, if I want to install another GUI, I simply uninstall the current GUI and choose a new option. Simple as that.
Finally, the only proviso for such an idea is to recommend that the GUI is install as the VERY LAST MOD. Otherwise the user won't get the option of changing the GUI unless they install all mods after the GUI.
Good idea? Discuss.
P.S. KD doesn't even need to change his code all that much.
Edited by Ascension64, 30 November 2005 - 03:47 AM.