-
Notifications
You must be signed in to change notification settings - Fork 83
Conversation
One caveat that I've discovered is that just like the installer, SMAPI requires wineconsole to run. This is easily done by editing the executable in MO2 to point to "C:\windows\system32\wineconsole.exe" and adding the proper path to SMAPI.exe as the arguments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking the time to work on this. Looks almost good to go, just take a look at the comment below and also:
One caveat that I've discovered is that just like the installer, SMAPI requires wineconsole to run. This is easily done by editing the executable in MO2 to point to "C:\windows\system32\wineconsole.exe" and adding the proper path to SMAPI.exe as the arguments.
Could you add instructions on how to do that to post-install.md?
There should probably be some feature that automatically sets up executables within MO2, that's a common requirement for a few things. But that's for a future PR.
workarounds/stardewvalley.sh
Outdated
# This command is ugly, but necessary | ||
# Needs to run through wineconsole in order to work with .NET's System.Console | ||
|
||
"$utils/protontricks.sh" run-command "$game_appid" "wineconsole '${extracted_scriptextender}/SMAPI ${game_smapi_version} installer/internal/windows/SMAPI.Installer.exe' --install --no-prompt --game-path 'Z:\mnt\lingames\SteamLibrary\steamapps\common\Stardew Valley'" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The --game-path
parameter seems to be hard-coded to a specific location in your system, which isn't a portable solution.
The "game_installation" variable set by load_gameinfo.sh will hold the install location. This should convert it to a Windows path:
echo "$game_installation" | sed -e 's/^/Z:/' -e 's@/@\\@g'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, the path was definitely a mistake on my part. Rushed from the yelling at the computer phase to the clean up for pull request phase. 😛
Looks good to go. I just need some time to test a few things and we can move for a merge and release. |
Ran some tests today and noticed the Stardew Valley install directory isn't automatically detected by MO2 during instance setup. Can you confirm that? |
It is not on my test either. Should it be? I thought it was just a quirk of running MO in wine. |
All currently supported games are automatically detected with no additional work required. I don't know how the MO2 detection algorithm works, it is possible it doesn't work for SDV or that it may need some additional hints. We can't proceed with it as-is because:
What we need to evaluate:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Need to address the issue of the SDV directory not being found before continuing.
This will add Stardew Valley Support to the installer. This supports the Windows version of SDV, running on proton. It does not support the native version. I have not yet tested extensively, but it seems to work for me with no issue.
The only change I made was to add a run-command argument to protontricks, allowing you to run an arbitrary command inside the prefix. This was done so that I could use the SMAPI installer, rather than choosing individual files via game_scriptextender_files. SMAPI can be a moving target, and in my opinion, it's easiest left to let it handle it's own additions and subtractions.
I also added a new variable "game_smapi_version" to facilitate both the downloading and installing SMAPI with minimal changes needed on upgrade. This could be changed to a more universal variable if others find the need for something similar.
As it stands, the installer is heavily focused on bethesda titles, and I tried to keep within the existing paradigm as much as possible, but in the future it may be a good idea to make a few tweaks making non-bethesda games easier to add.