Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam Detection and Steam Integration Fixes #114

Draft
wants to merge 3 commits into
base: mod
Choose a base branch
from
Draft

Conversation

drojf
Copy link
Contributor

@drojf drojf commented Dec 12, 2023

I wanted some way to detect whether the game was a Steam install or not, so I Iooked into how the steam stuff works

This PR does the following:

  • Improve error messages when you run the game without steam on a Steam install of the game (previously, and exception was printed)
  • Restart the game with steam integration, if you don't launch the game through steam (similar to unmodded game)
  • Remove a duplicate SteamManager.cs which is not compiled into the DLL

Links:

 - Other file exists at Assets.Scripts.Core.SteamWorks/SteamManager.cs
 - Print nicer message instead of exception if:
    - Steam DLL missing
    - Steam DLL available, but Steam not running
@drojf drojf linked an issue Dec 12, 2023 that may be closed by this pull request
@drojf
Copy link
Contributor Author

drojf commented Dec 16, 2023

I noticed an issue with this, under the following conditions:

  • You have a normal install of the game installed via steam at some location
  • You have an extra install of the game somewhere else (perhaps by copying the game folder)

If you double click to launch the 'extra' install of the game when steam is not running, it will instead launch the 'normal' install of the game (the one which Steam knows about). This would be a problem if you have say, Ch.4 installed with the normal mod, and a copy of Ch.4 installed with the Console arcs - launching the Console arcs would cause the normal mod to launch.

I tested what happens if you just have steam running and launch the game from outside steam, and that still does not appear to activate steam integration.

I can't think of an easy direct solution for now, but I guess the cases are:

  • game is installed at normal location. In which case, restart and launch Steam is OK
  • game is not installed at normal location, in which case the game should launch directly without steam

I can't really think of an easy way to detect these cases though.

An easy indirect solution would be to just explain to users that Steam integration doesn't work if you don't install the game to the default location.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Force-run with Steam, but only in Steam versions
1 participant