Nexus-Mods / Vortex

Vortex Development
GNU General Public License v3.0
929 stars 135 forks source link

Bug Report - Other: Settings for custom mod dir must be manually re-applied for each new game that is activated #5346

Closed VortexFeedback closed 5 years ago

VortexFeedback commented 5 years ago

Vortex Version: 1.0.0 Memory: 31.43 GB System: win32 x64 (6.1.7601) Summary: Settings for custom mod dir must be manually re-applied for each new game that is activated

Expected Results: If using a variable such as {GAME} in the path, then Vortex should use the custom path automatically when the new game is activated

Actual Results: Vortex ignores the custom path and uses the default path when a new game is activated.

Steps to Create:

  1. Install several games; e.g. Oblivion (GOG), Morrowind (GOG)
  2. Setup Vortex to find and install game. Activate a game in Vortex (e.g. Oblvion)
  3. Under settings, change Vortex path to C:\Vortex{GAME}\mods and hit apply. Observe that mods are correctly moved.
  4. Switch games (e.g. to Morrowind) and go back to settings, note that the mod path is back to default. Browsing in file explorer confirms this is true.
  5. Go back to settings and change Vortex mod path while Game #2 (e.g. Morrowind) is still activated. Set new path as "C:\Vortex{GAME}\mods" and apply.
  6. Able to confirm files are moved via file explorer

==Now to rule out Game #2 being initialized prior to all games being installed==

  1. Have 1-2 games already installed. Make sure custom Vortex mod path is set for all installed games, e.g. "C:\Vortex{GAME}\mods"
  2. Scan a new path and find another game, e.g. Fallout 3 (Steam)
  3. Activate Game #3 (e.g. Fallout3)
  4. Observe under settings that the mod path has reverted to the default location

    Reported by: zpangwin

TanninOne commented 5 years ago

This is not a bug, the staging folder is a per-game setting. The {GAME} variable alone isn't enough, users might have games on different drives and have to set the drive for the staging folder accordingly to allow hard links. There is no way to make this a global setting without a) making it very error prone b) needing more complicated UI that still allows to overwrite the setting per-game

zpangwin commented 5 years ago

This is not a bug, the staging folder is a per-game setting. The {GAME} variable alone isn't enough, users might have games on different drives and have to set the drive for the staging folder accordingly to allow hard links. There is no way to make this a global setting without a) making it very error prone b) needing more complicated UI that still allows to overwrite the setting per-game

What you say makes sense.

Anyway, my main issue here was that I have Vortex installed on C:\, none of my games are ever installed on C:\, and every time I add a new game in Vortex it defaults the game's mod dir to C:\. I only have limited space on that drive bc its an SSD (and I have dual-boot setup and lot of apps installed).... so I prefer to not store mods or downloads on it. If that behavior doesn't sound correct; I can try backing up my vortex appdata folder and attempting a fresh install.

Do I have ANY other options available to tell Vortex "never ever set the default mod dir for any game to be on C:\" ? Or would it always need to be a manual process? I would even prefer to have Vortex pop-up a dialog and force me to update the mod dir every time I add a game then to have it assume C:\ is ok. Would something like that possibly be an option (e.g. a user setting that forces displaying a dialog from Games tab when Add Game is clicked, where user could then explicit confirm/change relevant paths) ?

TanninOne commented 5 years ago

There is an open issue on this in #3042

The idea is that instead of having one staging folder per game we let you set up one for each drive that contains games and then automatically use that folder for every game installed on that drive.

As long as you only have one drive containing games (e.g. D:) it would essentially be the same as your proposal but still support the case where games are on different drives and the UI wouldn't become super complicated.

But this kind of feature can't be done before 2.0 because it would require a migration of the user database and we vowed to limit those to major updates to limit the number of breaking points.