Pathoschild / SMAPI

The modding API for Stardew Valley.
https://smapi.io/
GNU Lesser General Public License v3.0
1.72k stars 259 forks source link

[Feature Request] Support Steam overlay/achievements by allowing renaming of Stardew Valley.exe #10

Closed BlueRaja closed 7 years ago

BlueRaja commented 8 years ago

The Skyrim extended API "supports" running the game through Steam still (including achievements and whatnot) by allowing you to rename the API launcher to "Skyrim.exe" and renaming the actual Skyrim.exe to something else.

SMAPI should be able to do something similar, maybe by taking the exe name as a command-line parameter?

BlueRaja commented 8 years ago

Hmm, I just found out that setting the launch parameters to "D:\Games\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe" %command% Also works.

BlueRaja commented 8 years ago

It is apparently possible to trick Steam into thinking your mod launcher is the game when it is launched. I'm not sure how to do that, but https://github.com/aEnigmatic/xcom2-launcher does it for XCOM using, I believe, SteamWorks.Net

Entoarox commented 8 years ago

I do believe that is what the steam_appid.txt file is there for.

Pathoschild commented 7 years ago

Thanks for the idea. Starting with SMAPI 1.0, we'll probably have an install script (#155) that enables Steam support without further user action. That will work by replacing the StardewValley.exe itself (with a backup), as you suggested in the first comment.

Entoarox commented 7 years ago

@Pathoschild Please do not change the major version number for SMAPI from 0, the FarmHand SMAPI compatibility layer sets it to 1 as a way for mods to identify if they are running pure SMAPI or FarmHand compatibility.

BlueRaja commented 7 years ago

@Entoarox That is not an acceptable thing for them to do. It cannot be expected for this project to support another project's horrible practices.

Entoarox commented 7 years ago

@BlueRaja Since CLxS is the one who did so, and he is the one who chose for SMAPI to be maintenance-only from now on, it is quite acceptable.

Pathoschild commented 7 years ago

Hi @Entoarox. Farmhand sets the version to "1.0.0 Farmhand-Smapi". If a mod needs to know whether it's using the compatibility layer, it should check for the "Farmhand-Smapi" tag rather than the number. Depending on the number itself is bad practice.

Although the plan is to transition to Farmhand when that's released, SMAPI is not currently maintenance-only. The development goal is to clean up SMAPI and fix known issues, make it crossplatform, and smooth out the eventual transition to Farmhand (e.g. #156).