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

Reorganize the game package #649

Closed Infernio closed 1 year ago

Infernio commented 1 year ago

We should reorganize the game folder, adding another layer to the subpackages. If Beth start porting their games to all these platforms (GOG and EGS), we'll end up with an explosion of subpackages in the game package.

Something like this:

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

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

We should also rethink the way we display these to the user - really, these are just separate platform releases of the exact same game, so a better UX would be to just show the base game in the GUI and offer a dropdown with the different detected platforms, rather than a whole bunch of different games with (EGS), (GOG), (WS), etc. appended.

Utumno commented 1 year ago

Cleaning up game handling (in the background) and hit a wall - the code seems to suggest we use the Oblivion.esm submenu sometimes only for Oblivion but sometimes also for Nehrim - as sometimes we use displayName which singles out oblivion and some others fsName which is common for Oblivion and Nehrim. reOblivion, in bosh, suggests that it is also a Nehrim feature. So is this used for both? Is there an SI and non SI version of Nehrim?

Infernio commented 1 year ago

Only ever for Oblivion - Nehrim on Steam (which is the only one we support now) has a completely empty Oblivion.esm which is only meant for converting Oblivion mods to Nehrim (and working around engine bugs IIRC). If there's any code that thinks it belongs in Nehrim, then either I screwed up back when I added the new Nehrim support (😅) or it's a leftover from the previous Nehrim support.

Utumno commented 1 year ago

Thanks Inf this makes my life much easier :)

Utumno commented 1 year ago

I think I cracked this one c6ef4a4f6b0a30eb810f61ca91a9a6e2bbe42ad1 :)