Mod Manager utility
Callirgos
Member Posts: 105
Here is a big request. ( I can only imagine the programming estimate )
A mod loader that install and uninstalls mods for BG:EE.
The mod loader would be similar in functionality to Weidu and have an interface design resembling the fallout 3 mod manager. All compatible with the steam version of the game.
A mod loader that install and uninstalls mods for BG:EE.
The mod loader would be similar in functionality to Weidu and have an interface design resembling the fallout 3 mod manager. All compatible with the steam version of the game.
3
Comments
To start off:
- Replace all the parts that ask "Do you want to install [X] component?" with a list of check-boxes with component names prior to installing (would also speed it up for the end user and would enable automated installation).
- All current command line parameters would should be listed in an options menu (as well as retaining the ability to use or change those settings with command line overrides). Language settings and game installation directory, etc., would be located there.
- Scan game installation directory for a list of Setup-[modname] files.
- Scan the WeiDU.log file and list all components currently installed.
- Compare the list of mod/components to those already in the WeiDU log and mark appropriately (coloured lines, for example).
In other words, something that would probably look a bit like this:Note that the test I did does actually work so far as scanning and can launch WeiDU. However, I am not aware of any automated installation process for WeiDU that allows selecting options such as this, so the test doesn't actually work to install. There probably is some sort of automation, but none that I am aware of (edit: apparently there is).
I also don't have time do this in amongst my other projects, but it would certainly be a nice addition to the tools available. The 'Mod Manager' itself could also be separate from WeiDU, meaning that if someone other than Wisp wanted to they could make one themselves.
On a fresh installation, you should be able to pick the installation order. After you install the first mod, the only installation order you would have control over are consecutive mods. Otherwise, you're looking at something that removes every last trace of the mods you have installed (I don't think WeiDU removes text strings) and then re-installs with a set installation order.
My ten minute test with the above program worked as described by the former. If you start with a clean installation of BG:EE, run the program and then select the mods, moving them around as per the suggested mod order on the forum, then press the (non-existent) install button, it will install all selected mods per the mod order the user has selected (i.e. exactly in the order they appear in the list).
Like I said, though, unfortunately I don't have the time to work on this. It needs more work done than just ten minutes. If I did have the time, I would probably try to find a way to make WeiDU rebuild the install order of the mods when installing a new one, and/or add a built-in library of install orders for each type of mod to make it user friendly. Endless possibilities, really. No idea which way I would take it, but talking more about it is a bit pointless from my perspective. :-)
Since there is very little in the way of source so far, I don't think it is anything that someone else couldn't do in 10 or 20 minutes. Aside from the usual pre-generated stuff, I would estimate that there is approximately 50–70 lines of code (I don't have it in front of me, currently, so I cannot check).
It is a basic directory and file scanner. Upon finding the mods and WeiDU log (which it scans line by line, splitting the strings up as required and inserts them into an array), it compares the list (going through each item in the array trying to find the appropriate mod). After it has finished with the array from the WeiDu log, it continues scanning for other mods. When it finds a mod, it is added to the list by category. All the text in the list is taken directly from the mod or WeiDU log; the mod name, author, and version are taken from the TP2 file or WeiDU log by scanning it line by line. The category is just the folder name in which the mod resides, or from the log.
The last thing I did, but was not in the screenshot, was add a coloured line depending on the status of the mod installer—for example, green if the mod files exist and red if the don't (e.g. a person installs a mod and the deletes the mod installer, or perhaps moves it, to avoid clutter in the game directory). If the line is red, you have no ability to change anything. Its install status is represented by the checkbox. Since my quick initial test was via VB.Net, it is not the start I want to give to a project like this. Ideally, it would be in C++, Qt, or Java from the beginning for cross platform support.
Tutorial for BG1+BG2 but it can be used for BG(2):EE also.