rfht / fnaify

Run FNA/XNA games on OpenBSD - DEPRECATED! Check out the successor: https://github.com/IndieRunner/IndieRunner
https://www.PlayOnBSD.com
ISC License
36 stars 2 forks source link

Before the Echo support #40

Open reivyr opened 4 years ago

reivyr commented 4 years ago

This is a FNA game that only has a Steam version and I found some issues after running fnaify:

  1. libsteam_api.so (log) but I can bypass it with Goldberg Steam Emulator which build the library (needs gmake and protobuf from packages, and this diff for the 0.2.5 release). Maybe this can be useful for Steamworks-nosteam?

  2. Game is laggy. I tested with differents FNA.dll: with game's FNA(log) but it crashed, FNA 17.12 from fnaify (log) but has lots of warnings, and FNA 20.06(log) which doesn't have the warnings of 17.12.

rfht commented 4 years ago

@reivyr your logs have unfortunately been removed by the pastebot.

Support added via dllmap and libstubborn: https://github.com/rfht/fnaify/commit/15987799900d5312e1706a32e934ac9927e3109c

It worked pretty well with FNA 17.12 (fnaify installs this one automatically if you run it with -y flag) on my i7-10700.

rfht commented 4 years ago

crash on exit:

=================================================================
        Native Crash Reporting
=================================================================
Got a SEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

=================================================================
        Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0x28bc4dff1a4):0x28bc4dff194  00 f3 90 0f ae e8 eb f9 cc cc cc cc 4c 89 1c 24  ............L..$
0x28bc4dff1a4  c3 cc cc cc cc cc cc cc cc cc cc cc 4c 8b 1d 99  ............L...
0x28bc4dff1b4  ee 02 00 4c 33 1c 24 55 48 89 e5 b8 01 00 00 00  ...L3.$UH.......
0x28bc4dff1c4  5d 4c 33 1c 24 4c 3b 1d 80 ee 02 00 74 0d cc cc  ]L3.$L;.....t...

=================================================================
        Managed Stacktrace:
=================================================================
          at <unknown> <0xffffffff>
          at FAudio:FAudioVoice_DestroyVoice <0x000b2>
          at Microsoft.Xna.Framework.Audio.SoundEffectInstance:Stop <0x000c2>
          at Microsoft.Xna.Framework.Audio.SoundEffectInstance:Dispose <0x0005a>
          at Microsoft.Xna.Framework.Audio.SoundEffectInstance:Dispose <0x00038>
          at Microsoft.Xna.Framework.Audio.SoundEffectInstance:Finalize <0x000ca>
          at System.Object:runtime_invoke_virtual_void__this__ <0x000ab>
=================================================================
Abort trap (core dumped)

Doesn't save game

performance is good with FNA-19.9 (from Unexplored); not as good with 20.08

rfht commented 4 years ago

Reply from Iridium Games: https://twitter.com/IridiumStudios/status/1290936681403621376 and https://twitter.com/IridiumStudios/status/1290936927776960512

That's interesting. As I recall, the steam_writeFile function should just be writing local files regardless of whether or not it can connect to the Steam Cloud servers. But I suppose that might be a different situation than not reading a Steam client at all...

Unfortunately there are no flags at the moment to change how the game saves. I'm curious if any local files are created entitled "steamsav.sav" or something similar?