protonscr

Star Saviors

protonopen appid 314450Game compatibility - Unofficial.NET-XNA
ValveSoftware/Proton#3632 · opened 2020-03-13 by Makoto29 · updated 2020-03-31 · 8 comments · github · game page · search this game
MMakoto29 2020-03-13 github

Compatibility Report

  • Name of the game with compatibility issues: Star Saviors
  • Steam AppID of the game: 314450

System Information

  • GPU: Vega 8
  • Driver/LLVM version: Mesa 19.2.8/9.0.0
  • Kernel version: 5.6 rc4
  • Link to full system information report as Gist:
  • Proton version: 5.0.4

I confirm:

  • [ x] that I haven't found an existing compatibility report for this game.
  • [ x] that I have checked whether there are updates for my system available.

steam-314450.log

Symptoms

The Game crashes after trying to load the actual game/level.

Reproduction

  1. Start the Game without any environment variables set.
  2. Choose "New Game" or "Continue".
  3. Wait a while for loading.
  4. It crashes.
Fflibitijibibo 2020-03-13 github

This suggests that an effect has some render state change we've never seen before. The latest FNA will tell you what it is, but you'll have to manually build and install this into the wine-mono path to see it:

https://github.com/FNA-XNA/FNA/commit/c2c154a0a45473b069ca01612c1e759d0cacc08f

MMakoto29 2020-03-14 github

Okay, I think I need some help then. I don't feel really smart here. Hitting the Makefile just gave me a bunch of "not found" outputs in Terminal(RESNAME, RESDIR, SRC, release, mcs, etc.). Do I need to do something with the make-command or moving the source elsewhere? Am I right the wine-mono path is in the game specific compatdata directory? Probably "~/.steam/steamapps/compatdata/314450/pfx/drive_c/windows/mono"?

Fflibitijibibo 2020-03-14 github

The build is kind of messy right now - there's a wine-mono branch that has some special WinForms stuff, so a build would look something like this:

git clone --recursive git://github.com/madew0kherd/FNA.git
cd FNA
git pull git://github.com/FNA-XNA/FNA.git
git submodule update
msbuild FNA.sln /p:Configuration=Release
cp bin/Release/FNA.dll ~/.local/share/Steam/steamapps/common/Proton\ 5.0/dist/share/wine/mono/wine-mono-4.9.4/lib/mono/gac/FNA/19.11.0.0__0738eb9f132ed756/FNA.dll

The wine-mono and FNA GAC folder may not be precisely this, but those can be tab-completed pretty easily. Downloading the package that provides msbuild should pull in everything else you need to build.

MMakoto29 2020-03-15 github

Okay, I ended up stucking on the dotnet msbuild /t:Publish FNA.Core.csproj /p:Configuration=Release command.
here's my output:

chaika@chaika-A320M-S2H-V2 ~/FNA $ dotnet msbuild /t:Publish FNA.Core.csproj /p:Configuration=Release
Microsoft (R)-Build-Engine, Version 16.4.0+e901037fe für .NET Core
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

/usr/share/dotnet/sdk/3.1.101/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.CrossTargeting.targets(27,5): error : The 'Publish' target is not supported without specifying a target framework. The current project targets multiple frameworks, please specify the framework for the published application. [/home/chaika/FNA/FNA.Core.csproj]

If I do dotnet msbuild FNA.Core.csproj /p:Configuration=Release I get an error saying I need .NET Framework Developer Packs, which appears to be Windows only (No Windows here right now). And another one.

Any idea?

Fflibitijibibo 2020-03-15 github

The Core project won’t work, try this instead:

msbuild FNA.sln /p:Configuration=Release
MMakoto29 2020-03-16 github

Oh dear, my bad. Had errors with the FNA.sln first, then experimented too much.
dotnet msbuild /t:Publish FNA.sln /p:Configuration=Release was without errors, but I can't find any output file. Without /t:Publish I still get an error.
Assuming this is right so far: I miss the ~/FNA/bin folder.

Fflibitijibibo 2020-03-16 github

Strange, I would expect bin to be there... I think the msbuild log will say where it wrote all the files; if needed you can do -target:Clean if it doesn't tell you the output location.

Fflibitijibibo 2020-03-31 github

I looked up the render state value and it seems to be for sampler state modifications... which is weird considering that's supposed to be a separate series of state changes. Anyway, hack go here:

https://github.com/FNA-XNA/FNA/commit/0a45d07d90ef2bd0f284c17bb10f3c22bf627c24

This game should work after wine-mono updates to FNA 20.04.

DLLs