Code Monkey home page Code Monkey logo

fnaify's People

Contributors

bentley avatar rfht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

fnaify's Issues

Cryptark: Crash on collecting artifact (SetAchievement) - Steam version

this function may be missing from the libSteamworksNative.so stub

full backtrace:

276-Central Core Neutralized                                                                       
TRYING TO GET Revenue - GOT 0                                                                      
06:55:37.244-CRASH: Update                                                                         
06:55:37.259-Line: 0 -                                                                             
06:55:37.265-System.EntryPointNotFoundException: SetAchievement                                    
  at (wrapper managed-to-native) Steamworks.Steam+Stats.SetAchievement(string)                     
  at Medusa.ScreenManager.UnlockArtifact (System.String className, System.Boolean ShowDialogEvenIfUn
locked) [0x00087] in <57aa6fc09a4347e685acfaf800260ba0>:0                                          
  at Medusa.EnemySelect.StartDebrief () [0x007b4] in <57aa6fc09a4347e685acfaf800260ba0>:0          
  at Medusa.EnemySelect.LoadContent () [0x00467] in <57aa6fc09a4347e685acfaf800260ba0>:0           
  at Medusa.ScreenManager.AddScreen (Medusa.GameScreen screen) [0x00019] in <57aa6fc09a4347e685acfaf
800260ba0>:0
  at Medusa.CryptarkGame.EndLevel (Medusa.EnemyOption enemy, System.Boolean victory, System.Boolean
abandoned) [0x00407] in <57aa6fc09a4347e685acfaf800260ba0>:0                                       
  at Medusa.Nemesis.Update (Medusa.Engine Engine) [0x0006b] in <57aa6fc09a4347e685acfaf800260ba0>:0
  at Medusa.CryptarkGame.Update (Microsoft.Xna.Framework.GameTime gameTime, System.Boolean otherScre
enHasFocus, System.Boolean coveredByOtherScreen) [0x00c86] in <57aa6fc09a4347e685acfaf800260ba0>:0 
  at Medusa.ScreenManager.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00424] in <57aa6fc09
a4347e685acfaf800260ba0>:0
  at Microsoft.Xna.Framework.Game.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00078] in <4
991dfcf0593486eb48693a1f183704c>:0
  at Medusa.Start.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00005] in <57aa6fc09a4347e68
5acfaf800260ba0>:0
06:55:37.278-Total Memory: 253281KB
06:55:37.278-v1.2 - 09/20/2017 - 20:10:26
06:55:37.284-<--- Log has been written to: /home/thfr/.local/share/Cryptark/Logs/12-ryze-up.domain-4
33827886259375.txt
06:55:38.526-Upload File Complete, status 226-110584 Kbytes used (1%) - authorized: 10240000 Kb    
226-File successfully transferred
226 0.088 seconds (measured here), 56.98 Kbytes per second

Dead Pixels 2 fails to launch: Could not find a part of the path...

error.txt:

Dead Pixels II has encountered an error.
Version:0.21

Could not find a part of the path '/home/thfr/games/fna/dead_pixels_ii/Dead Pixels II/Content/data/fonts'.

  at System.IO.__Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) [0x000f7] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource].HandleError (System.Int32 hr, System.String path) [0x00006] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource].CommonInit () [0x00079] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.FileSystemEnumerableIterator`1[TSource]..ctor (System.String path, System.String originalUserPath, System.String searchPattern, System.IO.SearchOption searchOption, System.IO.SearchResultHandler`1[TSource] resultHandler, System.Boolean checkHost) [0x000d6] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.FileSystemEnumerableFactory.CreateFileNameIterator (System.String path, System.String originalUserPath, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) [0x00009] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.Directory.InternalGetFileDirectoryNames (System.String path, System.String userPathOriginal, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) [0x00010] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.Directory.InternalGetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) [0x00000] in <18a8162cc8584b689260ed7c354531a2>:0 
  at System.IO.Directory.GetFiles (System.String path) [0x0000e] in <18a8162cc8584b689260ed7c354531a2>:0 
  at DPII.Sprite.load (Microsoft.Xna.Framework.Content.ContentManager contentManager, Microsoft.Xna.Framework.GraphicsDeviceManager graphics) [0x00038] in <c0d552d99efe4f4599999fd29357ed35>:0 
  at DPII.Game1.LoadContent () [0x00006] in <c0d552d99efe4f4599999fd29357ed35>:0 
  at Microsoft.Xna.Framework.Game.Initialize () [0x00053] in <e3b8ded238784c10a786f31f762b3165>:0 
  at DPII.Game1.Initialize () [0x00000] in <c0d552d99efe4f4599999fd29357ed35>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000d] in <e3b8ded238784c10a786f31f762b3165>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x0000e] in <e3b8ded238784c10a786f31f762b3165>:0 
  at DPII.Program.Main (System.String[] args) [0x00029] in <c0d552d99efe4f4599999fd29357ed35>:0 

Games shipping without a launch script

This is currently not taken into account by the fnaify script.

Workaround:

  • copy the launch script from any other FNA game, or for that matter any bash-script into the folder and pass that one to fnaify. fnaify will only replace it and otherwise not make use of it

Games affected:

  • Overdriven Reloaded
  • Solaroids Prologue

A Virus Named TOM dumps core on exit, doesn't save progress or settings

On Ryzen, with Radeon HD 7570 GPU (r600 ). Don't recall this from Intel.

Reading symbols from mono-sgen...(no debugging symbols found)...done.                              
[New process 405581]
[New process 278444]                                                                               
[New process 233029]
[New process 203525]
[New process 553916]
Core was generated by `mono-sgen'.
Program terminated with signal SIGSEGV, Segmentation fault.                                        
#0  0x00001b24b37b470c in ?? ()
[Current thread is 1 (process 405581)]
Mono support loaded.
(gdb) bt
#0  0x00001b24b37b470c in ?? ()
#1  0x0000000000000400 in ?? ()
#2  0x00001b24ec1f6ae0 in ?? ()
#3  0x00001b24ec1f6ad0 in ?? ()
#4  0x00001b2507466680 in ?? ()
#5  0x000000000003adc0 in ?? ()
#6  0x0000000000000000 in ?? ()
(gdb) thread apply all bt full
                                                                                                   
Thread 5 (process 553916):                                                                         
#0  _thread_sys_nanosleep () at -:3
No locals.
#1  0x00001b24e71e1f9e in _libc_nanosleep_cancel (timeout=0x1b2533a0c920, remainder=0x0)           
    at /usr/src/lib/libc/sys/w_nanosleep.c:27                                                      
        _tib = 0x1b24d3c25200                                                                      
#2  0x00001b24e721ee92 in usleep (useconds=<optimized out>) at /usr/src/lib/libc/gen/usleep.c:46   
        rqt = {tv_sec = 0, tv_nsec = 10000000}                                                     
#3  0x00001b24b37b470c in ?? ()                                                                    
No symbol table info available.                                                                    
#4  0x0000000000000400 in ?? ()
No symbol table info available.                                                                    
#5  0x00001b2471badae0 in ?? ()                                                                    
No symbol table info available.                                                                    
#6  0x00001b2471badad0 in ?? ()                                                                    
No symbol table info available.                                                                    
#7  0x00001b255332f2c0 in ?? ()
No symbol table info available.                                                                    
#8  0x0000000000047640 in ?? ()                                                                    
No symbol table info available.
#9  0x0000000000000000 in ?? ()                                                                    
No symbol table info available.

Thread 4 (process 203525):                                                                         
#0  0x00001b24b37b470c in ?? ()                                                                    
No symbol table info available.                                                                    
#1  0x0000000000000400 in ?? ()                                                                    
No symbol table info available.                                                                    
#2  0x00001b250c531560 in ?? ()                                                                    
No symbol table info available.                                                                    
#3  0x00001b250c531550 in ?? ()
No symbol table info available.                                                                    
#4  0x00001b2502b8a340 in ?? ()
No symbol table info available.                                                            [59/1315]
#4  0x00001b2502b8a340 in ?? ()
No symbol table info available.                                                                    
#5  0x000000000003f640 in ?? ()                                                                    
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.                                                                    
                                                                                                   
Thread 3 (process 233029):
#0  0x00001b24b37b470c in ?? ()                                                                    
No symbol table info available.
#1  0x0000000000000400 in ?? ()
No symbol table info available.
#2  0x00001b24b11941e0 in ?? ()
No symbol table info available.                                                                    
#3  0x00001b24b11941d0 in ?? ()
No symbol table info available.
#4  0x00001b251c241560 in ?? ()
No symbol table info available.
#5  0x000000000003c9c0 in ?? ()
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

Thread 2 (process 278444):
#0  munmap () at -:3
No locals.
#1  0x00001b24e71e64fa in unmap (d=<optimized out>, p=0x1b253167c000, sz=4096, clear=0, junk=0)    
---Type <return> to continue, or q <return> to quit---                                             
    at /usr/src/lib/libc/stdlib/malloc.c:672
        tounmap = 1
        psz = <optimized out>                                                                      
        rsz = 4096                                                                                 
        i = 0                                                                                      
        offset = 9                                                                                 
        mask = <optimized out>                                                                     
#2  0x00001b24e71e4012 in free_bytes (d=<optimized out>, r=<optimized out>, ptr=<optimized out>)   
    at /usr/src/lib/libc/stdlib/malloc.c:1092                                                      
        info = <optimized out>
        mp = <optimized out>                                                                       
#3  ofree (argpool=<optimized out>, p=<optimized out>, clear=0, check=0, argsz=0)                  
    at /usr/src/lib/libc/stdlib/malloc.c:1392                                                      
        info = <optimized out>                                                                     
        pool = <optimized out>                                                                     
        i = <optimized out>
        saved_function = 0x0                                                                       
        r = <optimized out>                                                                        
        sz = <optimized out>
#4  0x00001b24e71e355c in free (ptr=0x1b2472702180) at /usr/src/lib/libc/stdlib/malloc.c:1424      
        saved_errno = 35
        d = 0x1b24bb16bba0
#5  0x00001b25134c422d in unsafe_free () from /usr/X11R6/lib/modules/dri/r600_dri.so               
No symbol table info available.                                                                    
#6  0x00001b2513434d42 in _mesa_glsl_release_builtin_functions() ()                                
   from /usr/X11R6/lib/modules/dri/r600_dri.so                                                     
No symbol table info available.                                                                    
#7  0x00001b251349c629 in _mesa_destroy_shader_compiler ()                                         
   from /usr/X11R6/lib/modules/dri/r600_dri.so                                                     
No symbol table info available.
#8  0x00001b25131a36a9 in one_time_fini () from /usr/X11R6/lib/modules/dri/r600_dri.so             
No symbol table info available.
#9  0x00001b24e71e908c in _libc___cxa_finalize (dso=0x0) at /usr/src/lib/libc/stdlib/atexit.c:177  
        call_depth = 1                                                                             
        pgsize = 4096
        p = 0x1b2502b8b000
        n = <optimized out>                                                                        
        fn = <error reading variable fn (access outside bounds of object referenced via synthetic po
inter)>
#10 0x00001b24e7233511 in _libc_exit (status=0) at /usr/src/lib/libc/stdlib/exit.c:54              
No locals.
#11 0x00001b226ac4305d in _start ()
No symbol table info available.

Thread 1 (process 405581):                                                                         
#0  0x00001b24b37b470c in ?? ()
No symbol table info available.
#1  0x0000000000000400 in ?? ()
No symbol table info available.
#2  0x00001b24ec1f6ae0 in ?? ()
No symbol table info available.
#3  0x00001b24ec1f6ad0 in ?? ()
No symbol table info available.
#4  0x00001b2507466680 in ?? ()
No symbol table info available.
#5  0x000000000003adc0 in ?? ()
No symbol table info available.
#6  0x0000000000000000 in ?? ()                                                                    
No symbol table info available.                                                                    
(gdb) quit

Burning Knight crashes after death when game tries to restart

Maybe an upstream issue.

Trace:

Setting level size to 73:94 12:51:24 Paint() <= Paint()                                                                                                                                                                               [0/2863]
System.NullReferenceException: Object reference not set to an instance of an object                                    
  at VelcroPhysics.Collision.Broadphase.DynamicTree`1[T].InsertLeaf (System.Int32 leaf) [0x0039d] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                                     
  at VelcroPhysics.Collision.Broadphase.DynamicTree`1[T].MoveProxy (System.Int32 proxyId, VelcroPhysics.Shared.AABB& aabb, Microsoft.Xna.Framework.Vector2 displacement) [0x000ec] in <c3efdc13b7e6400c9c641ddb721649e0>:0                    
  at VelcroPhysics.Collision.Broadphase.DynamicTreeBroadPhase.MoveProxy (System.Int32 proxyId, VelcroPhysics.Shared.AABB& aabb, Microsoft.Xna.Framework.Vector2 displacement) [0x00000] in <c3efdc13b7e6400c9c641ddb721649e0>:0               
  at VelcroPhysics.Dynamics.Fixture.Synchronize (VelcroPhysics.Collision.Broadphase.IBroadPhase broadPhase, VelcroPhysics.Shared.Transform& transform1, VelcroPhysics.Shared.Transform& transform2) [0x00065] in <c3efdc13b7e6400c9c641ddb7216
49e0>:0                                             
  at VelcroPhysics.Dynamics.Body.SetTransformIgnoreContacts (Microsoft.Xna.Framework.Vector2& position, System.Single angle) [0x00092] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                
  at VelcroPhysics.Dynamics.Body.SetTransform (Microsoft.Xna.Framework.Vector2& position, System.Single rotation) [0x00000] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                           
  at VelcroPhysics.Dynamics.Body.set_Position (Microsoft.Xna.Framework.Vector2 value) [0x00009] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                                       
  at BurningKnight.entity.component.BodyComponent.PositionChangedListener () [0x00024] in <5e0744e47e7d4962992b6081dba890b8>:0  12:51:24 PositionChangedListener() <= set_Y()                                                                 
System.NullReferenceException: Object reference not set to an instance of an object                                    
  at VelcroPhysics.Collision.Broadphase.DynamicTree`1[T].AllocateNode () [0x00068] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                                                    
  at VelcroPhysics.Collision.Broadphase.DynamicTree`1[T].AddProxy (VelcroPhysics.Shared.AABB& aabb, T userData) [0x00000] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                             
  at VelcroPhysics.Collision.Broadphase.DynamicTreeBroadPhase.AddProxy (VelcroPhysics.Dynamics.FixtureProxy& proxy) [0x00000] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                         
  at VelcroPhysics.Dynamics.Fixture.CreateProxies (VelcroPhysics.Collision.Broadphase.IBroadPhase broadPhase, VelcroPhysics.Shared.Transform& xf) [0x00041] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                           
  at VelcroPhysics.Dynamics.Fixture.RegisterFixture () [0x00048] in <c3efdc13b7e6400c9c641ddb721649e0>:0 
  at VelcroPhysics.Dynamics.Fixture..ctor (VelcroPhysics.Dynamics.Body body, VelcroPhysics.Templates.FixtureTemplate template) [0x0004e] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                              
  at VelcroPhysics.Dynamics.Body.CreateFixture (VelcroPhysics.Templates.FixtureTemplate template) [0x00000] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                           
  at VelcroPhysics.Dynamics.Body.CreateFixture (VelcroPhysics.Collision.Shapes.Shape shape, System.Object userData) [0x00014] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                         
  at VelcroPhysics.Factories.FixtureFactory.AttachPolygon (VelcroPhysics.Shared.Vertices vertices, System.Single density, VelcroPhysics.Dynamics.Body body, System.Object userData) [0x00021] in <c3efdc13b7e6400c9c641ddb721649e0>:0         
  at BurningKnight.entity.component.RectBodyComponent..ctor (System.Single x, System.Single y, System.Single w, System.Single h, VelcroPhysics.Dynamics.BodyType type, System.Boolean sensor, System.Boolean center) [0x000d3] in <5e0744e47e7
d4962992b6081dba890b8>:0                                                                                               
  at BurningKnight.entity.room.controllable.spikes.Spikes.AddComponents () [0x00094] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                                  
  at Lens.entity.Entity.Init () [0x00013] in <f58f613c108b4decb723703b386f614d>:0                                                                                                                                                             
  at BurningKnight.entity.room.controllable.spikes.Spikes.Init () [0x00000] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                                           
  at Lens.entity.Area.Add (Lens.entity.Entity entity, System.Boolean postInit) [0x00055] in <f58f613c108b4decb723703b386f614d>:0                                                                                                              
  at BurningKnight.level.Painter.ReplaceTiles (BurningKnight.level.Level Level, BurningKnight.level.rooms.RoomDef Room) [0x0009b] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                     
  at BurningKnight.level.Painter.Paint (BurningKnight.level.Level Level, System.Collections.Generic.List`1[T] Rooms) [0x008f6] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                        
  at BurningKnight.level.RegularLevel.Paint () [0x0001d] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                                                              
  at BurningKnight.level.RegularLevel.Generate () [0x00080] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                                                           
  at BurningKnight.save.LevelSave.GenerationThread (Lens.entity.Area area, System.Int32 c) [0x0007a] in <5e0744e47e7d4962992b6081dba890b8>:0  12:51:24 GenerationThread() <= <Generate>b__0()                                                 
System.NullReferenceException: Object reference not set to an instance of an object.                                   
  at VelcroPhysics.Collision.Broadphase.DynamicTree`1[T].Query (System.Func`2[T,TResult] callback, VelcroPhysics.Shared.AABB& aabb) [0x00037] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                         
  at VelcroPhysics.Collision.Broadphase.DynamicTreeBroadPhase.UpdatePairs (VelcroPhysics.Collision.Handlers.BroadphaseHandler callback) [0x00035] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                     
  at VelcroPhysics.Collision.ContactSystem.ContactManager.FindNewContacts () [0x00006] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                                                
  at VelcroPhysics.Dynamics.Body.SetTransform (Microsoft.Xna.Framework.Vector2& position, System.Single rotation) [0x00013] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                           
  at VelcroPhysics.Dynamics.Body.set_Position (Microsoft.Xna.Framework.Vector2 value) [0x00009] in <c3efdc13b7e6400c9c641ddb721649e0>:0                                                                                                       
  at BurningKnight.entity.component.BodyComponent.PositionChangedListener () [0x00024] in <5e0744e47e7d4962992b6081dba890b8>:0  12:51:24 PositionChangedListener() <= set_Y()                                                                 
exception inside UnhandledException handler: (null) assembly:/usr/local/lib/mono/4.5/mscorlib.dll type:NullReferenceException member:(null)                                                                                                   
                                                           
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Index and count must refer to a location within the buffer.                                                                                                            
Parameter name: chars                                                                                                  
  at System.Text.EncoderNLS.GetBytes (System.Char[] chars, System.Int32 charIndex, System.Int32 charCount, System.Byte[] bytes, System.Int32 byteIndex, System.Boolean flush) [0x0004c] in <21696c1a094846e38c514da8e2c85acc>:0               
  at System.IO.StreamWriter.Flush (System.Boolean flushStream, System.Boolean flushEncoder) [0x00054] in <21696c1a094846e38c514da8e2c85acc>:0                                                                                                 
  at System.IO.StreamWriter.WriteSpan (System.ReadOnlySpan`1[T] buffer, System.Boolean appendNewLine) [0x000a7] in <21696c1a094846e38c514da8e2c85acc>:0                                                                                       
  at System.IO.StreamWriter.WriteLine (System.String value) [0x0000d] in <21696c1a094846e38c514da8e2c85acc>:0          
  at Lens.util.Log.Print (System.Object message, System.ConsoleColor color, System.String type) [0x00070] in <f58f613c108b4decb723703b386f614d>:0                                                                                             
  at Lens.util.Log.Error (System.Object message) [0x00000] in <f58f613c108b4decb723703b386f614d>:0 
  at BurningKnight.save.LevelSave.GenerationThread (Lens.entity.Area area, System.Int32 c) [0x000ec] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                  
  at BurningKnight.save.LevelSave+<>c__DisplayClass15_0.<Generate>b__0 () [0x00000] in <5e0744e47e7d4962992b6081dba890b8>:0                                                                                                                   
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <21696c1a094846e38c514da8e2c85acc>:0                                                                                                                
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <21696c1a094846e38c514da8
e2c85acc>:0                                                                                                            
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <21696c1a094846e38c514da8e2c85acc
>:0                                                  
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <21696c1a094846e38c514da8e2c85acc>:0                             
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <21696c1a094846e38c514da8e2c85acc>:0                    
AL lib: (EE) alc_cleanup: 1 device not closed                                                                          
[email protected]:bk$

FNA.dll 17.12 vs. performance

with 17.12, a lot of messages/warnings show up in the log, related to gl* stuff. E.g. with Before the Echo, Apple Jack 1. Consider trying to use more recent FNA.dll versions whenever possible.

Axiom Verge Collectors Edition (DVD copy) fails with System.NullReferenceException: Object reference not set to an instance of an object

Full output

fnaify runtime configuration

fnaify Version: 3.0
Game Directory: /home/glitch/games/Axiom Verge - Windows
Mono Binary: /usr/local/bin/mono
Mono Path: /usr/local/lib/steamworks-nosteam:/usr/local/share/FNA
Main Assembly: AxiomVerge.exe
Native Library Directories: /usr/local/lib/steamworks-nosteam:/usr/local/lib:/usr/X11R6/lib
Framework File: /usr/local/share/FNA/FNA.dll
Framework File Version: 21.1.0.0
Symlinks to Config: AxiomVerge.exe.config
Config File: /usr/local/share/FNA/FNA.dll.config
Other Runtime Environment:
Runtime Flags:
Datasize Limit: 1953 M

AT LEAST 2G are recommended for most games. See ksh(1) for ulimit command documentation

2021-02-01 02:58:01,233 - Setting SDL Hint to Allow Joystick Background Events
2021-02-01 02:58:01,271 - RunGame() Begin
2021-02-01 02:58:01,419 - Creating Game.
2021-02-01 02:58:01,989 - Attempting to load Settings.xml
2021-02-01 02:58:01,992 - Settings object was null; initializing new object.
2021-02-01 02:58:01,993 - Initializing settings data.
2021-02-01 02:58:01,993 - Initializing Settings Data.
2021-02-01 02:58:01,993 - Initializing control mappings.
2021-02-01 02:58:02,004 - Creating Graphics object.
2021-02-01 02:58:02,005 - Creating Graphics Device Manager.
2021-02-01 02:58:02,009 - Caught exception constructing THGame().
System.NullReferenceException: Object reference not set to an instance of an object
at fl.k () [0x0003f] in <3fad6b5f176845b793b1cc841485018b>:0
at fl..ctor (c A_0) [0x0006e] in <3fad6b5f176845b793b1cc841485018b>:0
at c..ctor () [0x00121] in <3fad6b5f176845b793b1cc841485018b>:0
at cm.a () [0x00011] in <3fad6b5f176845b793b1cc841485018b>:0
2021-02-01 02:58:02,018 - game was null.
2021-02-01 02:58:02,018 - RunGame() End

Running OpenBSD 6.8 -current

Wizorb doesn't launch

Starts playing intro, then can't find a file likely because of backslashes in the filepath:

[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not find file "/home/thfr/games/fna/wizorb/data/Content/Audio\Music\BGM_Title.wav File name: '/home/thfr/games/fna/wizorb/data/Content/Audio\Music\BGM_Title.wav' at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x001ef] in <d3b61d05e0d14bda9e0d978e561956eb>:0 at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean isAsync, System.Boolean anonymous) [0x00000] in <d3b61d05e0d14bda9e0d978e561956eb>:0 at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access) [0x00000] in <d3b61d05e0d14bda9e0d978e561956eb>:0 at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess) at Paris.Engine.Audio.Song..ctor (System.String i_sFilename) [0x0009b] in <db8544783c814ca99a21ef21d5408f9f>:0 at Paris.Engine.Audio.AudioManager.PlayMusic (System.String i_songName, System.Boolean i_bLoop) [0x0006a] in <db8544783c814ca99a21ef21d5408f9f>:0 at Paris.Game.Menu.MainMenu.StateShowTitleScreen (Paris.System.FSM.FSM+StateStep i_stateStep, Microsoft.Xna.Framework.GameTime i_gameTime) [0x0009c] in <b116149ffca94957ba28d6f65d4273e6>:0 at Paris.System.FSM.FSM.Tick (Microsoft.Xna.Framework.GameTime gameTime) [0x00019] in <db8544783c814ca99a21ef21d5408f9f>:0 at Paris.Game.Menu.MenuBase.Tick (Microsoft.Xna.Framework.GameTime i_gameTime) [0x00007] in <b116149ffca94957ba28d6f65d4273e6>:0 at Paris.Game.Menu.MainMenu.Tick (Microsoft.Xna.Framework.GameTime i_gameTime) [0x0000c] in <b116149ffca94957ba28d6f65d4273e6>:0 at Paris.Engine.Context.ContextManager.Tick (Microsoft.Xna.Framework.GameTime i_gameTime) [0x0015d] in <db8544783c814ca99a21ef21d5408f9f>:0 at Paris.Paris.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x00051] in <b116149ffca94957ba28d6f65d4273e6>:0 at Microsoft.Xna.Framework.Game.Tick () [0x00208] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00680] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 at Microsoft.Xna.Framework.Game.Run () [0x0002f] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 at Paris.Program.Main (System.String[] args) [0x000b3] in <b116149ffca94957ba28d6f65d4273e6>:0

PS4 controller not recognized in Rogue Legacy

Reported by @mulander. Only tested with Rogue Legacy so far. While Rogue Legacy usually autodetects game controller if connected (with SDL2 version that has gamecontroller API enabled), it doesn't detect the PS4 controller. Testing with sdl2-jstest passed before.

Before the Echo support

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.

Mojoshader ClassicUO Client Ultima Online

Trying to run a program that supposedly is an XNA app, the ClassicUO launcher (Ultima Online). I was able to nab all the dependencies, but it requires the mojoshader library, and unfortunately I am having trouble finding this library on FreeBSD 12.1. I tried compiling the library from source, but I can't get past an objc missing library.

Curious if anyone has solved mojoshader related problems on FreeBSD. I see that OpenBSD has a port, so I was hoping to maybe... port over the port :D.

Marshal.PtrToStringAnsi error

Occurs in:

  • Adventures of Shuggy
  • Apotheon
  • Curse of the Crescent Isle DX
  • Gnomoria

(Similar issue with Rex Rocket, where graphics don't display properly with the bundled FNA.dll)

Known fix/workaround:

  • use a different FNA.dll* (e.g. from Owlboy)

To Do:

  • Add identification of the error-producing FNA.dll* to fnaify and replace it (or provide instructions how to do this)

Use of Steamworks.NET

There are stub libraries that can work around this. Still, it would be best if the gamedevs considered Steamworks.NET-free versions, e.g. on humblebundle or GOG.com.

Games affected:

  • Overdriven Reloaded* (issue raised with devs here)
  • Salt and Sanctuary* (issue raised on steam forums)
  • Square Heroes* (might be using steamworks for online functionality)
  • The Dishwasher: Vampire Smile* (same dev as Salt & Sanctuary, so will wait with requests to see how they respond)
  • Press X to Not Die* (asked for linux version on itch which currently has only windows version... if no linux version, maybe XnaToFna can help...)

* can use Steamworks.NET stub

Add support for Burning Knight and similar MonoGame games

May also work for Neurovoider, other MonoGame games without needing to compile a custom.

Note fnaify uses LICENSE erroneously as the launch file.

Steps:

$ fc -l 1 
1       cd /tmp
2       mkdir bk
3       cd bk
4       unzip /home/thfr/Downloads/bk-linux.zip 
5       ls
6       sh ~/cvs/projects/fnaify/fnaify -v -y -c ~/cvs/projects/fnaify/fnaify.dllmap.config
7       mv LICENSE run-game.sh
8       ./run-game.sh 
9       ln -s /usr/lib/libc.so.96.0 libdl.so.2
10      ./run-game.sh 
11      ls
12      mv libSDL2-2.0.0.dylib fnaify-backup/
13      mv libMonoPosixHelper.so fnaify-backup/
14      mv libdiscord-rpc.so fnaify-backup/
15      ./run-game.sh 
16      LD_PRELOAD=/usr/local/lib/libSDL2.so.0.8 ./run-game.sh 
17      ls *.config
18      less *.config
19      ls x64/
20      mv x64/libSDL2-2.0.so.0 fnaify-backup/
21      ln -s /usr/local/lib/libSDL2.so.0.8 x64/libSDL2-2.0.so.0
22      ./run-game.sh 
23      ls x64/
24      rm x64/libopenal.so.1 
25      ln -s /usr/local/lib/libopenal.so.3.1 x64/libopenal.so.1
26      ./run-game.sh

OpenGL rendering issue on Intel Iris driver

Seen with FNA.dll 20.09, 20.08 (with and without FNA3D). Seen in pretty much all tested games: Apple Jack, Rogue Legacy, Chasm.

Setting FNA3D_FORCE_DRIVER=Vulkan doesn't have this problem.
Workarounds:
FNA3D_OPENGL_FORCE_ES3=1
or
FNA3D_OPENGL_FORCE_CORE_PROFILE=1

Seen on Intel i7-10700.

This here appears to be the issue: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3431

=================================================================
    Managed Stacktrace:
=================================================================
     at <unknown> <0xffffffff>
     at Microsoft.Xna.Framework.Graphics.FNA3D:FNA3D_DrawIndexedPrimitives <0x000fe>
     at Microsoft.Xna.Framework.Graphics.GraphicsDevice:DrawIndexedPrimitives <0x000c2>
     at Microsoft.Xna.Framework.Graphics.SpriteBatch:DrawPrimitives <0x00232>
     at Microsoft.Xna.Framework.Graphics.SpriteBatch:PushSprite <0x0022a>
     at Microsoft.Xna.Framework.Graphics.SpriteBatch:Draw <0x002a2>
     at MyFirstGameTutorialSample1.Game1:Draw <0x0190a>
     at Microsoft.Xna.Framework.Game:Tick <0x0075a>
     at Microsoft.Xna.Framework.Game:RunLoop <0x0010a>
     at Microsoft.Xna.Framework.Game:Run <0x000e2>
     at MyFirstGameTutorialSample1.Program:Main <0x0008a>
     at <Module>:runtime_invoke_void_object <0x000b0>
=================================================================
(gdb) bt full
#0  thrkill () at /tmp/-:3
No locals.
#1  0x00000cd724a57aae in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51
        sa = {__sigaction_u = {__sa_handler = 0xcd6b86ada00, __sa_sigaction = 0xcd6b86ada00}, sa_mask = 4294919744, 
          sa_flags = 32639}
        mask = 4294967263
[...]
#5  <signal handler called>
No symbol table info available.
#6  0x00000cd71fcc8f07 in DebugCall (source=33350, type=33360, id=1, severity=33387, length=26, 
    message=0x7f7fffff4e60 "SIMD32 shader inefficient\n", userParam=0x0)
    at /usr/ports/pobj/fna3d-20.09/FNA/lib/FNA3D/src/FNA3D_Driver_OpenGL.c:5259
No locals.
#7  0x00000cd66ef565b0 in ?? () from /usr/X11R6/lib/modules/dri/iris_dri.so
No symbol table info available.
[...]
#19 0x00000cd66ef3190e in ?? () from /usr/X11R6/lib/modules/dri/iris_dri.so
No symbol table info available.
#20 0x00000cd71fcbd1fb in OPENGL_DrawIndexedPrimitives (driverData=0xcd6540e1750, 
    primitiveType=FNA3D_PRIMITIVETYPE_TRIANGLELIST, baseVertex=0, minVertexIndex=0, numVertices=4, startIndex=0, 
    primitiveCount=2, indices=0xcd743442820, indexElementSize=FNA3D_INDEXELEMENTSIZE_16BIT)
    at /usr/ports/pobj/fna3d-20.09/FNA/lib/FNA3D/src/FNA3D_Driver_OpenGL.c:1565
        tps = 0 '\000'
        renderer = 0xcd6540e1750
        buffer = 0xcd743442820
#21 0x00000cd71fcb8d5c in FNA3D_DrawIndexedPrimitives (device=0xcd707d3e400, 
    primitiveType=FNA3D_PRIMITIVETYPE_TRIANGLELIST, baseVertex=0, minVertexIndex=0, numVertices=4, startIndex=0, 
    primitiveCount=2, indices=0xcd743442820, indexElementSize=FNA3D_INDEXELEMENTSIZE_16BIT)
    at /usr/ports/pobj/fna3d-20.09/FNA/lib/FNA3D/src/FNA3D.c:260
[...]

Steel Assault doesn't get past initial screens

Controller 0: X360 Controller, GUID: 5e048e02, Mapping: 030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,
FNA3D Driver: OpenGL
OpenGL Renderer: Mesa Intel(R) Xe Graphics (TGL GT2)
OpenGL Driver: OpenGL ES 3.2 Mesa 21.1.8
OpenGL Vendor: Intel
MojoShader Profile: glsles
Refresh rate: 60
Saving settings...
cant resolve internal call to "SteelAssaultCs.ConsolePorts::PRIVATE_CommitSaveIO" (tested without signature also)

Your mono runtime and class libraries are out of sync.
The out of sync library is: /home/thfr/games/fnaify/steel_assault/Steel_Assault/SteelAssaultCs.exe

When you update one from git you need to update, compile and install
the other too.
Do not report this as a bug unless you're sure you have updated correctly:
you probably have a broken mono install.
If you see other errors or faults after this message they are probably related
and you need to fix your mono install first.
[...]

DwarfCorp runs, but performance is poor

launches with fnaify 2.0-beta from 2019-09-19. In-game, the frame rate is poor, but better than it used to be. That's with SDL2 2.0.10, mojoshader 1214, on the AMD HD 7570 card.

List of non-Steam sources?

The non-Steam locations are at times hard to find. It would make sense to compile a list with links to developer, itch.io, gog.com, and humblebundle pages where DRM-/Steam-free versions can be obtained.

mono 6.10.104: System.ComponentModel.Win32Exception (0x80004005): Access denied

Occurs with Dead Pixels II:

[ERROR] FATAL UNHANDLED EXCEPTION: System.ComponentModel.Win32Exception (0x80004005): Access denied
  at System.Diagnostics.Process.StartWithShellExecuteEx (System.Diagnostics.ProcessStartInfo startInfo) [0x00102] in <b7988013271941cf9ed245902e10a3d2>:0 
  at System.Diagnostics.Process.Start () [0x00032] in <b7988013271941cf9ed245902e10a3d2>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x0001b] in <b7988013271941cf9ed245902e10a3d2>:0 
  at System.Diagnostics.Process.Start (System.String fileName) [0x00006] in <b7988013271941cf9ed245902e10a3d2>:0 
  at csrErrorMessage.ErrorMessage.ShowDialog () [0x0001d] in <33af6af9b22c437f9eabdc00b3f34ac8>:0 
  at DPII.Program+<>c__DisplayClass0_0.<Main>b__0 (System.Object param) [0x00000] in <93a5e38d57264463a2c3d731809cc0c0>:0 
  at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00025] in <2571c3bf945d467593e54e49d871d815>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <2571c3bf945d467593e54e49d871d815>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <2571c3bf945d467593e54e49d871d815>:0 
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <2571c3bf945d467593e54e49d871d815>:0 
  at System.Threading.ThreadHelper.ThreadStart (System.Object obj) [0x0000f] in <2571c3bf945d467593e54e49d871d815>:0

FEZ gamebreaking bug

FEZ exits when leaving the anticube room with the tetris-shaped puzzle. Sometimes with a trace, sometimes not.

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) SDL2.SDL.SDL_GL_CreateContext (intptr) [0x0000c] in <a9ba90109dce4c00a8252247c08a4a41>:0
  at Microsoft.Xna.Framework.Graphics.OpenGLDevice..ctor (Microsoft.Xna.Framework.Graphics.PresentationParameters,Microsoft.Xna.Framework.Graphics.GraphicsAdapter) [0x00143] in <a9ba90109dce4c00a8252247c08a4a41>:0      
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.CreateGLDevice (Microsoft.Xna.Framework.Graphics.PresentationParameters,Microsoft.Xna.Framework.Graphics.GraphicsAdapter) [0x00021] in <a9ba90109dce4c00a8252247c08a4a41>:0  
  at Microsoft.Xna.Framework.Graphics.GraphicsDevice..ctor (Microsoft.Xna.Framework.Graphics.GraphicsAdapter,Microsoft.Xna.Framework.Graphics.GraphicsProfile,Microsoft.Xna.Framework.Graphics.PresentationParameters) [0x000a4] in <a9ba90109dce4c00a8252247c08a4a41>:0
  at Microsoft.Xna.Framework.GraphicsDeviceManager.Microsoft.Xna.Framework.IGraphicsDeviceManager.CreateDevice () [0x000a9] in <a9ba90109dce4c00a8252247c08a4a41>:0
  at Microsoft.Xna.Framework.GraphicsDeviceManager.get_GraphicsDevice () [0x0000b] in <a9ba90109dce4c00a8252247c08a4a41>:0
  at Microsoft.Xna.Framework.Content.ContentManager.GetContentReaderFromXnb (string,System.IO.Stream&,System.IO.BinaryReader,System.Action`1<System.IDisposable>) [0x0018e] in <a9ba90109dce4c00a8252247c08a4a41>:0        
  at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset<T_REF> (string,System.Action`1<System.IDisposable>) [0x00213] in <a9ba90109dce4c00a8252247c08a4a41>:0
  at FezEngine.Tools.SharedContentManager/CommonContentManager.ReadAsset<T_REF> (string) [0x00000] in <5a056033aeeb4741b32c426029866964>:0
  at FezEngine.Tools.SharedContentManager/CommonContentManager.Load<T_REF> (string,string) [0x0007e] in <5a056033aeeb4741b32c426029866964>:0
  at FezEngine.Tools.SharedContentManager.Load<T_REF> (string) [0x00014] in <5a056033aeeb4741b32c426029866964>:0
  at FezGame.Components.SplitUpCubeHost.RefreshSounds () [0x00067] in <17c795b28e00420dbe494c0ec426f378>:0   
  at FezGame.Components.SplitUpCubeHost.TryInitialize () [0x003a9] in <17c795b28e00420dbe494c0ec426f378>:0   
  at (wrapper delegate-invoke) <Module>.invoke_void () [0x0006c] in <5a1c7002b60243af99acfef34e4b1cc1>:0     
  at FezEngine.Services.LevelManager.OnLevelChanged () [0x00000] in <5a056033aeeb4741b32c426029866964>:0     
  at FezGame.Services.GameLevelManager.ChangeLevel (string) [0x00b52] in <17c795b28e00420dbe494c0ec426f378>:0
  at FezGame.Components.Actions.EnterDoor.DoLoad (bool) [0x00006] in <17c795b28e00420dbe494c0ec426f378>:0    
  at FezEngine.Tools.Worker`1<bool>.Act () [0x00000] in <5a056033aeeb4741b32c426029866964>:0                 
  at FezEngine.Tools.PersistentThread.DoActualWork () [0x0002c] in <5a056033aeeb4741b32c426029866964>:0      
  at Common.Logger.Try (System.Action) [0x00000] in <f7a6cc600a974ee9a6b21d6cfcfe354d>:0                     
  at FezEngine.Tools.PersistentThread.DoWork () [0x00000] in <5a056033aeeb4741b32c426029866964>:0            
  at System.Threading.ThreadHelper.ThreadStart_Context (object) [0x00014] in <5a1c7002b60243af99acfef34e4b1cc1>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00071] in <5a1c7002b60243af99acfef34e4b1cc1>:0                                      
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in <5a1c7002b60243af99acfef34e4b1cc1>:0                                              
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object) [0x0002b] in <5a1c7002b60243af99acfef34e4b1cc1>:0                                                   
  at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <5a1c7002b60243af99acfef34e4b1cc1>:0          
  at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) [0x0001e] in <5a1c7002b60243af99acfef34e4b1cc1>:0

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

Abort trap (core dumped)

chasm from GOG

I bought chasm on GOG, used innoextract on it and run fnaify and when running run_game.sh I get this error.

This is with latest fnaify.

Started
Arguments [0]
Game Intialize
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'Galaxy.Api.GalaxyInstancePINVOKE' threw an exception. ---> System.TypeInitializationException: The type initializer for 'SWIGExceptionHelper' threw an exception. ---> System.DllNotFoundException: GalaxyCSharpGlue assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) Galaxy.Api.GalaxyInstancePINVOKE+SWIGExceptionHelper.SWIGRegisterExceptionCallbacks_GalaxyInstance(Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate,Galaxy.Api.GalaxyInstancePINVOKE/SWIGExceptionHelper/ExceptionDelegate)
  at Galaxy.Api.GalaxyInstancePINVOKE+SWIGExceptionHelper..cctor () [0x000ee] in <a51950d6b84c43bf9511c824fadceb3e>:0 
   --- End of inner exception stack trace ---
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at Galaxy.Api.GalaxyInstancePINVOKE..cctor () [0x00000] in <a51950d6b84c43bf9511c824fadceb3e>:0 
   --- End of inner exception stack trace ---
  at Galaxy.Api.InitParams..ctor (System.String _clientID, System.String _clientSecret) [0x00000] in <a51950d6b84c43bf9511c824fadceb3e>:0 
  at Chasm.Platforms.GOG.GogPlatform.Initialize (Microsoft.Xna.Framework.GraphicsDeviceManager graphics) [0x0005b] in <c296f0d771584322ba5b8bd1a101933a>:0 
  at Chasm.ChasmGame.StartupInit () [0x0001f] in <c296f0d771584322ba5b8bd1a101933a>:0 
  at Chasm.ChasmGame.Initialize () [0x00005] in <c296f0d771584322ba5b8bd1a101933a>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x00039] in <d34726d5aed645fba8d57652c37aa996>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x0000e] in <d34726d5aed645fba8d57652c37aa996>:0 
  at Chasm.Program.Main (System.String[] args) [0x00115] in <c296f0d771584322ba5b8bd1a101933a>:0 

mono 6.10.0.104: System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.

Occurs with Explosionade:

NOTE: if game should unexpectedly fail to start, make sure datasize limit is high enough. AT LEAST 2G are recommended for most games. See ksh(1) for ulimit command documentation
Controller 0: XBox360 Controller
IGLDevice: OpenGLDevice
OpenGL Device: Mesa DRI Intel(R) UHD Graphics (Comet Lake 3x8 GT2) 
OpenGL Driver: 3.0 Mesa 19.2.8
OpenGL Vendor: Intel Open Source Technology Center
MojoShader Profile: glsl120
EXT_swap_control_tear unsupported. Fall back to standard VSync.
Audio loading. GCMem: 7603024

Audio finished loading. GCMem: 35234328

IGLDevice: OpenGLDevice
OpenGL Device: Mesa DRI Intel(R) UHD Graphics (Comet Lake 3x8 GT2) 
OpenGL Driver: 3.0 Mesa 19.2.8
OpenGL Vendor: Intel Open Source Technology Center
MojoShader Profile: glsl120
EXT_swap_control_tear unsupported. Fall back to standard VSync.

Unhandled Exception:
System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
  at System.String.Remove (System.Int32 startIndex) [0x00004] in <2571c3bf945d467593e54e49d871d815>:0 
  at CrashDebugGame.Draw (Microsoft.Xna.Framework.GameTime gameTime) [0x00099] in <3b32f1c76a6b474798cb9449035f29e1>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x0028d] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00800] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00037] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Program.Main (System.String[] args) [0x000b9] in <3b32f1c76a6b474798cb9449035f29e1>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
  at System.String.Remove (System.Int32 startIndex) [0x00004] in <2571c3bf945d467593e54e49d871d815>:0 
  at CrashDebugGame.Draw (Microsoft.Xna.Framework.GameTime gameTime) [0x00099] in <3b32f1c76a6b474798cb9449035f29e1>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x0028d] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00800] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00037] in <36e5a90e12ad49b3bfbbf66b82740466>:0 
  at Program.Main (System.String[] args) [0x000b9] in <3b32f1c76a6b474798cb9449035f29e1>:0 

MissingFieldException: long .vorbis_info.rate - Gnomoria and Shipwreck

These 2 errors remain after exchanging the FNA.dll to mitigate the PtrToStringAnsi error.

1.)
Error reading Character_WindowPos Error reading SendMerchant_WindowPos Error reading Faction_WindowPos Error reading Butcher_WindowPos Error reading MarketStall_WindowPos Error reading Workshop_WindowPos Error reading Help_WindowPos Error reading Kingdom_WindowPos Error reading Military_WindowPos Error reading Population_WindowPos Error reading Notification_WindowPos Error reading Stock_WindowPos Error reading Stockpile_WindowPos

2.)
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method 'Microsoft.Xna.Framework.Graphics.Texture2D.TextureDataFromStreamEXT' not found. at Microsoft.Xna.Framework.Content.ContentTypeReader``1[T].Read (Microsoft.Xna.Framework.Content.ContentReader input, System.Object existingInstance) [0x00003] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentReader.InnerReadObject[T] (T existingInstance) [0x00022] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T] (T existingInstance) [0x00000] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T] () [0x00000] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T] () [0x00006] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T] (System.String assetName, System.Action``1[T] recordDisposableObject) [0x001ee] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Content.ContentManager.Load[T] (System.String assetName) [0x0005a] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Game.GUI.Controls.Skin.Init () [0x0013d] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GUI.Controls.Manager.SetSkin (Game.GUI.Controls.Skin skin) [0x00050] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GUI.Controls.Manager.SetSkin (System.String name) [0x00008] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GUI.Controls.Manager.Initialize () [0x00061] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GUI.GuiManager.Initialize () [0x00000] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GUI.GuiManager..ctor () [0x00046] in <be153375703e40fa8f9e8d76280ab84f>:0 at Game.GnomanEmpire.Initialize () [0x0002c] in <be153375703e40fa8f9e8d76280ab84f>:0 at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000d] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Game.Run () [0x0000e] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Game.Program.Main (System.String[] args) [0x00006] in <be153375703e40fa8f9e8d76280ab84f>:0

OpenBSD 7.0: Rogue Legacy - Steam version

When on OpenBSD 7.0, fnaify cannot find libSteamworksNativeWrapper.so even though this library gets pulled as a dependency of fnaify.

How to reproduce:

$ python3 -m venv venv
$ . venv/bin/activate                              # Note the dot and the space
$ pip install steamctl                             # feel free to work around this if you don't trust pip packages
$ DIR=rogue_legacy; mkdir $DIR && cd $DIR
$ steamctl --user <user> depot download -a 241600  # 241600 is rogue legacy app ID
<follow login prompts>
$ fnaify -i

This should leave you with a very simple output:

Performing setup (mode: i) ...

Could not find the following libraries:

                libSteamworksNativeWrapper.so

Did I miss something? I tried to help the script by creating a few helper symlinks from local dir, library subdirs and from /usr/lib/ and /usr/local/lib/, but none had effect on the search.

Here is a more verbose output:

$ fnaify -iv
options:        -iv
OPTIND: 2
options after shift:

Performing setup (mode: i) ...
Checking mono and monodis
gamedir: /home/dormouse/Games/rogue_legacy
Setting up the framework files
        framework file:                 /home/dormouse/Games/rogue_legacy/FNA.dll
        framework version:      20.12.0.0
Identifying config files...
        found config file: FNA.dll.config
        found config file: SteamworksWrapper.dll.config
Done identifying config files.

Identifying libraries required by the game...
---------------------------------------------


Entering library directory /home/dormouse/Games/rogue_legacy/lib64
        found library file: libFAudio.so.0 -> libFAudio.so
        found library file: libFNA3D.so.0 -> libFNA3D.so
        found library file: libSDL2-2.0.so.0 -> libSDL2.so
        found library file: libSteamworksNativeWrapper.so -> libSteamworksNativeWrapper.so
        ignored file: libsteam_api.so
Done with library directory /home/dormouse/Games/rogue_legacy/lib64

Couldn't find library directory /home/dormouse/Games/rogue_legacy/lib


Couldn't find library directory /home/dormouse/Games/rogue_legacy/x64


Couldn't find library directory /home/dormouse/Games/rogue_legacy/x86

Obtaining library names from the following config files
        FNA.dll.config
                Found library string: libSDL2-2.0.so.0 -> libSDL2.so - already in array
                Found library string: libFNA3D.so.0 -> libFNA3D.so - already in array
                Found library string: libFAudio.so.0 -> libFAudio.so - already in array
        SteamworksWrapper.dll.config
                Found library string: libSteamworksNativeWrapper.so -> libSteamworksNativeWrapper.so - already in array
Done with identifying libraries in config files
Done with identification of needed libraries.
Fixing libpng filenames if present... done.

Checking installed libraries...
        found library for: libFAudio.so
        found library for: libFNA3D.so
        found library for: libSDL2.so
        Not found: libSteamworksNativeWrapper.so
done.


Could not find the following libraries:

                libSteamworksNativeWrapper.so


FMOD use - dead end?

Present in:

  • Tooth and Tail
  • Celeste*
  • Full Metal Furies (reportedly)
  • Fossil Echo*
  • Reus
  • Bastion*
  • Transistor
  • likely Pyre
  • The Swapper

Possible solutions:

  • could be *stubbed...

FNA games so far not tested (feel free to help out)

Anyone who wants to help with fnaify development can help by testing the games on this list and reporting here or to me in PM/email if they work:

  • Blueberry Garden
  • CometStriker
  • CraftStudio
  • Dead Pixels 2
  • Full Metal Furies (uses FMOD)
  • Hive
  • Hybrid Beasts
  • Interloper
  • Khet 2.0
  • Quadrilateral Cowboy (Art Book)
  • Reversi
  • Simply Chess
  • Solaroids: Prologue
  • Tatsu
  • Timespinner
  • Tooth and Tail (uses FMOD)
  • We Are Legion

(source: http://www.flibitijibibo.com/index.php?page=Portfolio/Tools)

Special instruction for Sword of the stars

The game is looking for Content/ui repertory and not the Content/UI that comes from the installer. Creating a symbolic link works.

ln -s UI Content/ui

The game also requires MONO_FORCE_COMPAT=yes to run correctly.

Help wanted: extended runtime testing requests

There are several games with workarounds from fnaify that allow it to launch and run on brief testing; however, it's unclear if all cases are covered for the entirety of the game.

The following is a list of these games. Extended testing would be greatly appreciated, completion even more! And don't forget to report crashes or bugs if they could be related to fnaify/OpenBSD/latest mono.

I can't offer any material rewards, but if you report on

  • completion of one of these games (with or without finding and fixing bugs in the process), or
  • advancing until an unfixable bug prevents further progression (please report here and help test possible fixes)

then I will mention you in a future OpenBSD gaming/PlayOnBSD video (see my channel) by name and/or nickname, and add you to acknowledgements in the https://github.com/rfht/fnaify/blob/master/README.md. This way you can be part of OpenBSD/*BSD gaming history! Of course, this needs to be done on OpenBSD! Playing the game on Mac/Linux/Windows doesn't count!

(Note: this list will be updated as games are confirmed fixed; or new games of interest are added.)

  • Apple Jack 1&2 (mono >=6)
  • Camera Obscura (mono >=6)
  • Celeste (mono >= 6.10)
  • Cthulhu Saves the World (mono >=6)
  • FEZ (ideally with FNA3D once that has been added)
  • Grand Class Melee 2 (mono >= 6. Looks like a lot more symlinks are needed. The task would be to find as many of them as possible)
  • LaserCat (mono >=6)
  • Mount Your Friends (mono >=6)
  • One Finger Death Punch (mono >=6)
  • Phoenix Force (mono >=6)
  • Sword of the Stars: The Pit (mono >=6)

MidBoss: Crash on displaying death certificate

Generating death card
System.MissingMethodException: intptr SDL2.SDL.SDL_RWFromMem(byte[],int)
  at MidBoss.Graphics.DeathCard.Card.Generate (Microsoft.Xna.Framework.Graphics.Texture2D source, MidBoss.Graphics.DeathCard.DeathCardInfo info, MidBoss.Graphics.DeathCard.CardTheme theme) [0x00237] in <7ee683f029774f099ba8eebfbf813af7>:0 
  at MidBoss.GameModes.DeathCardMode.GenerateCard () [0x00046] in <7ee683f029774f099ba8eebfbf813af7>:0 
  at MidBoss.GameModes.DeathCardMode.LoadContent (System.TimeSpan totalGameTime) [0x0016b] in <7ee683f029774f099ba8eebfbf813af7>:0 
  at Indigo.Framework.Xna.GameManager.ActivateMode (System.TimeSpan currentTime) [0x0006b] in <b443ebe5f34a4399904e6ad9c6a39bb1>:0 
  at MidBoss.Manager.ActivateMode (System.TimeSpan currentTime) [0x0000f] in <7ee683f029774f099ba8eebfbf813af7>:0 
  at Indigo.Framework.Xna.GameManager.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x000dc] in <b443ebe5f34a4399904e6ad9c6a39bb1>:0 
  at MidBoss.Manager.Update (Microsoft.Xna.Framework.GameTime gameTime) [0x0007c] in <7ee683f029774f099ba8eebfbf813af7>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x00208] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00680] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x0002f] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at MidBoss.Program.Main (System.String[] args) [0x00439] in <7ee683f029774f099ba8eebfbf813af7>:0 

IComparer.Compare() error breaks Terraria (launch) and Blueberry Garden

Window opens with error message:

System.ArgumentException: Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'System.Comparison``1[System.Int32]'.
  at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer (System.Object comparer) [0x0000b] in <d3b61d05e0d14bda9e0d978e561956eb>:0 
  at System.Collections.Generic.ArraySortHelper``1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Comparison``1[T] comparer) [0x0000f] in <d3b61d05e0d14bda9e0d978e561956eb>:0 
  at System.Collections.Generic.List``1[T].Sort (System.Comparison``1[T] comparison) [0x00018] in <d3b61d05e0d14bda9e0d978e561956eb>:0 
  at Terraria.UI.ItemSorting+ItemSortingLayers+<>c.<.cctor>b__40_108 (Terraria.UI.ItemSorting+ItemSortingLayer layer, Terraria.Item[] inv, System.Collections.Generic.List``1[T] itemsToSort) [0x00065] in <656615216c7c4289b27347cde9255acc>:0 
  at Terraria.UI.ItemSorting.SetupWhiteLists () [0x0021b] in <656615216c7c4289b27347cde9255acc>:0 
  at Terraria.Main.ClientInitialize () [0x001aa] in <656615216c7c4289b27347cde9255acc>:0 
  at Terraria.Main.Initialize () [0x0640a] in <656615216c7c4289b27347cde9255acc>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000d] in <7ff45bf12adb4fa788baf2c3b3fc2840>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x0000e] in <7ff45bf12adb4fa788baf2c3b3fc2840>:0 
  at Terraria.Program.LaunchGame (System.String[] args, System.Boolean monoArgs) [0x00092] in <656615216c7c4289b27347cde9255acc>:0

This has something to do with a value not passing a comparison test per my prior research. Not sure how to fix.

Games requiring libSteamworksNative.so

List of games requiring libSteamworksNative.so:

  • Hive - maybe raise the issue here...?
  • Fist Puncher - still need to check DRM-free GOG.com version- runs with stub, also GOG.com version available -> GOG version runs fine without the stub!
  • Khet 2.0

Games checking CSteamworks on launch

List:

  • Curse of the Crescent Isle DX - fixed with version 1.5!
  • River City Ransom: Underground - no check if starting with --nosteam (also good to know about --nogalaxy which prevents check for GOG.com's Galaxy launcher/overlay)
  • Super Rad Raygun (doesn't get past loading screen) - raised issue on steam forums - can run with simple stub

mono 6.10: System.String.Remove: StartIndex cannot be less than zero

breaks Game Type:

Controller 0: XBox360 Controller
IGLDevice: OpenGLDevice
OpenGL Device: Mesa DRI Intel(R) UHD Graphics (Comet Lake 3x8 GT2) 
OpenGL Driver: 3.0 Mesa 19.2.8
OpenGL Vendor: Intel Open Source Technology Center
MojoShader Profile: glsl120
EXT_swap_control_tear unsupported. Fall back to standard VSync.
Audio loading. GCMem: 8784576

Audio finished loading. GCMem: 16251480

IGLDevice: OpenGLDevice
OpenGL Device: Mesa DRI Intel(R) UHD Graphics (Comet Lake 3x8 GT2) 
OpenGL Driver: 3.0 Mesa 19.2.8
OpenGL Vendor: Intel Open Source Technology Center
MojoShader Profile: glsl120
EXT_swap_control_tear unsupported. Fall back to standard VSync.

Unhandled Exception:
System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
  at System.String.Remove (System.Int32 startIndex) [0x00004] in <2571c3bf945d467593e54e49d871d815>:0 
  at CrashDebugGame.Draw (Microsoft.Xna.Framework.GameTime gameTime) [0x00099] in <a969ce21ece14465a48ab55d3d6b5476>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x0028d] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00800] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00037] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Program.Main (System.String[] args) [0x000b9] in <a969ce21ece14465a48ab55d3d6b5476>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
  at System.String.Remove (System.Int32 startIndex) [0x00004] in <2571c3bf945d467593e54e49d871d815>:0 
  at CrashDebugGame.Draw (Microsoft.Xna.Framework.GameTime gameTime) [0x00099] in <a969ce21ece14465a48ab55d3d6b5476>:0 
  at Microsoft.Xna.Framework.Game.Tick () [0x0028d] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x00800] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00037] in <6199c9477cd64a7dbea28b924b7db101>:0 
  at Program.Main (System.String[] args) [0x000b9] in <a969ce21ece14465a48ab55d3d6b5476>:0 

Rex Rocket: fails to launch with old or new FNA.dll

System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Microsoft.Xna.Framework.Graphics.OpenGLDevice+<GenRenderbuffer>c__AnonStorey11.<>m__0 () [0x00076] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.Graphics.OpenGLDevice.ForceToMainThread (System.Action action) [0x00022] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.Graphics.OpenGLDevice.GenRenderbuffer (System.Int32 width, System.Int32 height, Microsoft.Xna.Framework.Graphics.DepthFormat format, System.Int32 multiSampleCount) [0x00031] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.Graphics.RenderTarget2D..ctor (Microsoft.Xna.Framework.Graphics.GraphicsDevice graphicsDevice, System.Int32 width, System.Int32 height, System.Boolean mipMap, Microsoft.Xna.Framework.Graphics.SurfaceFormat preferredFormat, Microsoft.Xna.Framework.Graphics.DepthFormat preferredDepthFormat, System.Int32 preferredMultiSampleCount, Microsoft.Xna.Framework.Graphics.RenderTargetUsage usage) [0x0009a] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at SIDIOUS.Game1.LoadContent () [0x00395] in <8c8d175094944e1c974389b2489ebea0>:0 
  at Microsoft.Xna.Framework.Game.Initialize () [0x0005f] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at SIDIOUS.Game1.Initialize () [0x000b9] in <8c8d175094944e1c974389b2489ebea0>:0 
  at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000d] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at Microsoft.Xna.Framework.Game.Run () [0x00011] in <1228ed57c8bd40ccbca8b36912bbc9f3>:0 
  at SIDIOUS.Program.Main (System.String[] args) [0x00006] in <8c8d175094944e1c974389b2489ebea0>:0 

mono 6 MONO_IOMAP fallout

Seems like many XNA and some FNA games are now broken with mono 6 because the filepaths don't match thanks to MONO_IOMAP removal. There is currently no general fix for it.

Issue has been raised upstream 1 2.

This post is meant to list games affected and track possible workarounds or solutions.

  • Dead Pixels (symlink workaround by brynet) - only successfully worked with itch.io version 1.3.6
  • Sword of the Stars: The Pit (see #38 for workaround) 9837f15
  • Wizorb - no solutions for backslashes \ yet
  • Grand Class Melee 2 19e443c
  • Cthulhu Saves the World 6aca68a

Axiom Verge instructions

Axiom Verge is a special case because the only DRM-free version known to me is the physical copy in the form of the Collector's Edition from indiebox/gametrust. The best way to get this to run is to unzip, copy @0x0ade's XnaToFna release files into the game directory, tweak the config file (os and library names), run LD_LIBRARY_PATH=/usr/local/lib mono XnaToFna.exe, and then start the game with mono AxiomVerge.exe.

Instructions should be referenced in the README.md. If XnaToFna hosts the FNA.dll.config, should suggest adding os/library names as needed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.