0x0ade / xnatofna Goto Github PK
View Code? Open in Web Editor NEWRelink games / tools using the XNA Framework 4.0 to use FNA instead
License: zlib License
Relink games / tools using the XNA Framework 4.0 to use FNA instead
License: zlib License
Hello, sorry I'm not sure if I'm in the right place. I've been searching high and low to find a way to play some Xbox live indie arcade games i legally purchased and backed up to my Pc. Is this possible?
I'm gettting this error when following all of the listed steps and running 'mono XnaToFna.exe'
OpenAL not found! Need FNA.dll.config? [ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: libopenal.1.dylib assembly:<unknown assembly> type:<unknown type> member:(null) at Microsoft.Xna.Framework.SDL2_FNAPlatform.CreateALDevice () [0x00017] in <977d36b13989433f88cdf1bdfc82f48c>:0 at Microsoft.Xna.Framework.Audio.AudioDevice.Initialize () [0x00038] in <977d36b13989433f88cdf1bdfc82f48c>:0 at Microsoft.Xna.Framework.FrameworkDispatcher.Update () [0x0000d] in <977d36b13989433f88cdf1bdfc82f48c>:0 at Microsoft.Xna.Framework.Game..ctor () [0x00108] in <977d36b13989433f88cdf1bdfc82f48c>:0 at XnaToFna.ContentHelperGame..ctor () [0x0000b] in <c1d3521dc7e94c43b430d28cc69450a3>:0 at XnaToFna.XnaToFnaUtil.UpdateContent () [0x00019] in <c1d3521dc7e94c43b430d28cc69450a3>:0 at XnaToFna.Program.Main (System.String[] args) [0x004bd] in <c1d3521dc7e94c43b430d28cc69450a3>:0
I'm using Mono JIT compiler version 6.6.0.155.
After my success with Duck Game, I tried to run Cthulhu Saves the World on OpenBSD. mono XnaToFna.exe
runs fine (after adjusting the FNA.dll.config), and I notice that it recodes the video/music files. However, when trying to start, I get:
[ERROR] FATAL UNHANDLED EXCEPTION: Microsoft.Xna.Framework.Content.ContentLoadException: Could not load asset Movies/CSTW_intro2! Error: The content file was not found. ---> Microsoft.Xna.Framework.Content.ContentLoadException: The content file was not found. ---> System.IO.FileNotFoundException: Could not find file
"/home/thfr/games/fna/xnatofna/cthulhu_saves_the_world/Cthulhu Saves the World/Content/Movies/CSTW_intro2.xnb"
and a 'find . -iname "*_" shows a few dozen files in Movies
and Music
directories with the xnb_
suffix.
Is it supposed to be like this? Am I missing something here?
As part of the Proton project, Steam now has a system set up for "compatibility tools", allowing games marked for one OS to run on another using an arbitrary program. The common case is Wine, but it is possible for other tools to run Windows-only depots, for example steam-dos:
https://github.com/dreamer/steam-dos
It should be possible to develop a compatibility tool that provides FNA (including FNA.NetStub and the ABI files) and XnaToFna. We can optionally provide the ability to convert WMA/WMV via a system FFmpeg installation.
The current WIP can be found here:
https://github.com/0x0ade/XnaToFna/tree/master/rhys
The checklist:
rhys
script
MONO_IOMAP=all
, MONO_PATH
to FNA bins, LD_LIBRARY_PATH
to fnalibsmono
Note that this does NOT replace the Proton FNA work; many games will never be compatible with Steam-FNA due to C++/CLI binaries, really bad native interop in game engines, and so on.
Games of Interest (WMA/WMV/xWMA Included):
Blocked by Win32 Stuff:
Blocked by DInput:
Blocked by C++/CLI:
Blocked by Who Knows
Made a new stub DLL for the networking stuff, based on FNA.Steamworks:
https://github.com/FNA-XNA/FNA.NetStub
In addition to being cleaner than MonoGame.Net it's also more complete - it has 100% of the public-facing API and even the extensions I added to FNA.Steamworks!
Hi,
I've been trying XnaToFna out some lately and there is a repeated issue that showed up where XnaToFna aborts during [ContentHelper] [UpdateWaveBank]
:
[XnaToFna] [ContentHelper] [UpdateWaveBank] Updating wave bank /home/thfr/games/fna/xnatofna/dlc_quest/DLC Quest/Content/base/audio/wb.xwb [ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Non-negative number required. Parameter name: count at System.IO.BinaryReader.ReadBytes (System.Int32 count) [0x00016] in <d3b61d05e0d14bda9e0d978e561956eb>:0 at XnaToFna.XnaToFnaExt.ReadBytesUntil (System.IO.BinaryReader reader, System.Int64 position) [0x0000d] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.ContentHelper.UpdateWaveBank (System.String path, System.IO.BinaryReader reader, System.IO.BinaryWriter writer) [0x003fe] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.ContentHelper.PatchContent (System.String path, System.Action3[T1,T2,T3] patcher, System.Boolean writeToTmp, System.String pathOutput) [0x00053] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.ContentHelper.UpdateContent (System.String path, System.Boolean patchXNB, System.Boolean patchXACT, System.Boolean patchWindowsMedia) [0x00027] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.XnaToFnaUtil.<UpdateContent>b__62_0 () [0x0001f] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.ContentHelperGame.Initialize () [0x00023] in <d78877a5c52c41829df4feaac055547e>:0 at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000d] in <8447c3557eec45c5911d5f3fef8fe117>:0 at Microsoft.Xna.Framework.Game.Run () [0x0000e] in <8447c3557eec45c5911d5f3fef8fe117>:0 at XnaToFna.XnaToFnaUtil.UpdateContent () [0x00057] in <d78877a5c52c41829df4feaac055547e>:0 at XnaToFna.Program.Main (System.String[] args) [0x0047f] in <d78877a5c52c41829df4feaac055547e>:0 AL lib: (EE) alc_cleanup: 1 device not closed
Occurs with:
If I remove the .xwb
file before running XnaToFna and replace it later (unchanged), the following error occurs:
[ERROR] FATAL UNHANDLED EXCEPTION: System.NotSupportedException: Rebuild your WaveBanks with ADPCM!
Any thoughts on what might be causing this? Why there might be a negative number in the wrong place, with wavebank file?
Note: this is all on OpenBSD, but didn't strike me as something platform-related... if you feel otherwise I'll gladly try this on Ubuntu to see if the result is the same.
Hi,
I understand that XnaToFna is a moving target right now, but I can't build the latest check out anymore and am wondering if I'm missing build system requirements if you guys still build it successfully.
The error seems to be related to langversion 7.3 not begin detected. Replacing those with 7.2 leads to a long list of other errors (let me know if you want to see a log of that).
Build System:
$ msbuild XnaToFna.csproj
Microsoft (R) Build Engine version 15.1.8.0 ( Wed Sep 5 19:27:37 UTC 2018) for Mono
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 10/5/2018 9:15:09 PM.
Project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" on node 1 (default targets).
PrepareForBuild:
Creating directory "bin/Debug/".
Creating directory "obj/Debug/".
Project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" (1) is building "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.csproj" (2:2) on node 1 (default targets).
GenerateTargetFrameworkMonikerAttribute:
Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files.
CoreCompile:
Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files.
_CopyOutOfDateSourceItemsToOutputDirectoryAlways:
Copying file from "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.dll.config" to "bin/Debug/FNA.dll.config".
CopyFilesToOutputDirectory:
FNA -> /home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/bin/Debug/FNA.dll
Done Building Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.csproj" (default targets).
Project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" (1) is building "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj" (3:2) on node 1 (default targets).
Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj" (3:2) is building "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj" (4:3) on node 1 (default targets).
CoreCompile:
/usr/lib/mono/msbuild/15.0/bin/Roslyn/csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyva- /reference:/usr/lib/mono/2.0-api/mscorlib.dll /reference:/usr/lib/mono/2.0-api/System.Core.dll /reference:/usr/lib/mono/2.0-api/System.dll /debug+ /debug:portable /filealign:512 /optimize- /out:obj/Debug/MonoMod.Utils.dll /target:library /utf8output /langversion:7.3 ../MonoMod/Properties/AssemblyInfo.Common.cs DynamicMethodDefinition.cs DynamicMethodHelper.cs DynDll.cs Extensions.cs LimitedStream.cs ModInterop/ModExportName.cs ModInterop/ModImportName.cs MonoMod__OldName__.cs MonoModExt.cs Platform.cs PlatformHelper.cs Properties/AssemblyInfo.cs FastReflectionHelper.cs RelinkFailedException.cs RelinkTargetNotFoundException.cs StringInjectExtension.cs ModInterop/ModInteropManager.cs
CSC : error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values. [/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj]
Done Building Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj" (default targets) -- FAILED.
Done Building Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj" (default targets) -- FAILED.
Done Building Project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" (default targets) -- FAILED.
Build FAILED.
"/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" (default target) (1) ->
"/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj" (default target) (3:2) ->
"/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj" (default target) (4:3) ->
(CoreCompile target) ->
CSC : error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values. [/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.94
$ xbuild XnaToFna.csproj
>>>> xbuild tool is deprecated and will be removed in future updates, use msbuild instead <<<<
XBuild Engine Version 14.0
Mono, Version 5.14.0.177
Copyright (C) 2005-2013 Various Mono authors
Build started 10/5/2018 9:16:31 PM.
__________________________________________________
Project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj" (default target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: AnyCPU
Target ResolveProjectReferences:
Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.csproj" (default target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: x86
Target CopyNonResxEmbeddedResources:
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/AlphaTestEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.AlphaTestEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/BasicEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.BasicEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/DualTextureEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.DualTextureEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/EnvironmentMapEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.EnvironmentMapEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/SkinnedEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.SkinnedEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/StockEffects/FXB/SpriteEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.SpriteEffect.fxb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/src/Graphics/Effect/YUVToRGBA/YUVToRGBAEffect.fxb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.YUVToRGBA.YUVToRGBAEffect.fxb'
Target GenerateSatelliteAssemblies:
No input files were specified for target GenerateSatelliteAssemblies, skipping.
Target CoreCompile:
Tool /usr/lib/mono/4.5/csc.exe execution started with arguments: /noconfig /debug:full /debug:portable /optimize- /out:obj/x86/Debug/FNA.dll /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.AlphaTestEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.AlphaTestEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.BasicEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.BasicEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.DualTextureEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.DualTextureEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.EnvironmentMapEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.EnvironmentMapEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.SkinnedEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.SkinnedEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.StockEffects.FXB.SpriteEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.SpriteEffect.fxb /resource:obj/x86/Debug/Microsoft.Xna.Framework.src.Graphics.Effect.YUVToRGBA.YUVToRGBAEffect.fxb,Microsoft.Xna.Framework.Graphics.Effect.Resources.YUVToRGBAEffect.fxb src/Audio/AudioCategory.cs src/Audio/AudioChannels.cs src/Audio/AudioEmitter.cs src/Audio/AudioEngine.cs src/Audio/AudioListener.cs src/Audio/AudioStopOptions.cs src/Audio/Cue.cs src/Audio/DynamicSoundEffectInstance.cs src/Audio/InstancePlayLimitException.cs src/Audio/Microphone.cs src/Audio/MicrophoneState.cs src/Audio/NoAudioHardwareException.cs src/Audio/NoMicrophoneConnectedException.cs src/Audio/RendererDetail.cs src/Audio/SoundBank.cs src/Audio/SoundEffect.cs src/Audio/SoundEffectInstance.cs src/Audio/SoundState.cs src/Audio/WaveBank.cs src/BoundingBox.cs src/BoundingFrustum.cs src/BoundingSphere.cs src/Color.cs src/ContainmentType.cs src/Content/ContentExtensions.cs src/Content/ContentLoadException.cs src/Content/ContentManager.cs src/Content/ContentReader.cs src/Content/ContentReaders/AlphaTestEffectReader.cs src/Content/ContentReaders/ArrayReader.cs src/Content/ContentReaders/BasicEffectReader.cs src/Content/ContentReaders/BooleanReader.cs src/Content/ContentReaders/BoundingBoxReader.cs src/Content/ContentReaders/BoundingFrustumReader.cs src/Content/ContentReaders/BoundingSphereReader.cs src/Content/ContentReaders/ByteReader.cs src/Content/ContentReaders/CharReader.cs src/Content/ContentReaders/ColorReader.cs src/Content/ContentReaders/CurveReader.cs src/Content/ContentReaders/DateTimeReader.cs src/Content/ContentReaders/DecimalReader.cs src/Content/ContentReaders/DictionaryReader.cs src/Content/ContentReaders/DoubleReader.cs src/Content/ContentReaders/DualTextureEffectReader.cs src/Content/ContentReaders/EffectMaterialReader.cs src/Content/ContentReaders/EffectReader.cs src/Content/ContentReaders/EnumReader.cs src/Content/ContentReaders/EnvironmentMapEffectReader.cs src/Content/ContentReaders/ExternalReferenceReader.cs src/Content/ContentReaders/IndexBufferReader.cs src/Content/ContentReaders/Int16Reader.cs src/Content/ContentReaders/Int32Reader.cs src/Content/ContentReaders/Int64Reader.cs src/Content/ContentReaders/ListReader.cs src/Content/ContentReaders/MatrixReader.cs src/Content/ContentReaders/ModelReader.cs src/Content/ContentReaders/NullableReader.cs src/Content/ContentReaders/PlaneReader.cs src/Content/ContentReaders/PointReader.cs src/Content/ContentReaders/QuaternionReader.cs src/Content/ContentReaders/RayReader.cs src/Content/ContentReaders/RectangleReader.cs src/Content/ContentReaders/ReflectiveReader.cs src/Content/ContentReaders/SByteReader.cs src/Content/ContentReaders/SingleReader.cs src/Content/ContentReaders/SkinnedEffectReader.cs src/Content/ContentReaders/SongReader.cs src/Content/ContentReaders/SoundEffectReader.cs src/Content/ContentReaders/SpriteFontReader.cs src/Content/ContentReaders/StringReader.cs src/Content/ContentReaders/Texture2DReader.cs src/Content/ContentReaders/Texture3DReader.cs src/Content/ContentReaders/TextureCubeReader.cs src/Content/ContentReaders/TextureReader.cs src/Content/ContentReaders/TimeSpanReader.cs src/Content/ContentReaders/UInt16Reader.cs src/Content/ContentReaders/UInt32Reader.cs src/Content/ContentReaders/UInt64Reader.cs src/Content/ContentReaders/Vector2Reader.cs src/Content/ContentReaders/Vector3Reader.cs src/Content/ContentReaders/Vector4Reader.cs src/Content/ContentReaders/VertexBufferReader.cs src/Content/ContentReaders/VertexDeclarationReader.cs src/Content/ContentReaders/VideoReader.cs src/Content/ContentSerializerAttribute.cs src/Content/ContentSerializerCollectionItemNameAttribute.cs src/Content/ContentSerializerIgnoreAttribute.cs src/Content/ContentSerializerRuntimeTypeAttribute.cs src/Content/ContentSerializerTypeVersionAttribute.cs src/Content/ContentTypeReader.cs src/Content/ContentTypeReaderManager.cs src/Content/LzxDecoder.cs src/Content/ResourceContentManager.cs src/Curve.cs src/CurveContinuity.cs src/CurveKey.cs src/CurveKeyCollection.cs src/CurveLoopType.cs src/CurveTangent.cs src/Design/BoundingBoxConverter.cs src/Design/BoundingSphereConverter.cs src/Design/ColorConverter.cs src/Design/MathTypeConverter.cs src/Design/MatrixConverter.cs src/Design/PlaneConverter.cs src/Design/PointConverter.cs src/Design/QuaternionConverter.cs src/Design/RayConverter.cs src/Design/RectangleConverter.cs src/Design/Vector2Converter.cs src/Design/Vector3Converter.cs src/Design/Vector4Converter.cs src/DisplayOrientation.cs src/DrawableGameComponent.cs src/FNALoggerEXT.cs src/FNAPlatform/FNAPlatform.cs src/FNAPlatform/FNAWindow.cs src/FNAPlatform/IGLDevice.cs src/FNAPlatform/ModernGLDevice.cs src/FNAPlatform/ModernGLDevice_GL.cs src/FNAPlatform/OpenGLDevice.cs src/FNAPlatform/OpenGLDevice_GL.cs src/FNAPlatform/SDL2_FNAPlatform.cs src/FrameworkDispatcher.cs src/Game.cs src/GameComponent.cs src/GameComponentCollection.cs src/GameComponentCollectionEventArgs.cs src/GameServiceContainer.cs src/GameTime.cs src/GameWindow.cs src/Graphics/ClearOptions.cs src/Graphics/ColorWriteChannels.cs src/Graphics/CubeMapFace.cs src/Graphics/DepthFormat.cs src/Graphics/DeviceLostException.cs src/Graphics/DeviceNotResetException.cs src/Graphics/DirectionalLight.cs src/Graphics/DisplayMode.cs src/Graphics/DisplayModeCollection.cs src/Graphics/DxtUtil.cs src/Graphics/Effect/Effect.cs src/Graphics/Effect/EffectAnnotation.cs src/Graphics/Effect/EffectAnnotationCollection.cs src/Graphics/Effect/EffectMaterial.cs src/Graphics/Effect/EffectParameter.cs src/Graphics/Effect/EffectParameterClass.cs src/Graphics/Effect/EffectParameterCollection.cs src/Graphics/Effect/EffectParameterType.cs src/Graphics/Effect/EffectPass.cs src/Graphics/Effect/EffectPassCollection.cs src/Graphics/Effect/EffectTechnique.cs src/Graphics/Effect/EffectTechniqueCollection.cs src/Graphics/Effect/IEffectFog.cs src/Graphics/Effect/IEffectLights.cs src/Graphics/Effect/IEffectMatrices.cs src/Graphics/Effect/Resources.cs src/Graphics/Effect/StockEffects/AlphaTestEffect.cs src/Graphics/Effect/StockEffects/BasicEffect.cs src/Graphics/Effect/StockEffects/DualTextureEffect.cs src/Graphics/Effect/StockEffects/EffectHelpers.cs src/Graphics/Effect/StockEffects/EnvironmentMapEffect.cs src/Graphics/Effect/StockEffects/SkinnedEffect.cs src/Graphics/Effect/StockEffects/SpriteEffect.cs src/Graphics/GraphicsAdapter.cs src/Graphics/GraphicsDevice.cs src/Graphics/GraphicsDeviceStatus.cs src/Graphics/GraphicsProfile.cs src/Graphics/GraphicsResource.cs src/Graphics/IGraphicsDeviceService.cs src/Graphics/IRenderTarget.cs src/Graphics/Model.cs src/Graphics/ModelBone.cs src/Graphics/ModelBoneCollection.cs src/Graphics/ModelEffectCollection.cs src/Graphics/ModelMesh.cs src/Graphics/ModelMeshCollection.cs src/Graphics/ModelMeshPart.cs src/Graphics/ModelMeshPartCollection.cs src/Graphics/NoSuitableGraphicsDeviceException.cs src/Graphics/OcclusionQuery.cs src/Graphics/PackedVector/Alpha8.cs src/Graphics/PackedVector/Bgr565.cs src/Graphics/PackedVector/Bgra4444.cs src/Graphics/PackedVector/Bgra5551.cs src/Graphics/PackedVector/Byte4.cs src/Graphics/PackedVector/HalfSingle.cs src/Graphics/PackedVector/HalfTypeHelper.cs src/Graphics/PackedVector/HalfVector2.cs src/Graphics/PackedVector/HalfVector4.cs src/Graphics/PackedVector/IPackedVector.cs src/Graphics/PackedVector/NormalizedByte2.cs src/Graphics/PackedVector/NormalizedByte4.cs src/Graphics/PackedVector/NormalizedShort2.cs src/Graphics/PackedVector/NormalizedShort4.cs src/Graphics/PackedVector/Rg32.cs src/Graphics/PackedVector/Rgba64.cs src/Graphics/PackedVector/Rgba1010102.cs src/Graphics/PackedVector/Short2.cs src/Graphics/PackedVector/Short4.cs src/Graphics/PresentationParameters.cs src/Graphics/PresentInterval.cs src/Graphics/PrimitiveType.cs src/Graphics/RenderTarget2D.cs src/Graphics/RenderTargetBinding.cs src/Graphics/RenderTargetCube.cs src/Graphics/RenderTargetUsage.cs src/Graphics/ResourceCreatedEventArgs.cs src/Graphics/ResourceDestroyedEventArgs.cs src/Graphics/SamplerStateCollection.cs src/Graphics/SetDataOptions.cs src/Graphics/SpriteBatch.cs src/Graphics/SpriteEffects.cs src/Graphics/SpriteFont.cs src/Graphics/SpriteSortMode.cs src/Graphics/States/Blend.cs src/Graphics/States/BlendFunction.cs src/Graphics/States/BlendState.cs src/Graphics/States/CompareFunction.cs src/Graphics/States/CullMode.cs src/Graphics/States/DepthStencilState.cs src/Graphics/States/FillMode.cs src/Graphics/States/RasterizerState.cs src/Graphics/States/SamplerState.cs src/Graphics/States/StencilOperation.cs src/Graphics/States/TextureAddressMode.cs src/Graphics/States/TextureFilter.cs src/Graphics/SurfaceFormat.cs src/Graphics/Texture.cs src/Graphics/Texture2D.cs src/Graphics/Texture3D.cs src/Graphics/TextureCollection.cs src/Graphics/TextureCube.cs src/Graphics/Vertices/BufferUsage.cs src/Graphics/Vertices/DynamicIndexBuffer.cs src/Graphics/Vertices/DynamicVertexBuffer.cs src/Graphics/Vertices/IndexBuffer.cs src/Graphics/Vertices/IndexElementSize.cs src/Graphics/Vertices/IVertexType.cs src/Graphics/Vertices/VertexBuffer.cs src/Graphics/Vertices/VertexBufferBinding.cs src/Graphics/Vertices/VertexDeclaration.cs src/Graphics/Vertices/VertexDeclarationCache.cs src/Graphics/Vertices/VertexElement.cs src/Graphics/Vertices/VertexElementFormat.cs src/Graphics/Vertices/VertexElementUsage.cs src/Graphics/Vertices/VertexPositionColor.cs src/Graphics/Vertices/VertexPositionColorTexture.cs src/Graphics/Vertices/VertexPositionNormalTexture.cs src/Graphics/Vertices/VertexPositionTexture.cs src/Graphics/Viewport.cs src/Graphics/X360TexUtil.cs src/GraphicsDeviceInformation.cs src/GraphicsDeviceManager.cs src/IDrawable.cs src/IGameComponent.cs src/IGraphicsDeviceManager.cs src/Input/Buttons.cs src/Input/ButtonState.cs src/Input/GamePad.cs src/Input/GamePadButtons.cs src/Input/GamePadCapabilities.cs src/Input/GamePadDeadZone.cs src/Input/GamePadDPad.cs src/Input/GamePadState.cs src/Input/GamePadThumbSticks.cs src/Input/GamePadTriggers.cs src/Input/GamePadType.cs src/Input/Keyboard.cs src/Input/KeyboardState.cs src/Input/Keys.cs src/Input/KeyState.cs src/Input/Mouse.cs src/Input/MouseState.cs src/Input/TextInputEXT.cs src/Input/Touch/GestureSample.cs src/Input/Touch/GestureType.cs src/Input/Touch/TouchCollection.cs src/Input/Touch/TouchLocation.cs src/Input/Touch/TouchLocationState.cs src/Input/Touch/TouchPanel.cs src/Input/Touch/TouchPanelCapabilities.cs src/IUpdateable.cs src/LaunchParameters.cs src/MathHelper.cs src/Matrix.cs src/Media/MediaPlayer.cs src/Media/MediaQueue.cs src/Media/MediaState.cs src/Media/Song.cs src/Media/SongCollection.cs src/Media/VideoSoundtrackType.cs src/Media/VisualizationData.cs src/Media/Xiph/Video.cs src/Media/Xiph/VideoPlayer.cs src/NamespaceDocs.cs src/Plane.cs src/PlaneIntersectionType.cs src/PlayerIndex.cs src/Point.cs src/PreparingDeviceSettingsEventArgs.cs src/Properties/AssemblyInfo.cs src/Quaternion.cs src/Ray.cs src/Rectangle.cs src/Storage/StorageContainer.cs src/Storage/StorageDevice.cs src/Storage/StorageDeviceNotConnectedException.cs src/TitleContainer.cs src/TitleLocation.cs src/Utilities/AssemblyHelper.cs src/Utilities/FileHelpers.cs src/Utilities/FNAInternalExtensions.cs src/Vector2.cs src/Vector3.cs src/Vector4.cs lib/SDL2-CS/src/SDL2.cs lib/SDL2-CS/src/SDL2_image.cs lib/FAudio/csharp/FAudio.cs lib/MojoShader/csharp/MojoShader.cs lib/Theorafile/csharp/Theorafile.cs obj/x86/Debug/.NETFramework,Version=v4.0.AssemblyAttribute.cs /target:library /unsafe+ /define:DEBUG /nostdlib /platform:x86 /reference:/usr/lib/mono/4.0-api/System.dll /reference:/usr/lib/mono/4.0-api/System.Core.dll /reference:/usr/lib/mono/4.0-api//mscorlib.dll /warn:4
Microsoft (R) Visual C# Compiler version 2.7.0.62620 (e873e693)
Copyright (C) Microsoft Corporation. All rights reserved.
Target _CopyDeployFilesToOutputDirectoryAlways:
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.dll.config' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/bin/Debug/FNA.dll.config'
Target DeployOutputFiles:
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/FNA.pdb' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/bin/Debug/FNA.pdb'
Copying file from '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/obj/x86/Debug/FNA.dll' to '/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/bin/Debug/FNA.dll'
Done building project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/FNA/FNA.csproj".
Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj" (default target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: AnyCPU
Target ResolveProjectReferences:
Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj" (default target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: AnyCPU
Target GenerateSatelliteAssemblies:
No input files were specified for target GenerateSatelliteAssemblies, skipping.
Target CoreCompile:
Tool /usr/lib/mono/4.5/csc.exe execution started with arguments: /noconfig /debug:full /debug:portable /optimize- /out:obj/Debug/MonoMod.Utils.dll ../MonoMod/Properties/AssemblyInfo.Common.cs DynamicMethodDefinition.cs DynamicMethodHelper.cs DynDll.cs Extensions.cs LimitedStream.cs ModInterop/ModExportName.cs ModInterop/ModImportName.cs MonoMod__OldName__.cs MonoModExt.cs Platform.cs PlatformHelper.cs Properties/AssemblyInfo.cs FastReflectionHelper.cs RelinkFailedException.cs RelinkTargetNotFoundException.cs StringInjectExtension.cs ModInterop/ModInteropManager.cs /target:library /define:"DEBUG;TRACE" /langversion:7.3 /nostdlib /reference:/usr/lib/mono/2.0-api/System.dll /reference:/usr/lib/mono/2.0-api/System.Core.dll /reference:/usr/lib/mono/2.0-api//mscorlib.dll /warn:4
Microsoft (R) Visual C# Compiler version 2.7.0.62620 (e873e693)
Copyright (C) Microsoft Corporation. All rights reserved.
CSC: error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.
Task "Csc" execution -- FAILED
Done building target "CoreCompile" in project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj".-- FAILED
Done building project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj".-- FAILED
Task "MSBuild" execution -- FAILED
Done building target "ResolveProjectReferences" in project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj".-- FAILED
Done building project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj".-- FAILED
Project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod/MonoMod.csproj" (default target(s)):
Target PrepareForBuild:
Configuration: Debug Platform: AnyCPU
Target GenerateSatelliteAssemblies:
No input files were specified for target GenerateSatelliteAssemblies, skipping.
Target CoreCompile:
Tool /usr/lib/mono/4.5/csc.exe execution started with arguments: /noconfig /debug:full /debug:portable /optimize- /out:obj/Debug/MonoMod.exe InlineRT/MonoModRulesModder.cs MMIL/Inject.cs Modifiers/MonoModForceCallvirt.cs Modifiers/MonoModForceCall.cs Modifiers/MonoModLinkFrom.cs Modifiers/MonoMod__WasIDictionary__.cs Modifiers/MonoMod__SafeToCopy__.cs InlineRT/MonoModRulesManager.cs InlineRT/MonoModRule.cs Modifiers/MonoModCustomAttribute.cs Modifiers/MonoModHook.cs Modifiers/MonoModIfFlag.cs Modifiers/MonoModNoNew.cs Modifiers/MonoModOnPlatform.cs Modifiers/MonoModAdded.cs Modifiers/MonoModOriginal.cs Modifiers/MonoModOriginalName.cs Modifiers/MonoModTargetModule.cs Modifiers/MonoModPublic.cs Modifiers/MonoModPatch.cs MonoModder.cs Program.cs Properties/AssemblyInfo.cs Modifiers/MonoModIgnore.cs Modifiers/MonoModRemove.cs Modifiers/MonoModReplace.cs Modifiers/MonoModConstructor.cs Modifiers/MonoModLinkTo.cs Modifiers/MonoModEnumReplace.cs Properties/AssemblyInfo.Common.cs /target:exe /unsafe+ /define:"DEBUG;TRACE" /langversion:7.3 /nostdlib /platform:AnyCPU /reference:/usr/lib/mono/2.0-api/System.dll /reference:/usr/lib/mono/2.0-api/System.Core.dll /reference:/usr/lib/mono/2.0-api//mscorlib.dll /warn:4
Microsoft (R) Visual C# Compiler version 2.7.0.62620 (e873e693)
Copyright (C) Microsoft Corporation. All rights reserved.
CSC: error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.
Task "Csc" execution -- FAILED
Done building target "CoreCompile" in project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod/MonoMod.csproj".-- FAILED
Done building project "/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod/MonoMod.csproj".-- FAILED
Task "MSBuild" execution -- FAILED
Done building target "ResolveProjectReferences" in project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj".-- FAILED
Done building project "/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj".-- FAILED
Build FAILED.
Errors:
/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets (ResolveProjectReferences target) ->
/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.RuntimeDetour/MonoMod.RuntimeDetour.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets (ResolveProjectReferences target) ->
/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoMod.Utils.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->
CSC: error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.
/home/thfr/Desktop/x2f/XnaToFna/XnaToFna.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets (ResolveProjectReferences target) ->
/home/thfr/Desktop/x2f/XnaToFna/lib-projs/MonoMod/MonoMod/MonoMod.csproj (default targets) ->
/usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->
CSC: error CS1617: Invalid option '7.3' for /langversion. Use '/langversion:?' to list supported values.
0 Warning(s)
2 Error(s)
Time Elapsed 00:00:02.2327680
I've been looking some at Underrail (GOG version). The content is in a data
directory, but XnaToFna.exe tells me that it expects a Content
directory and if I rename data
to Content
, it processes the files in there.
Now my question: how does this work at runtime? does runtime expect the content files now in data
or in Content
?
Migrated from FNA-XNA/FNA#166, CC @CNAmira
Collected information about original issue below:
Yes, I'm using Mac for daily use.
I've also tried on my PC, but it reports an error like call to a missing method.
-- @CNAmira
Log:
[XnaToFna] [Version] 17.11.3.34824
[XnaToFna] [ScanPath] Checking assembly Stardew Valley (rw)
[XnaToFna] [ScanPath] XnaToFna-ing Stardew Valley
[XnaToFna] [ScanPath] Scanning directory /Users/alpine/Stardew Valley
[XnaToFna] [ScanPath] Found Content directory: /Users/alpine/Stardew Valley/Content
[XnaToFna] [ScanPath] Checking assembly BmFont (rw)
[XnaToFna] [ScanPath] Checking assembly FNA (r-)
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Avatar -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Content.Pipeline -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Game -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Graphics -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Input.Touch -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Storage -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Video -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Xact -> FNA
[XnaToFna] [ScanPath] Checking assembly GalaxyCSharp (rw)
[XnaToFna] [ScanPath] Checking assembly Lidgren.Network (rw)
[XnaToFna] [ScanPath] Checking assembly Netcode (rw)
[XnaToFna] [ScanPath] Checking assembly Stardew Valley (rw)
Unhandled Exception:
System.IO.IOException: Sharing violation on path /Users/alpine/Stardew Valley/Stardew Valley.exe
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) [0x0019e] in <bb7b695b8c6246b3ac1646577aea7650>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <bb7b695b8c6246b3ac1646577aea7650>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
at Mono.Cecil.ModuleDefinition.GetFileStream (System.String fileName, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00006] in <d78877a5c52c41829df4feaac055547e>:0
at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00008] in <d78877a5c52c41829df4feaac055547e>:0
at MonoMod.MonoModExt.ReadModule (System.String path, Mono.Cecil.ReaderParameters rp) [0x0001d] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPath (System.String path) [0x00278] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPaths (System.String[] paths) [0x0000a] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPath (System.String path) [0x001a5] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.Program.Main (System.String[] args) [0x00465] in <d78877a5c52c41829df4feaac055547e>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: Sharing violation on path /Users/alpine/Stardew Valley/Stardew Valley.exe
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) [0x0019e] in <bb7b695b8c6246b3ac1646577aea7650>:0
at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <bb7b695b8c6246b3ac1646577aea7650>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
at Mono.Cecil.ModuleDefinition.GetFileStream (System.String fileName, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00006] in <d78877a5c52c41829df4feaac055547e>:0
at Mono.Cecil.ModuleDefinition.ReadModule (System.String fileName, Mono.Cecil.ReaderParameters parameters) [0x00008] in <d78877a5c52c41829df4feaac055547e>:0
at MonoMod.MonoModExt.ReadModule (System.String path, Mono.Cecil.ReaderParameters rp) [0x0001d] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPath (System.String path) [0x00278] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPaths (System.String[] paths) [0x0000a] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.XnaToFnaUtil.ScanPath (System.String path) [0x001a5] in <d78877a5c52c41829df4feaac055547e>:0
at XnaToFna.Program.Main (System.String[] args) [0x00465] in <d78877a5c52c41829df4feaac055547e>:0
A big problem I'm having with XnaToFna's out-of-the-box experience at the moment is that it's doing a LOT of work that it doesn't necessarily need to; this commit gets what I've found so far...
... but now that we have Proton on the table, it may be worth reconsidering the UX to act in three modes:
All other options should be disabled and only enabled upon request when doing research-y things (stuff like force-anycpu, for example).
The idea is that we can potentially make it so Proton XNA games can just pull in an XnaToFna-Proton zip that includes XnaToFna, FNA 18.10, and fnalibs Windows x86, run in Windows Mode, then the game can execute under wine-mono without having to worry about the C++/CLI compat issues.
I wanted to know if it's possible to do a similar process XnaToFna does, but for games that were compiled with older versions of FNA. For example, I want an existing game that has been compiled with FNA 16.12 to use FNA 20.03 instead.
If this is not easily possible, what should theoretically be done to achieve what I want? Or is the idea just bad?
This is where we dump bugs related to Windows Media content not being fixed or bugs that are introduced by the content conversion.
Starting with a Stardew Valley WaveBank, which interestingly doesn't use xWMA at all:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.FillBuffer (System.Int32 numBytes) [0x0008f] in /builddir/build/BUILD/mono-4.6.2/mcs/class/referencesource/mscorlib/system/io/binaryreader.cs:571
at System.IO.BinaryReader.ReadUInt32 () [0x00000] in /builddir/build/BUILD/mono-4.6.2/mcs/class/referencesource/mscorlib/system/io/binaryreader.cs:191
at Microsoft.Xna.Framework.Audio.WaveBank.LoadWaveBank (Microsoft.Xna.Framework.Audio.AudioEngine audioEngine, System.IO.BinaryReader reader, System.Boolean streaming) [0x00010] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Audio/WaveBank.cs:293
at Microsoft.Xna.Framework.Audio.WaveBank..ctor (Microsoft.Xna.Framework.Audio.AudioEngine audioEngine, System.String nonStreamingWaveBankFilename) [0x00043] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Audio/WaveBank.cs:181
at StardewValley.Game1.Initialize () [0x00117] in <8735ddc4c49943f59d59831f1ffc73cf>:0
at Microsoft.Xna.Framework.Game.DoInitialize () [0x0000f] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Game.cs:828
at Microsoft.Xna.Framework.Game.Run () [0x00014] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Game.cs:417
at StardewValley.Program.Main (System.String[] args) [0x00028] in <8735ddc4c49943f59d59831f1ffc73cf>:0
Now that FNA's on FAudio, it's much more realistic for us to include WMA support as a native feature:
This should be removed and effort should go towards WMA support in FAudio.
Finally a report where I'm getting you to do less work for a change.
As of FNA 19.04, we're now at the point where the ABI files are reliable enough to be shipped in wine-mono. This effectively eliminates the need to relink all the XNA references to FNA!
With that in mind, I think we can retire that part of XnaToFna's process, and trim it down to just the proxies (which are still useful, especially the Forms work).
It will scan assemblies such as Mono.Cecil
, however they are used by XnaToFna
.
It doesn't happen on macOS.
C:\Program Files\Steam\steamapps\common\Stardew Valley>XnaToFna.exe
[XnaToFna] [Version] 18.5.0.42592
[XnaToFna] [ScanPath] Scanning directory C:\Program Files\Steam\steamapps\common
\Stardew Valley
[XnaToFna] [ScanPath] Found Content directory: C:\Program Files\Steam\steamapps\
common\Stardew Valley\Content
[XnaToFna] [ScanPath] Checking assembly BmFont (rw)
[XnaToFna] [ScanPath] Checking assembly FNA (r-)
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Avatar -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Content.Pipeline -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Game -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Graphics -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Input.Touch -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Storage -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Video -> FNA
[XnaToFna] [ScanPath] Mapping Microsoft.Xna.Framework.Xact -> FNA
[XnaToFna] [ScanPath] Checking assembly GalaxyCSharp (rw)
[XnaToFna] [ScanPath] Checking assembly Lidgren.Network (rw)
[XnaToFna] [ScanPath] XnaToFna-ing Lidgren.Network
[XnaToFna] [ScanPath] Checking assembly Mono.Cecil (rw)
Unhandled Exception: System.IO.IOException: The process cannot access the file '
C:\Program Files\Steam\steamapps\common\Stardew Valley\Mono.Cecil.dll' because i
t is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, I
nt32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions o
ptions, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolea
n useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share)
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters p
arameters)
at MonoMod.Utils.MonoModExt.ReadModule(String path, ReaderParameters rp) in D
:\Repos\XnaToFna\lib-projs\MonoMod\MonoMod.Utils\MonoModExt.cs:line 45
at XnaToFna.XnaToFnaUtil.ScanPath(String path) in D:\Repos\XnaToFna\src\XnaTo
FnaUtil.cs:line 256
at XnaToFna.XnaToFnaUtil.ScanPaths(String[] paths) in D:\Repos\XnaToFna\src\X
naToFnaUtil.cs:line 138
at XnaToFna.XnaToFnaUtil.ScanPath(String path) in D:\Repos\XnaToFna\src\XnaTo
FnaUtil.cs:line 184
at XnaToFna.Program.Main(String[] args) in D:\Repos\XnaToFna\src\Program.cs:l
ine 114
I wanna to try to play Magicka on linux but it doesn't have XNA3.1.I have a search and find that Duck Game use XNAtoFNA to do that.and I download the file and have a try.but I forgot it is a XNA 3.1 game and when I tried it ,it tolds me that the version is not match (old?I am chinese so the error is in chinese,and I don't know what it in ENGLISH)
I have a look and found it's a error for MonoMod,and I download a new version from the MonoMod github,but the software XNAtoFNA crashed.
This is where we dump bugs, stack traces and discuss anything that prevents us from booting (or even running) XBLIG games using XnaToFna. Both "code-" and content-related issues belong here.
Enhancement ideas are welcome, too!
Right now, Iced Lizard Games donated a few of their XBLIG titles, containing both XNA 4.0 and XNA 3.1 games. Again, thank you!
XNA 3.1 titles will depend on the "timemachine" branch (which will be merged into master once it's done... that is, if it will be ever done, given the previous bad experience with it).
XNA 4.0 titles "boot," but they fail doing anything useful as the content formats changed between the X360 and PC targets. This was already expected, but I still don't know to which extent / how exactly the formats differ.
This is where we dump stack traces from Win32 things that haven't been worked around yet or have regressed in some way.
Starting with Stardew Valley, using the stardewFNA script:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.DllNotFoundException: user32.dll
at (wrapper managed-to-native) StardewValley.KeyboardInput:CallWindowProc (intptr,intptr,uint,intptr,intptr)
at StardewValley.KeyboardInput.HookProc (System.IntPtr hWnd, System.UInt32 msg, System.IntPtr wParam, System.IntPtr lParam) [0x00000] in <8735ddc4c49943f59d59831f1ffc73cf>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /builddir/build/BUILD/mono-4.6.2/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0004d] in /builddir/build/BUILD/mono-4.6.2/mcs/class/corlib/System.Reflection/MonoMethod.cs:313
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /builddir/build/BUILD/mono-4.6.2/mcs/class/referencesource/mscorlib/system/reflection/methodbase.cs:229
at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00107] in /builddir/build/BUILD/mono-4.6.2/mcs/class/corlib/System/Delegate.cs:461
at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x0000b] in /builddir/build/BUILD/mono-4.6.2/mcs/class/corlib/System/MulticastDelegate.cs:67
at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in /builddir/build/BUILD/mono-4.6.2/mcs/class/corlib/System/Delegate.cs:406
at XnaToFna.PInvokeHelper.CallWindowHook (System.IntPtr hWnd, System.UInt32 Msg, System.IntPtr wParam, System.IntPtr lParam) [0x00033] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/src/Helper/PInvokeHooks/PInvokeHooks.cs:105
at XnaToFna.PInvokeHelper.CallWindowHook (XnaToFna.ProxyForms.Messages Msg, System.IntPtr wParam, System.IntPtr lParam) [0x0003d] in <4ffdb51268804542a4c7a670fe1965f0>:0
at XnaToFna.PInvokeHelper.CallHooks (XnaToFna.ProxyForms.Messages Msg, System.IntPtr wParam, System.IntPtr lParam, XnaToFna.ProxyForms.Message& lParamMsg, System.Boolean global, System.Boolean window, System.Boolean allWindows) [0x00063] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/src/Helper/PInvokeHooks/PInvokeHooks.cs:58
at XnaToFna.PInvokeHelper.CallHooks (XnaToFna.ProxyForms.Messages Msg, System.IntPtr wParam, XnaToFna.ProxyForms.Message lParamMsg, System.Boolean global, System.Boolean window, System.Boolean allWindows) [0x0001e] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/src/Helper/PInvokeHooks/PInvokeHooks.cs:42
at XnaToFna.PInvokeHelper.CallHooks (XnaToFna.ProxyForms.Messages Msg, System.IntPtr wParam, System.IntPtr lParam, System.Boolean global, System.Boolean window, System.Boolean allWindows) [0x0002e] in <4ffdb51268804542a4c7a670fe1965f0>:0
at XnaToFna.KeyboardEvents.CharEntered (System.Char c) [0x0000b] in <4ffdb51268804542a4c7a670fe1965f0>:0
at Microsoft.Xna.Framework.Input.TextInputEXT.OnTextInput (System.Char c) [0x00012] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Input/TextInputEXT.cs:51
at Microsoft.Xna.Framework.SDL2_FNAPlatform.RunLoop (Microsoft.Xna.Framework.Game game) [0x005ee] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/FNAPlatform/SDL2_FNAPlatform.cs:785
at Microsoft.Xna.Framework.Game.Run () [0x00038] in /home/flibitijibibo/.wine/drive_c/Program Files/Steam/steamapps/common/Stardew Valley/XnaToFna/lib-projs/FNA/src/Game.cs:424
at StardewValley.Program.Main (System.String[] args) [0x00028] in <8735ddc4c49943f59d59831f1ffc73cf>:0
I'm trying to get this tool to work on Super Puzzle Platformer Deluxe, however it's giving me the following error:
Unhandled Exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Mono.Collections.Generic.Collection`1[T].get_Item (System.Int32 index) [0x0000f] in <c7395fd07a6943a1a56fcca966c533fc>:0
at MonoMod.Utils.MonoModExt.Relink (Mono.Cecil.ParameterDefinition param, MonoMod.Utils.Relinker relinker, Mono.Cecil.IGenericParameterProvider context) [0x00023] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoModExt.cs:550
at MonoMod.Utils.MonoModExt.Relink (Mono.Cecil.IMetadataTokenProvider mtp, MonoMod.Utils.Relinker relinker, Mono.Cecil.IGenericParameterProvider context) [0x00067] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod.Utils/MonoModExt.cs:439
at MonoMod.MonoModder.Relink (Mono.Cecil.IMetadataTokenProvider mtp, Mono.Cecil.IGenericParameterProvider context) [0x00001] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod/MonoModder.cs:816
at MonoMod.MonoModder.PatchRefsInMethod (Mono.Cecil.MethodDefinition method) [0x003d6] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod/MonoModder.cs:1819
at MonoMod.MonoModder.PatchRefsInType (Mono.Cecil.TypeDefinition type) [0x00241] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod/MonoModder.cs:1725
at MonoMod.MonoModder.PatchRefs () [0x001b2] in /home/jos/workspace/XnaToFna/lib-projs/MonoMod/MonoMod/MonoModder.cs:1592
at XnaToFna.XnaToFnaUtil.Stub (Mono.Cecil.ModuleDefinition mod) [0x000ea] in /home/jos/workspace/XnaToFna/src/XnaToFnaUtil.Stubber.cs:37
at XnaToFna.XnaToFnaUtil.RelinkAll () [0x00072] in /home/jos/workspace/XnaToFna/src/XnaToFnaUtil.cs:354
at XnaToFna.Program.Main (System.String[] args) [0x0057d] in /home/jos/workspace/XnaToFna/src/Program.cs:118
I've traced this to lib-projs/MonoMod/MonoMod/MonoModder.cs
, line 1817
. It's attempting to relink a parameter with an ParameterIndex of -1
. More specifically, this is happening on a ldarg
instruction inside System.Void SlimDX.DirectInput.EffectParameters::GetAxes(System.Int32[]&,System.Int32[]&)
.
Hi, I'm trying to compile from source since the last release is giving me some problems which, looking at the current code, seems to be fixed. However, when I run the executable it's giving me a NullReferenceException
Full stack trace:
Server stack trace:
at XnaToFna.FNAHookBridgeXTF.Init (System.Reflection.Assembly fna) [0x00097] in <311bf2f0d0f0429a9c000964fa75761c>:0
at XnaToFna.FNAHooker.Boot () [0x0000d] in <311bf2f0d0f0429a9c000964fa75761c>:0
at XnaToFna.FNAHooker+Proxy.Boot () [0x00001] in <311bf2f0d0f0429a9c000964fa75761c>:0
at (wrapper remoting-invoke-with-check) XnaToFna.FNAHooker+Proxy:Boot ()
at (wrapper xdomain-dispatch) XnaToFna.FNAHooker+Proxy:Boot (object,byte[]&,byte[]&)
Exception rethrown at [0]:
at (wrapper xdomain-invoke) XnaToFna.FNAHooker+Proxy:Boot ()
at (wrapper remoting-invoke-with-check) XnaToFna.FNAHooker+Proxy:Boot ()
at XnaToFna.FNAHooker.BootHookedAppDomain (System.String[] args) [0x00111] in <311bf2f0d0f0429a9c000964fa75761c>:0
at XnaToFna.FNAHooker.Hook (System.String[] args) [0x0001b] in <311bf2f0d0f0429a9c000964fa75761c>:0
at XnaToFna.Program.Main (System.String[] args) [0x00001] in <311bf2f0d0f0429a9c000964fa75761c>:0
The issue here seems to be that FNA.GetType(typeof(FNAHookBridgeFNA).FullName)
is returning null
, but I can't quite figure out why.
I'm using XBuild Engine Version 14.0 - Mono, Version 4.6.2.0.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.