Releases: FNA-XNA/FNA
21.04
New Features:
Fixes:
- Fixed support for high-DPI on Wayland
- Fixed the Emscripten DllImport names for WASM builds
- Design: Add spaces between struct members when generating strings
- GamePad: Trigger/Axis-to-Buttons conversion is now done in GamePadState, not FNAPlatform
- SoundEffect: Fix reading content with with no cbSize in the wave format header
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.03.05
21.03
New Features:
- Added a .editorconfig, in the hopes that VS/JetBrains will have an easier time matching code style
- Update to FNA3D 21.03
- Update to FAudio 21.03
Fixes:
- Use Unicode.GetString for FACTRendererDetails, works around a BRUTE issue
- XACT data is now loaded to native memory rather than managed, avoids some annoying GC behavior
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.02
New Features:
- Update to FNA3D 21.02
- By default, support for the FNA3D Vulkan pipeline cache is limited to desktop only
- Update to FAudio 21.02
Fixes:
- Visual Studio fixes for AnyCPU and app.config
- Fix for possible graphics spec violations in the VideoPlayer
- Sampler state is now updated when calling SetRenderTargets
- GraphicsDeviceManager device callbacks now pass the GDM as sender, not the GraphicsDevice
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.01
New Features:
- Added a ton of new GamePad extensions:
- SetLightBarEXT now works on all platforms, not just Linux
- Added
forcemailboxvsync
launch parameter forFNA3D_VULKAN_FORCE_MAILBOX_VSYNC
- Update to SDL 2.0.14
- Update to FNA3D 21.01
- Update to FAudio 21.01
Modified Features:
- SetLightBarEXT now has a matching cap in GamePadCapabilities
Fixes:
- Game.Exiting is now only called once when Game.Exit() is called by the application
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.12
New Features:
Fixes:
- Prevent binding a texture at the same time that it is being used as a render target
- SDL2_FNAPlatform: GraphicsAdapter.Adapters should be rebuilt on any display change
- GraphicsDevice: Fix SetRenderTargets(null) not passing RenderTargetUsage
- Harden SoundEffect.FromStream for incomplete WAV chunks
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.11
New Features:
- SoundEffect.FromStream now supports loop points from
smpl
chunks - DDSFromStreamEXT now supports TextureCube
- Update to FNA3D 20.11
- Update to FAudio 20.11
Fixes:
- SoundEffect: Fix native object cleanup when no audio device is available
- SDL2_FNAPlatform:
- Force
SDL_GAMECONTROLLER_USE_BUTTON_LABELS=0
, because Steam is incredibly dumb - The backslash/pipe key now correctly maps to OemPipe
- The menu/apps key is now properly mapped
- Force
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.10
New Features:
- TextInputEXT: Add
TextEditing
event, allowing for improved CJK text composition - Update to FNA3D 20.10
- Update to FAudio 20.10
Fixes:
- SDL2_FNAPlatform:
- For ApplyChanges, cancel out minimize/maximize behavior
- Ignore resize events when the window is not in focus
- SpriteBatch: Fix sprite sorting for batches larger than 2048 sprites
- WaveBank disposal now explicitly closes streaming files, per FAudio 20.10 compliance
- Windows: Mixing 32/64-bit binaries now emits a slightly nicer BadImageFormatException
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.09
New Features:
- IGLDevice has been replaced with FNA3D, the new graphics library for FNA!
- Direct3D 11 is now supported and is the default for Windows/Xbox
- Vulkan is now available as an experimental backend
- Metal is now the default for Apple platforms
- ModernGL and ThreadedGL have been removed
THREADED_GL
andDISABLE_THREADING
have been removed- MojoShader is now statically linked directly into FNA3D
- SDL2_image has been replaced with FNA3D_Image, which is built into FNA3D
- Add experimental support for WebAssembly via Emscripten and mono-wasm
- Update to FAudio 20.09
Modified Features:
- SetStringMarkerEXT is now always present, you no longer need to wrap it in a try block
- The following environment variables have been renamed:
FNA_GRAPHICS_FORCE_GLDEVICE
FNA_GRAPHICS_MOJOSHADER_PROFILE
FNA_GRAPHICS_BACKBUFFER_SCALE_NEAREST
FNA_OPENGL_DISABLE_LATESWAPTEAR
FNA_OPENGL_WINDOW_DEPTHSTENCILFORMAT
FNA_OPENGL_FORCE_ES3
FNA_OPENGL_FORCE_CORE_PROFILE
FNA_OPENGL_FORCE_COMPATIBILITY_PROFILE
- The above variables are now under the FNA3D namespace:
FNA3D_FORCE_DRIVER
FNA3D_MOJOSHADER_PROFILE
FNA3D_BACKBUFFER_SCALE_NEAREST
FNA3D_DISABLE_LATESWAPTEAR
FNA3D_OPENGL_WINDOW_DEPTHSTENCILFORMAT
FNA3D_OPENGL_FORCE_ES3
FNA3D_OPENGL_FORCE_CORE_PROFILE
FNA3D_OPENGL_FORCE_COMPATIBILITY_PROFILE
Removed Features:
- Removed
WIIU_GAMEPAD
build option
Fixes:
- Game.RunOneFrame() now polls OS events, and no longer calls BeginRun/EndRun
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.08
New Features:
- Update to FAudio 20.08
Removed Features:
- dllmaps for iOS/tvOS have been removed, due to the upcoming macOS ARM release
- See the wiki for more information about the replacement
Fixes:
- Remove dead code in ModelReader, should mildly improve load performance
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: