Skip to content

Check FOMOD limitations #690

Open
Open
@Greg-Nexus

Description

@Greg-Nexus

Spike

Proposal

Vortex had a number of issues with FOMOD installation, I'd like a developer to run through these and see if they'll also be issues in the Nexus Mods App.

Impact

We can assess the below and create new issues for anything that can be improved.

Supporting Information

Originally reported for Vortex: Nexus-Mods/Vortex#430

New feature, to fix limitations with fomod-installation:

Keep the install directory and create hardlinks to /mods/-directory.

While this is mainly changes to how fomod-installation is handled, keeping the install-directory also works nicely in regard to todays forum-post about "Opinions please - Mod/Download directories".

The current handling of fomod-installation has 3 problems, numbered 1-3 below:

1: One of Vortex biggest advantages is the installation queue, where you with a few clicks can start installing 100+ mods at once. While this works, one big problem is all the Skyrim-mods that includes a fomod-installer. Currently then Vortex installs a mod Vortex does:

Extract all mods files into mods-directory.install
In case of fomod waits indefinitely for user input - even in case the only choice is "ok".
2: Another problem with fomod is, fomod is not profile-specific, meaning if wants to use a second game-profile with different fomod-installer-choices the only method I'm aware in Vortex is to either uninstall & re-install, something that breaks the other profile, or to manually dig into the /downloads/-directory, duplicate the mod-archive (giving a different name) and now in Vortex install this new mod.

3: A third problem with fomod is, even with a single profile, if you want to do any changes, the only method I'm aware of is to uninstall and re-install the mod.

While 1 can't be fully fixed, it can be improved. 2 and 3 on the other hand can be fixed by keeping the install-directory, and install-directory also have some other advantages.

From the forum post, I would say it's a variant of B-2 for /mods/-directory and goes something like:
Let's say c:\vortex\downloads - has all mod-archive downloads
Let's say c:\vortex\mods\ - has all installed mods for games residing on c (or is soft-linkable)
c:\vortex\mods.install\ - This is my suggestion, to keep all extracted mod-archives.

Now let's say you download mod ABC including fomod-installer usable for SSE and SSE_VR. Download goes into c:\vortex\downloads\combined_SSE_VR.
On installation, the archive is extracted to c:\vortex\mods.install\combined_SSE_VR\ABC-dir

Let's say you're using SSE to install and since includes fomod-installer you makes some choices. After all choices is done, Vortex creates hardlinks for the relevant files pointing from
c:\vortex\mods\SSE\ABC-profile_name-dir
to
c:\vortex\mods.install\combined_SSE_VR\ABC-dir

Or, alternatively, in case first installation of this mod instead of using ABC-profile-name-dir use ABC-dir.

By now adding an extra dropdown on mods-tab for any mods with fomod-installer, similar to how different versions of same mod shows-up with a dropdown, this dropdown can include options like:

Make current fomod profile-specific. This means will re-name from c:\vortex\mods\SSE\ABC-dir to c:\vortex\mods\SSE\ABC-profile_name-dir
Duplicate current fomod profile and new profile is profile-specific. This means will add a new directory c:\vortex\mods\SSE\ABC-profile_name-dir and create hardlinks pointing to all files in c:\vortex\mods\SSE\ABC-dir (since hardlinks it doesn't matter you're pointing to this dir).
Create new fomod profile. This creates a profile-specific profile and re-runs fomod.
Re-run fomod for selected variant. This re-runs the profile-specific and changes the files as neccessary.
Delete one of the fomod-profiles (in case multiple).
This change will fix problem 2 and 3, since each profile can now have a profile-specific fomod-installation and since all is using hardlinks where's no duplication of the files meaning minimal extra disk-usage. Also, this change makes it finally possible to change one of the fomod-options significantly faster than is the case now where have to uninstall and re-install the mod.

For problem 1, it can't be fully fixed, but an extension here would be the following:

If no active fomod-dialogue, open fomod-dialogue while Vortex continues installing other mods in installation-queue in the background.
If has another active fomod-dialogue, add the mods fomod-dialogue to a fomod-dialogue-queue and continue with next mod in installation-queue.
While fixing 1 is the hardest, and can't be fully fixed, keeping the install-directory has some advantages outside the improvements to fomod-handling. Some of them is:

Can immediately be extended in case installs same mod in SSE_VR in case SSE_VR uses different /mods/-directory.
You have a full copy of the extracted mod-archive, making it possible to safely delete the mod-archive without risking losing part of the mod.
Even if you runs a tool that changes a file in data-directory and you say "yes" in Vortex to replace original file, this will only replace the file in /mods/-directory and not in /mods.install/-directory.
Meaning, the files in /mods.install/ should be read-only, unless you uninstall the mod.
Downside by keeping all files in /mods.install/-directory:

In case you've got a mod with lots of files and fomod is very detailed you'll maybe only use a few of the files while the rest takes-up (unneccessary) extra disk space.
Some can be confused by the extra directory and will try to delete it.
Reported by: Rattledagger

Metadata

Metadata

Assignees

No one assigned

    Labels

    SpikeAn investigation task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions