New Features:
Fixes:
- Even more tiny accuracy fixes across the whole tree:
- Make better use of ReferenceEquals and internal value types to avoid operator overload issues
- Various ToString methods have been updated, mostly for formatting accuracy
- Lots of comparisons have been inverted to accurately handle NaN inputs
- Even more Exceptions for input parameter validation have been added
- Exception strings have been improved and/or have been updated to match XNA
- Audio:
- Fix lots of potential leaks when initialization of XACT resources fails
- Added some Exceptions based on possible failure codes from FACT/FAudio
- SoundEffect's math helpers are now more aware of the per-instance wave formats
- SoundEffect.Play() now fails like XNA does when FrameworkDispatcher.Update has not been called (don't worry, Game does this for you)
- Microphone's platform handle is now an IntPtr, removes some indirection for the SDL3 backend in particular
- GameComponent:
- Fix some events not passing the proper EventArgs parameter
- Attempting to initialize Drawable components without a GraphicsDevice now properly throws an error
- GameServiceContainer: Improve error handling for adding/removing services
- GraphicsDeviceManager now reads the GraphicsProfile from embedded RuntimeProfile data, if present
- PresentationParameters: The default backbuffer size is 0,0 (GraphicsDeviceManager initializes these instead)
- The built-in VertexDeclarations now have a proper GraphicsResource.Name value
- FNA3D Interop: .NET Core apps have improved memory management for reading/writing from streams
Thanks to our GitHub Sponsors, including...
Super Duper Sponsors:
Super Sponsors:
Sponsors: