Skip to content

Mod Manager utility

CallirgosCallirgos Member Posts: 105
edited February 2014 in Feature Requests
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.

jackjackGrammarsaladItomon

Comments

  • Troodon80Troodon80 Member, Developer Posts: 4,110
    edited February 2014
    It wouldn't actually be that difficult. WeiDU just never had a GUI because it was never necessary.

    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.
    CrevsDaakelminsterjackjackItomon
  • jackjackjackjack Member Posts: 3,251
    This would be pretty awesome.
    meagloth
  • comebackhomecomebackhome Member Posts: 254
    This is a really cool idea.
    jackjack
  • LoremasterLoremaster Member Posts: 212
    @Troodon80 Would this count for the installation order?
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @Loremaster,

    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. :-)
  • LoremasterLoremaster Member Posts: 212
    Ok, hope you find some time in the future to develop it.
    comebackhome
  • ItomonItomon Member Posts: 187
    that is very nice indeed. Thumbs up!
  • comebackhomecomebackhome Member Posts: 254
    Troodon80 said:

    @Loremaster,

    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. :-)

    Would it be possible to make it open source if you don't have the time for it?
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @comebackhome‌,

    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.
  • comebackhomecomebackhome Member Posts: 254
    Darn, seems like you really are quite knowledgeable in this general area. Surpassing anything I know. Hopefully you find some time in the near future :)
  • ALIENALIEN Member Posts: 1,270
    edited July 2014
    Ever heard about BiG World Setup by dabus ?

    Tutorial for BG1+BG2 but it can be used for BG(2):EE also.

    image
Sign In or Register to comment.