ianpatt / sfse

Starfield Script Extender
Other
338 stars 32 forks source link

Set environment variable SteamClientLaunch to 1 #9

Closed Haselnussbomber closed 1 year ago

Haselnussbomber commented 1 year ago

Description This is a very simple PR to set the environment variable SteamClientLaunch to 1 before launching the game, so that achievements can trigger.

What happened? While working on the "The Stars My Destination" achievement which requires visiting all 120 Star Systems, the achievement didn't trigger upon visiting the final system. I discovered that launching the game through Steam directly correctly triggered the achievement, but not via MO2 with SFSE, despite using the Baka Achievement Enabler plugin.

I compared the environment variables set when launching via Steam with those when launching via SFSE using Process Explorer. After multiple rebuilds of sfse_loader, removing the achievement using Steam Achievement Manager, and a process of elimination, I finally isolated the missing variable: SteamClientLaunch.

Hopefully this is all it takes to trigger achievements, but at least in my case it works. šŸ™‚

Reproduction Steps 1) Download and extract my savegame to %UserProfile%\Documents\My Games\Starfield\Saves. 2) Start the game and load the quicksave. 3) Grav jump to Van Maanen's Star (Screenshot of the location) 4) After the jump, it should automatically unlock "The Stars My Destination".

Haselnussbomber commented 1 year ago

I tried it again without the env var, and it worked. Maybe it was just coincidence. Closing the PR, as it is not needed.