Skip to content

Project Infinity - mod manager for Baldur's Gate, Icewind Dale, Planescape Torment, and EET

ALIENALIEN Member Posts: 1,271
edited July 2023 in General Modding

Project Infinity


Discord:
https://discord.gg/aQvnbaY

Overview:
Project Infinity is a mod manager for Baldur's Gate Enhanced Edition, Icewind Dale Enhanced Edition, Planescape Torment Enhanced Edition and Enhanced Edition Trilogy (EET). Project Infinity aims to provide almost the same functionality BWS did, but without the need for constant 24/7 maintenance of the tool itself, for the cost of a few additional required actions to be performed by its users.

Project Infinity offers a graphical interface that allows you to create and manage modded installations in a way that is much easier and more convenient than the command-line programs used to install mods one by one. It allows you to select multiple mods and components you want to install at once and offers several ways to choose the installation order.

Supported Games:
  • every Infinity Engine game and version
Origin of the project:
The idea of Project Infinity comes from my old 'mod template generator', but the project uses ideas from of other projects, like WeiDU, BWP, and BWS.

Acknowledgments:
I want to thank the following people:
wisp for providing additional WeiDU features
Argent77, AstroBryGuy, CamDawg, DavidW, GeN1e, GrimLefourbe, lynx, Sam, Subtledoctor, Magus, and others for their feedback.
Every modder who removed ACTION_READLN or use extra features that are provided
The Gibberlings 3, Spellhold Studios, Pocket Plane Group sites and all the other modders for using GitHub
W.K. for his code feedback

How to use:
  1. Read A New Player’s Guide to Installing and Playing Mods - an absolutely crucial and required step
  2. Extract all the mods you want (also extract Gibberlings3 exes) into a folder of your choice, for example, "D:\Mods-Extracted". Alternatively, you can click on the green "Mods" button.
  3. Run Project Infinity. It will download WeiDU and other tools into the "{ProjectInifinity}\Tools" directory.
  4. During the first run, you’re presented with the "Settings" dialog box. Select the path to the IE games you have installed and press OK.
  5. At the top left corner of the application, from the drop-down list select the game you want to mod.
  6. In the main window locate the text box labeled "Extracted mods". Use the browsing button to its right to select the folder where you extracted all your mods. After a few seconds, the mods panel will be refreshed and "Default/Unassigned" can now be expanded.
  7. In the mods panel expand the "Default/Unassigned" section in order to see all detected mods.
  8. In the mods panel expand the mod in order to load its components.
  9. Select all the components you want to install.
    alternative approach: import WeiDU.log from a previous installation via the "Import Weidu.log" button
    alternative approach: import previously generated install sequence via the 'Import-InstallSequence' button
  10. Check install order rules and move mods accordingly.
    alternative approach: set the install order via one of the features, please see F.A.Q.
  11. Click the "Set-InstallSequence" button and all selected mod components should be added to the "Installation Sequence" window.
  12. Click the "Start-Installation" button to start the installation.
Video Tutorial (advanced usage): 
https://www.youtube.com/watch?v=wt1mWX2zo_4

Features:
Features for modders:
Planned Features:
  • Searching
  • Tags
  • Categories
  • Caching
  • Multi-threading for copying, downloading and mods updating
Known Issues:
  • Adding a new mod or clicking the 'refresh' button clears out the currently selected components unless the mod has support for the Globally unique LABEL's feature.
  • Importing the install sequence doesn't select mods at the mod list, importing non-modified weidu.log do
  • Importing the install sequence doesn't sort mods at the mod list
  • Updating mods will hang the UI until the operation is complete.
  • Copying mods will hang the UI until the operation is complete.
Long-term goals:
  • Automation of the mod installation for multiple games at once aka testing framework.
  • Resolve conflicts and dependencies between the internal components of a single mod.
  • Resolve conflicts and dependencies between multiple mods.
  • Cross-platform.
Not planned features:
  • Built-in custom backup system - nothing can beat Beamdog, Steam, or GoG backups reliability.
  • Built-in mod list, compilations, install order, conflict and dependencies - requires 24/7 maintenance.
Supported system requirements:
  • 64-bit fully updated Windows 11 - no extra requirements
  • 64-bit fully updated Windows 10 - no extra requirements
  • 64-bit fully updated Windows 7 or 8.1 - you need to install first .NET Framework 4.5.2 or above and PowerShell 5.1.
DOWNLOAD 
CHANGELOG | ROADMAP
(For Windows 7/8.1, you need to install first .NET Framework 4.5.2 or above and PowerShell 5.1.)

Post edited by ALIEN on
«13456740

Comments

  • ALIENALIEN Member Posts: 1,271
    edited July 2023
    Please start a new thread if you want to discuss:
    - mod recommendations for your playthrough
    - proper install order for specific mods
    - conflicts between various mods

    Q: Application appearance appears to be bugged with non-default window scaling.
    A: Use Windows Enhanced scaling mode on the "Application compatibility" file option panel.

    Q: I would like to add additional features supported by Project Infinity to my mods, where I should start?
    A: 
    Q: Does this app modify mods in any way?
    A: No.

    Q: Does this app has any kind of built-in forced installation of 'DLC Merger' or any other mod?
    A: No.

    Q: 32-bit version?
    A: No. The latest versions of IE games require 64-bit OS. Also, when you use a 32-bit version of the WeiDU, mods like SCS can break when you install a lot of mods. Additionally, supporting two versions of the same application causes a major nuisance when it comes to distribution and updating, sorry.

    Q: Does PI offer a possibility to extract mod archives?
    A: Yes but only for mods that are distributed via standardized IEMOD packages. PI has the ability to extract it via double-click. Also, mods that are downloaded directly via PI are already extracted. There is no support for custom .zip/.rar/.7zip or exe. The reason for this limitation is that people did crazy things with mod archives. The moment when the 'extraction' feature won't successfully extract every mod on this planet people will complain. And I would have to write special code to handle that one specific mod, and another, and another which essentially means 24/7 support. 

    Q: How to save selected mod components?
    A: In order to keep your selection of mod components:
    - choose your mods, click Set-InstallSequence button, use (I)mport and (E)xport buttons, next to Set-InstallSequence button
    or
    - choose your mods, click Set-InstallSequence button, select the sequence window, and use Ctrl-A/C/V to copy/paste the content from the clipboard

    Q: How to set the basic install order?
    A: Assign mods into Install Order Groups and reorder mods using drag&drop, 'arrow' buttons or Ctrl+UpArrow/DownArrow and Ctrl+Alt+UpArrow/DownArrow hotkeys.

    Q: How to split components of the one mod into different places of the install order?
    A: To define an advanced install order, you have various methods:

    Method 1: Copy data from the install sequence window after you clicked "Set-InstallationSequence" into a text editor, reorder them and then paste it back. Then immediately click "Start-Installation" without making any changes to the mod components choices.

    Method 2: Create a so-called "Sorting Order file" and use it for the "Sorting Order" feature:
    manually create a personal "Sorting Order" file
    - convert BWS data into the "Sorting Order" file
    - convert weidu.log file into "Sorting Order" file

    The advantage of the "Sorting order" feature is high immunity to mod changes.


    Q: How to install EET in one go?

    A: First, an important rule to remember: all mods before EET mod will be installed into the game from the additional selection called: "Path to clean, unmodded 'Siege of Dragonspear' game for Enhanced Edition Trilogy".
    • prepare clean, unmodded (not even DLCMerger) SoD and BG2:EE games
    • make a copy of those games into separate folders
    • open PI, fill "BG2:EE for EET" game path, and "Path to clean, unmodded 'Siege of Dragonspear' game for Enhanced Edition Trilogy"
    • select EET from the game list and don't change it
    • download and extract all mods (including EET) that you want to install into the 'Extracted mods' directory
    • set the path to this folder at the main PI window, and wait until PI finishes scanning the mods
    • the mod list should now contain mods, locate EET mod (Initialise EET), select it, 
    • select all other mods that you wish to install
    • if your mod list contains mods that require to be installed inside BG:SoD ( eg: DLCMerger or Aerie for BG:EE) prior to installing EET on BG2:EE, move all those mods before "EET" at the mod list
    • move all mods which have native EET compatibility after EET
    • set correct install order for mods added after and before EET, refer to mods readme or community install order lists
    • select EET_End and move it to the end of the installation
    • click "Set-InstallSequence" button
    • resolve install order conflicts if they appear
    • click "Start-Installation" button
    • when the program asks for BG:SoD path, provide it

    Q: What if I want to install a mod into BG2EE but before EET?
    A: The only mods that could be installed into BG2EE before EET main component are language pack mods. If this is the case, simply install it separately by selecting one, single mod. After installation finishes, reset the install sequence and continue to perform full EET installation, this time with all mods.

    Q: Can I import weidu.log?
    A: Yes, but you need to have all included mods with the same mod version already extracted.

    Q: What about dependencies and conflicts?
    A: TL;DR Planned, partially possible

    There are two types of dependencies and conflicts:
    • internal type: conflicts and dependence between internal components of a single mod
    Example:
    Argent77's "Disable Enhanced Edition NPCs" mod
    Component "Make NPC-specific items available for everyone" can only be installed if you installed "Disable all NPCs" or disabled each NPC individually.

    For handling the internal type, PI will provide means/capabilities for modders to define them. The main benefit is that it won't be possible to choose combinations of the components that cannot be installed together/have internal requirements.
    • external type: conflicts and dependence between multiple mods from various authors
    Example:
    Argent77's "Disable Enhanced Edition NPCs" can't be used together with Pecca's EE content tweaks. Players have to choose one of them.

    For handling external ones, I'm waiting for the new WeiDU feature which is currently discussed.

     
    Q: Does this app just like old BWS?
    A: No, everything is different in order to not require a 24/7 maintainer for application. If something is missing it's because it's either not implemented yet or it's not planned because it would require never-ending Sisyphus work

    Q: Is there a detailed comparison between Project Infinity and BWS features?
    A: If you really want, you can read this wall of text.
    Post edited by ALIEN on
  • megamike15megamike15 Member Posts: 2,666
    man this will be useful and will make it so it does not take me an hour to manually install mods.
  • jasteyjastey Member Posts: 2,780
    One question: the readme call at the end of the mod installation (as it was practice back then), does that interfere with the tool in any negative way or is it of no importance?
  • [Deleted User][Deleted User] Posts: 0
    edited February 2019
    The user and all related content has been deleted.
  • jasteyjastey Member Posts: 2,780
    edited February 2019
    Well, it's a mod where the author explicitely stated in the tp2 that this is the personally preferred way so I would only change it for and update if there is a technical reason against keeping it. (What do I care about your computer? :D)
  • ALIENALIEN Member Posts: 1,271
    edited February 2019
    jastey said:
    One question: the readme call at the end of the mod installation (as it was practice back then), does that interfere with the tool in any negative way or is it of no importance?
    How the readme is called? Via "at_view" or something different? If former then weidu can skip such commands via using --skip-at-view commandline switch, if later it will probably pause installation unless removed. Indeed a terrible thing to do for a mod, but ye, people did it back then.
    Post edited by ALIEN on
  • The user and all related content has been deleted.
  • OlvynChuruOlvynChuru Member Posts: 3,079
    Wow, this looks cool! So I made one of those metadata files for my mod Improved Heart of Fury Mode. Did I do everything right, or is there something in the syntax I got wrong? Was I supposed to put arrow brackets around the filename? If I wanted to add a version number to it, would I put a new entry in the file, or does it find the version automatically?


  • Mantis37Mantis37 Member Posts: 1,177
    Does this mod check if the mod installation directory has the game installed? I'd like to use it to install some mods on Android - after copying the installation to PC. That means that some files (which BWS checks for) from the PC version are not present.
  • jasteyjastey Member Posts: 2,780
    edited February 2019
    ALIEN said:
    jastey said:
    One question: the readme call at the end of the mod installation (as it was practice back then), does that interfere with the tool in any negative way or is it of no importance?
    How the readme is called? Via "at_view" or something different? If former then weidu can skip such commands via using --skip-at-view commandline switch, if later it will probably pause installation unless removed. Indeed a terrible thing to do for a mod, but ye, people did it back then.
    It uses AT_INTERACTIVE_EXIT.

    @subtledoctor lol ;)
    EDIT: For some reason the whole post decided to be a "quote" (and I don't know how to change it.)

    Post edited by jastey on
  • ArthasArthas Member Posts: 1,091
    Can I say that you are a boss, for making such a tool?


  • ALIENALIEN Member Posts: 1,271
    edited February 2019
    @OlvynChuru Everything went smoothly except "arrow brackets" :wink:
    Please remove them from filename, I will also remove them from docs since they can confuse people.
    You don't have to keep Homepage key with duplicate link, you can safely remove it.

    Also, because of the fact that you use github.com which suports Delta Updated, please read about how you mod will be updated: https://www.gibberlings3.net/forums/topic/29975-updates-and-delta-updates-for-github-mods-brainstorming/


    @Arthas
    Can I say that you are a boss, for making such a tool?
    No need for such praise, instead, you can reach to you favorite mods authors and ask them to remove ACTION_READLN and add metadata :)
  • mlnevesemlnevese Member, Moderator Posts: 10,214
    jastey said:
    ALIEN said:
    jastey said:
    One question: the readme call at the end of the mod installation (as it was practice back then), does that interfere with the tool in any negative way or is it of no importance?
    How the readme is called? Via "at_view" or something different? If former then weidu can skip such commands via using --skip-at-view commandline switch, if later it will probably pause installation unless removed. Indeed a terrible thing to do for a mod, but ye, people did it back then.
    It uses AT_INTERACTIVE_EXIT.

    @subtledoctor lol ;)
    EDIT: For some reason the whole post decided to be a "quote" (and I don't know how to change it.)

    Currently the quote system is a little buggy. It should improve when the final version of the new text editor is released by Vanilla.
  • jasteyjastey Member Posts: 2,780
    @mlnevese You mean it's the forums and not my recently updated browser? That's a relief (for me).
    (Sorry for the OT)
  • ArthasArthas Member Posts: 1,091
    How to setup install order?
    You can already use BWS/BWP install order data but you need first convert it. Instruction how to do it will be provided later. Right now you have 2 ways to define desired install order

    I'm waiting for this one, before starting a new game (Looking specifically for BWP install order).
  • ALIENALIEN Member Posts: 1,271
    @Arthas You are aware that BWP it's only for classic games and older version of mods?
  • ArthasArthas Member Posts: 1,091
    edited February 2019
    to be honest, I'm very much aware.

    I don't find it "old", but like good wine it became tasty with time. Leonardo put a lot of effort and time into finding the right install order and I would surely appreciate it (for example, Vlad compilation still puts a lot of difficulties that, are faced, I think, only with BWP)

    I'm also waiting for BWP 19, so if you're busy, no worries...

    And by the way, I don't like BWS for a very simple reason. I find it odd to extract the install order from BWS, when you can use BWS itself. While in Bwp, especially the manual, you can read the thoughts of Leonardo under every mod on the install order to simplify your work if you're not installing BWP.

    In fact, I recommend using BWP install order as a basis for everyone, including those that use EE

    Thanks for your attention.

    Edit: I use BGT (and a new update came yesterday *.*)
  • The user and all related content has been deleted.
  • ALIENALIEN Member Posts: 1,271
    That's why you can use both :smile: Ideally, I would like to see someone who converted one of them, paste it inside publicly available google spreadsheet and initiate discussion regarding install order.
  • ALIENALIEN Member Posts: 1,271
    edited February 2019
    @Arthas
    Arthas wrote: »
    I find it odd to extract the install order from BWS, when you can use BWS itself.
    Because BWS install order is outdated and by converting it, you make it not-so-outdated, usable and highly immune to mod changes. :smile:

    I've added instructions how to convert BWS data or weidu.log file, which you might find interesting. How about you will read it, try to convert BWP and give me feedback?
  • ArthasArthas Member Posts: 1,091
    edited February 2019
    Is there a remind me function? I'm out of my country now, as soon as I get back I could help you but I'm afraid I could forget it :pensive:
    By the way, I would have preferred helping you on a BWP list ;)
  • ALIENALIEN Member Posts: 1,271
    edited February 2019
    @Arthas But it's exactly what I've suggested: converting BWP weidu.log file into sorting order file.
    Post edited by ALIEN on
  • gohanf22gohanf22 Member Posts: 99
    I don't know if this was asked but does this mod manager have an auto sort button so if you are unsure what order they are supposed to be in, it will put them in the right load order?
  • ALIENALIEN Member Posts: 1,271
    @gohanf22 Yes, it has but you need "sorting order file". Did you try to follow instructions? What was the outcome?
  • gohanf22gohanf22 Member Posts: 99
    @ALIEN I tried and I couldn't figure it out well. I'm not good with excel so mine didn't turn out right. If there is a way someone can send me the file for it to work, it would be better cause I'm not very good at doing that sort of stuff.
  • ParamarxParamarx Member Posts: 2
    I'll +1 on providing default BWS sorting files for the four EE titles, especially if those lists will no longer be updated. I think it might also be smart to maybe make a few video tutorials, since the mod manager is somewhat unintuitive right now. Despite installing Git and having the proper .NET and assuming I have the correct PowerShell, the download function doesn't seem to work (yet?), and installing three mods on BG1EE as a prelim for doing an EET installation had the manager become completely unresponsive without giving the standard Windows 'program is not responding' dialogue.
  • gohanf22gohanf22 Member Posts: 99
    edited February 2019
    Paramarx wrote: »
    I'll +1 on providing default BWS sorting files for the four EE titles, especially if those lists will no longer be updated. I think it might also be smart to maybe make a few video tutorials, since the mod manager is somewhat unintuitive right now. Despite installing Git and having the proper .NET and assuming I have the correct PowerShell, the download function doesn't seem to work (yet?), and installing three mods on BG1EE as a prelim for doing an EET installation had the manager become completely unresponsive without giving the standard Windows 'program is not responding' dialogue.

    I had the same problem or it would just stall in installation cause without a good load order, it will crash or not respond.

    EDIT: I would advise to look at what they did with the vortex or NMM over on nexus for ideas. They have tools that help with load orders and sorting files in a mod manager that makes it easier for the mods to load in the right order like LOOT for instance or even something to clean up the registry so they load right.
  • ParamarxParamarx Member Posts: 2
    Vortex/NMM is by no means a good manager, and things like LOOT only work because of a dedicated, long-time community. Something to keep in mind.
  • ALIENALIEN Member Posts: 1,271
    Regarding providing default BWS sorting files: If someone doesn't know install order, you simply have to ask. All we need is a forum thread where someone will ask "what is the install order for this 25 mods" and it will be a good starting point. I'm afraid that I can't provide default install order because I won't be able to work on two things at the same time.

    @Paramarx That's the kind of feedback which I definitely need. May I ask you to try again with small mods and wait a bit longer to see if the mods were copied into the game dir? If you still have "Logs" folder, send them to me via PM/email or pastebin.com.

    @gohanf22 While it's easy to create LOOT-like solution, the problem with is that they require require 24/7 maintenance.
  • gohanf22gohanf22 Member Posts: 99
    @ALIEN whats the one that auto sorts for NMM when they had it? I think it started with a B. Well now that they use vortex, it auto sorts everything or has an auto sort button with built in load order files.
Sign In or Register to comment.