Launchpad icon indicating copy to clipboard operation
Launchpad copied to clipboard

Implement better launching of Bethesda.net games

Open bmcclure opened this issue 3 years ago • 0 comments

(Description mostly copied from the task for Origin)

Launchpad launches Bethesda.net games with a fairly generic and forceful method--it closes Bethesda.net if it's running, then launches the game (which opens Bethesda.net itself), then after closing the game it closes Bethesda.net again. There is planned functionality to optionally launch Bethesda.net again (through a scheduled process so it doesn't hook into the Steam overlay) at the end so you can keep it running.

It does this because otherwise process hooks such as the Steam Overlay typically won't work. Steam has to be the thing that launches the game process, but if Bethesda.net is already running, then Bethesda.net , which is a sibling of Steam and not a child, is what launches the process. Closing Bethesda.net first means Steam can own the Origin process, which makes the overlay work.

However, having to forcefully close Bethesda.net is not ideal. It can mean cloud saves aren't fully uploaded, and it means you won't get game updates until you run Bethesda.net next, which might be when you're trying to play the game that needs updates.

Blizzard game launching works much better by contrast. It happens like this:

  1. Launch Battle.net's exe with an argument which goes to the game's correct page and click the Play button automatically
  2. Wait for game process to exist, and then immediately close and re-launch it with the exact same process info

This causes Battle.net to still know you're playing the game, but Launchpad now owns the game process so Steam's overlay can hook in regardless of whether Battle.net was already running or not.

A similar solution should be found for launching Bethesda.net games if possible.

bmcclure avatar Jan 17 '21 20:01 bmcclure