wrye-bash / wrye-bash

A swiss army knife for modding Bethesda games.
https://wrye-bash.github.io
GNU General Public License v3.0
455 stars 79 forks source link

Add support for the EGS versions of Bethesda games #648

Closed sibir-ine closed 1 year ago

sibir-ine commented 1 year ago

Looks like the GOG release of SSE was quickly followed by a release on the Epic Games Store as well.

More info for SSE can be found at loot/loot#1809.

Infernio commented 1 year ago

I'll get to this tomorrow.

That said, at this point I think we should reorganize the game folder, adding another layer to the subpackages. If Beth start porting the other games to all these platforms, we'll end up with an explosion of subpackages in the game package otherwise. Something like this:

game
|- base
  |- ...
  |- skyrimse
  |- ...
|- egs
  |- ...
  |- egs_skyrimse
  |- ...
|- gog
  |- ...
  |- gog_skyrimse
  |- ...
|- steam
  |- ...
  |- steam_skyrimse
  |- ...

Where each of the platform-specific games imports and inherits from the template in game.base (may want a better name for this).

Infernio commented 1 year ago

Oh fantastic, we'll need to add another new method for finding game locations according to the linked issue 🙄

I haven't even gotten around to #639 yet...

Utumno commented 1 year ago

Oh fantastic, we'll need to add another new method for finding game locations according to the linked issue 🙄

I haven't even gotten around to #639 yet...

Whoops - that said don't do the reorganization just now let's do it the old way, as I am dropping the patcher import - simplifying game handling is ongoing :)

Infernio commented 1 year ago

Yeah, I'll open an issue to track that.

Edit: -> #649

Utumno commented 1 year ago

Thanks :)

Pushed the rip off of the PatchGame._dynamic_import_modules. - will squash a bit on the next iteration

Infernio commented 1 year ago

@BeermotorWB I need the AppName of Skyrim SE on the Epic Games Store. It's in the manifest file, which is located somewhere in C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests (well, I actually check the registry to get this path, but that's the default). If you could post that ID (or just upload the entire manifest file), that would be very helpful.

Edit: AppName, not CatalogItemId

sibir-ine commented 1 year ago

The AppName appears to be ac82db5035584c7f8a2c548d98c86b2c (Silarn accidentally labeled it AppId, an element that doesn't appear to exist in the manifest from cursory testing with other games). There also appears to be a separate AppName for the AE update, 5d600e4f59974aeba0259c7734134e27, according to ModOrganizer2/modorganizer-game_skyrimSE@f1e3166e192a1c8ac206635a8f3596cab7756118.

Infernio commented 1 year ago

Alright, added support in 311.202210071354. In the eternal words of Linus: Go Forth And Test. Because I'm sure as hell not going to :P

BeermotorWB commented 1 year ago

Related and for historical purposes: https://github.com/loot/loot/issues/1809

sibir-ine commented 1 year ago

Looks like FO3 will be on EGS as well in a week. However, it'll be free to claim for a week, so that'll make testing easier at least.

Infernio commented 1 year ago

@wrye-bash/bashers I'm going to consolidate the EGS/GOG rereleases into the two issues we already have for them - we only need them to show up in the version history once anyway to inform users and this way we avoid a ton of extra open issues.

Infernio commented 1 year ago

Ref https://github.com/loot/loot/issues/1812 for FO3.

sibir-ine commented 11 months ago

Ref loot/loot#1867 for FNV Ultimate Edition. I'm working on adding support, & I think I've gotten it right. I'll push to nightly in a moment.