Nexus-Mods / Vortex

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

Potential issues between Bethesda Games on Xbox Game Pass and Profiles #10354

Open Pickysaurus opened 2 years ago

Pickysaurus commented 2 years ago

Describe the bug I have been working on a load-order related extension in my free time and noticed a potential issue whereby Vortex may not manage the correct version of the plugins.txt and loadorder.txt files when the user has the Xbox version of the game.

So, to start, I'm looking at the context.registerProfileFile() call as shown here: https://github.com/Nexus-Mods/extension-plugin-management/blob/1c5dde7d269e787e662fffacd11bc64a8de6ab61/src/index.ts#L314

This works perfectly fine when called in this instance, however, there are a few cases where the AppData path will be different based on how the game is installed (Enderal/Xbox Game Pass).

I have attempted to mitigate this here: https://github.com/Pickysaurus/vortex-hybrid-loadorder/blob/main/src/index.ts#L163

However, you cannot call context.registerProfileFile() this late in the setup without Vortex sending a warning to the log file (and, presumably, failing).

With the current implementation of game support, I can only, truly know the AppData path once I have the discovery.path attribute.

Example of that here: https://github.com/Pickysaurus/vortex-hybrid-loadorder/blob/main/src/util/gameSupport/skyrimse.ts#L43

In short, this means that the profile feature will register the wrong files for the load order for Xbox game pass version of the game.

Pickysaurus commented 2 years ago

After discussing with Tannin, a potential fix would be to register all possible appdata folders instead of just the one

Pickysaurus commented 2 years ago

A similar issue occurs with INI folders: https://forums.nexusmods.com/index.php?/topic/10878073-microsoft-store-point-vortex-to-the-ini-file/