Skip to content

Releases: FNA-XNA/FNA

19.05

01 May 14:24
Compare
Choose a tag to compare

New Features:

  • Effect render state changes are now stored in a "PipelineCache", rather than a naively-tracked array of render state objects. This should reduce the memory used by Effects and improve portability for graphics APIs that use precompiled pipeline state objects.
  • Update to FAudio 19.05

Fixes:

  • Most uses of msvcrt have been replaced with C# equivalents, for improved CLR compatibility
  • SetPresentationInterval has been moved from FNAPlatform to IGLDevice
  • OpenGLDevice: GL_PROGRAM_POINT_SIZE is now handled by MojoShader
  • SDL2_FNAPlatform:
    • Refactor SDL window/context flag management for future IGLDevice implementations
    • FakeRWops now implements RWsize

19.04

01 Apr 13:56
Compare
Choose a tag to compare

New Features:

  • Add FingerIdEXT extension
  • Update to FAudio 19.04
  • OpenGLDevice: Add support for PSIZE0 vertex attribute (compatibility profile only)

Fixes:

  • OpenGLDevice: Fix debug extension checks for ES3
  • TouchPanel: Event processing has been replaced with a new polling system
  • GraphicsDeviceManager: Check PreferredDepthStencilFormat at device creation

19.03

01 Mar 16:48
Compare
Choose a tag to compare

New Features:

  • ABI:
    • Add MSBuild project files
    • GamerServices/Net namespaces now reference the FNA.NetStub library
  • Update to FAudio 19.03

Fixes:

  • SpriteBatch: Non-immediate batches now use Discard when updating the vertex buffer
  • OpenGLDevice: Clamp glPixelStorei alignment for texture uploads to 8, per the GL spec
  • SDL2_FNAPlatform: Fix a possible crash on ShowRuntimeError when title/message are null

19.02

01 Feb 18:44
Compare
Choose a tag to compare

New Features:

  • Add ABI compatibility files. This is useful when testing XNA-built games against FNA without using a relinking tool like XnaToFna beforehand.
  • Update to FAudio 19.02

Fixes:

  • SpriteBatch: Significant performance improvements for Texture, BackToFront, and FrontToBack sort modes
  • SoundEffect: Allow DopplerScale to be 0
  • Effect: Various fixes for struct parameter support

19.01

01 Jan 16:08
Compare
Choose a tag to compare

New Features:

Fixes:

  • Make GetHashCode consistent between Vector2/Vector3/Vector4

18.12

01 Dec 16:32
Compare
Choose a tag to compare

New Features:

  • Add support for DisplayOrientation
  • Add iOS dllmaps (os="osx" cpu="armv8")
  • Update to SDL 2.0.9
    • HIDAPI support for Xbox 360, Xbox One, DualShock 4, and Switch Pro controllers
    • Windows/macOS: Left/Right motor support should be dramatically improved
    • Windows: FAudio now automatically matches WASAPI's requested period size

Fixes:

  • Various MonoPInvokeCallback attributes for native callbacks, needed on iOS
  • Song: FromUri relative paths should be relative to the title root
  • SoundEffect: Swap WaveFormatEx endianness for Xbox 360 content
  • Texture2D: FromStream should seek to the beginning if the stream starts at the end
  • OpenGLDevice: The default framebuffer/renderbuffer handles may not always be 0

18.11

01 Nov 15:03
Compare
Choose a tag to compare

New Features:

  • Add full support for Microsoft.Xna.Framework.Input.Touch

Fixes:

  • OpenGLDevice: Add explicit UnmanagedFunctionPointer attributes to delegates for .NET Native

18.10

01 Oct 14:27
Compare
Choose a tag to compare

New Features:

  • FNA now officially supports Xbox One and Nintendo Switch
  • The Audio/Media namespaces have been rewritten to use FAudio

Removed Features:

  • The IALDevice interface has been removed
    • Microphone is now supported via the FNAPlatform
    • All other Audio/Media code uses FAudio instead
  • OpenAL# and Vorbisfile# have been removed
    • FAudio includes stb_vorbis, to replace Vorbisfile
  • Removed FNA_AUDIO_DEVICE_NAME
    • Use SDL_AUDIO_DEVICE_NAME instead
  • Removed FNA_AUDIO_DISABLE_SOUND
    • Applications not using Audio/Media no longer need this variable
    • Set SDL_AUDIODRIVER=dummy if you still need a fallback
  • Removed FNA_SONG_DISABLE_THREADS
    • Song streaming is now asynchronous without spawning a special thread
  • Removed VERBOSE_AL_DEBUGGING
  • Removed BASIC_PROFILER
  • Removed the Gendarme rule files, we no longer use Gendarme for code analysis

Modified Features:

  • DynamicSoundEffectInstance: SubmitFloatBufferEXT now requires a buffer before playback begins

Fixes:

  • Makefile now uses mcs instead of dmcs
  • DllImports no longer have ".dll" in them, improving .NET Core multiplatform support
  • StorageDevice: Fix crash when DriveInfo is not available
  • SDL2_FNAPlatform: BRUTE fixes for SDL_image interop

18.09

01 Sep 15:46
Compare
Choose a tag to compare

New Features:

Fixes:

  • Keyboard: GetState(PlayerIndex) was erroneously marked obsolete
  • ContentReader: Optimize shared resource fixup layout
  • ContentTypeReaderManager: Run additional fixups for heavily nested types in GetTypeReader
  • ReflectiveReader:
    • Reduce garbage generation when initializing the reader
    • Properties no longer require a set accessor
  • SDL2_FNAPlatform:
    • Fix ClientSizeChanged regression for non-resizable windows
    • Xbox One no longer attempts EXT_swap_control_tear VSync

18.08

01 Aug 13:42
Compare
Choose a tag to compare

New Features:

  • OpenGLDevice: Added support for KHR_debug, in addition to ARB_debug_output

Fixes:

  • SpriteBatch/SpriteFont: Various optimizations centered around redundant array accesses
  • VideoPlayer: Added more safety checks to Dispose method
  • OpenGLDevice: Independent write mask support now checks for all known variants of glColorMaski
  • SDL2_FNAPlatform:
    • Added a mouse state fallback for platforms without global mouse support
    • Added an Environment.Directory fallback for platforms without AppDomain.CurrentDomain.BaseDirectory
    • Possible safety fix for GetStorageRoot on macOS