Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nothing seems to happen on import if mods already downloaded. #2

Open
Rattledagger opened this issue May 18, 2021 · 8 comments
Open
Milestone

Comments

@Rattledagger
Copy link

Mod Dependency Fulfiller v0.1.5, Vortex v1.4.12, not Nexus premium.
Trying with SSE and two mods, where one conflicts with the other.

After exporting to clipboard, tried the following:

Tried disabling both mods and importing, mods wasn't enabled.
Tried uninstalling both mods and importing, mods wasn't installed.
Tried the same with one mod uninstalled or disabled, still nothing happened on import.

Deleted one of the mods and imported, finally something happened with download showing-up in web-browser.

Expected behaviour: Disabled and uninstalled mods but with mod-archive present should on import automatically install and enable.

Note, importing the conflict rule after manually installing mods did correctly restore the rule.

The exported information was:

[
  {
    "archiveName": "Interesting NPCs 3DNPC SE - BSAs-29194-4-3-6-1582143847.7z",
    "downloadIds": {
      "fileId": 124774,
      "gameId": "skyrimspecialedition",
      "modId": 29194
    },
    "allowAutoInstall": true,
    "rules": []
  },
  {
    "archiveName": "Interesting NPCs SE - 4.3.6 to 4.4 Hotfix-29194-4-4-1591854782.7z",
    "downloadIds": {
      "fileId": 145002,
      "gameId": "skyrimspecialedition",
      "modId": 29194
    },
    "allowAutoInstall": true,
    "rules": [
      {
        "reference": {
          "id": "Interesting NPCs 3DNPC SE - BSAs-29194-4-3-6-1582143847",
          "versionMatch": "*"
        },
        "type": "after"
      }
    ]
  }
]
IDCs added a commit that referenced this issue May 18, 2021
Finished downloads should be automatically installed if detected when
importing as a non-premium user.

#2
@IDCs
Copy link
Owner

IDCs commented May 18, 2021

Hey @Rattledagger, thanks for your report - I've modified the fulfiller to automatically install any archives that have already finished downloading when importing as a non premium user. I'm a bit reluctant to auto enable the mods as part of the fulfiller, as there is already a core Vortex functionality which can be enabled in the settings page to automatically enable installed mods.

Any reason why not to use that instead ?

image

@Rattledagger
Copy link
Author

Any reason why not to use that instead ?

In games where you routinely has around 10 active mods this would work. In games like SSE where it's not uncommon to have profile A with 500 active mods, profile B with 100 active mods etc., not enabling the dependencies will be more problematic.

Note, this is assuming after fixing the bug toggling the mentioned setting still don't enable installed mods.

Example, let's say In profile A you've got 1 mod with 9 dependencies for a total of 10 mods. If you now want to add this mod to profile B, having Dependency Fulfiller enabling all 10 mods would definitely be an advantage. Since the mods are active on profile A they'll obviously already installed. Manually finding up to 10 mods among 400 disabled mods on profile B can be difficult, since while many mods are nicely named stumbling over unhelpful names like "patch" or "version 2" or something does happen.

So at least to me, having a setting like "enable all mods on import" or a dialogue with "importing will enable list-of-mods" where you can either choose "Enable all" or enable individual mods or skip enabling any mods.

BTW, while mod dependency normally means example mod X depends on mod Y, where's also a possibility mod X don't work with mod Z. Meaning, for Dependency Fulfiller to fully handle such a dependency it should enable X and Y and disable Z. The problem here is Z can include it's own dependencies where just disabling Z wouldn't be a good option.

IDCs added a commit that referenced this issue Jun 6, 2021
- Added the ability to automatically enable installed mods
- Added the ability to "subscribe" to a specific URL containing
  dependency data. This is useful if a server requires specific mods to
  be installed on client machines (the clients can then import the mods
  that the server specifies - must be JSON file)

#1
#2
@IDCs
Copy link
Owner

IDCs commented Jun 6, 2021

Hi there @Rattledagger, sorry for taking so long to get back to you - been quite busy for the past month.

So I enhanced the generated data to include a new property allowAutoEnable which will ensure that the user importing the dependencies will have his mods auto enabled once the installation is successful.

To ensure that Vortex adds that property when exporting dependencies, go to your settings page and enable the "Enable Mods when installed (in current profile)" toggle. That should ensure that any data you export will have allowAutoEnable=true.
image

On the importer's end that toggle does not have to be enabled; if the data is set to auto enable then it will auto enable regardless of what that toggle is set to.

So the data needs to look like this (ignore the rules):

[
  {
    "archiveName": "Outlandish Stalhrim SSE-19562-1-0.7z",
    "downloadIds": {
      "fileId": 64173,
      "gameId": "skyrimspecialedition",
      "modId": 19562
    },
    "allowAutoInstall": true,
    "allowAutoEnable": true,
    "rules": []
  },
  {
    "archiveName": "LeanWolfs Better-Shaped Weapons Installer v2.1.03 SE-2017-2-1-03-1585765834.7z",
    "downloadIds": {
      "fileId": 131901,
      "gameId": "skyrimspecialedition",
      "modId": 2017
    },
    "allowAutoInstall": true,
    "allowAutoEnable": true,
    "rules": [
      {
        "reference": {
          "id": "Outlandish Stalhrim SSE-19562-1-0",
          "versionMatch": "*",
          "idHint": "Outlandish Stalhrim SSE-19562-1-0"
        },
        "type": "after"
      }
    ]
  }
]

@IDCs
Copy link
Owner

IDCs commented Jun 6, 2021

Going to leave this open until you had a chance to play around with the new version and confirm you're happy with it.

@IDCs IDCs added this to the 1.0.6 milestone Jun 6, 2021
@Rattledagger
Copy link
Author

Tested v0.1.6.
Works:
1: Install already downloaded mods.
2: Open web browser to download mods not already downloaded.
3: Import rules.

Don't work:
4: Disabled mods for this profile stays disabled.
5: Tries installing downloads in progress and for obvious reasons fails with "Archive is broken".

For 5, queued downloads not started seems to be handled correctly.

For 4, at least to me disabled mods won't fulfill any dependencies, since to fulfill a dependency the mod(s) must be enabled. Having to uninstall all disabled mods to make sure all dependencies are fulfilled isn't a good solution.
One way to handle this is to use a dialogue, example "To fulfill dependencies, enable mod with the choices yes, no, yes to all, no to all".

@IDCs
Copy link
Owner

IDCs commented Jun 7, 2021

re 5: right - I think I know what's causing that, I'll look into it.

re 4: can I please have a look at the data you're importing ? the mods are supposed to get enabled as long as the allowAutoEnable: true property exists in the data for each mod.

@Rattledagger
Copy link
Author

Rattledagger commented Jun 7, 2021

Adding code-block, to see if keeps formatting...

[ { "archiveName": "Unofficial Skyrim Special Edition Patch-266-4-2-4b-1608419879.7z", "downloadIds": { "fileId": 175218, "gameId": "skyrimspecialedition", "modId": 266 }, "allowAutoInstall": true, "allowAutoEnable": true, "rules": [] }, { "archiveName": "Alternate Start - Live Another Life-272-4-1-4-1608766947.7z", "downloadIds": { "fileId": 175926, "gameId": "skyrimspecialedition", "modId": 272 }, "allowAutoInstall": true, "allowAutoEnable": true, "rules": [] } ]

@AKJama
Copy link

AKJama commented Nov 29, 2021

re 4: I fixed the 'stays disabled' problem by going to settings and deselecting 'Enable Mods when installed (in current profile)', then restarting vortex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants