All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Note
Unreleased changes exist in the current develop
branch but have not been pushed as either a stable or prerelease NuGet package.
- Resoled issue where
Matrix3x2.Decompose
returned incorrect values for transformation @Std-Enigma #941 - Resolved bug in NinePatch where padding calculations were incorrect @Dwergi #945
- Resoled bug in
Texture2DExtensions.CreateNinePatch
where source rectangles were calculated that overlapped. @greenstack #948
BitmapFont
usesTitleContainer
to load stream of file @Dwergi #946- Revert UV code for
Sprite.OriginNormalize
, resolving incorrect calculations @kaltinril #951
- Resolved issue when reading .particle files for a ParticleEffect that cause a recursion loop bug creating a stack overflow exception @AristurtleDev #938
VortexModifier
now properly makes use of theMaxSpeed
property. @AristurtleDev #921rayNearDistance
andrayFarDistance
are now properly swapped inPrimitivesHelper.IntersectsSlab()
. @AristurtleDev #922- Resolved issue where an
ArgumentNullException
was thrown when loading BitmapFonts due to thebmfFile.Path
value not being set. @AristurtleDev #924 - Resolved issue for FNA in
ColorExtensions.FromArgb
due to FNAColor
struct not having a constructor that accepts a uint packed value. @ValorZard #925 - Updated for MonoGame 3.8.2.1105 release @AristurtleDev #926
- MonoGame References updated to 3.8.2.1105
- MonoGame.Extended target framework updated to net8.0
Vector2Extensions.Rotate
has been marked deprecated for MonoGame targets only (KNI and FNA still use this). With the release of MonoGame 3.8.2.1105, MonoGame now has a built in method for rotating aVector2
. @AristurtleDev #926
- Added unit test for
PolyGon.Contains
to ensure consistency in expected return values for edge touching compared to MonoGame. @AristurtleDev #871 - Added unit test for
BitmapFont.MeasureString
to validate that it correctly accounts for trailing whitespace. @AristurtleDev #876 - Added unit test for
ContentReaderExtensions.GetRelativeAssetName
to validate that asset name sanitization resolves to correct path. @AristurtleDev #877 MonoGame.Extended.Content.Pipeline.targets
was added to the MonoGame.Extended.Content.Pipeline nuget. This target contains a task that will automatically copy the required dll references for the MGCB Editor to the/Content/references
directory inside the project root for easier access. @AristurtleDev [#855] (#885)- Updated
ComponentManager
to implementIEnumerable<ComponentMapper>
@mbowersjr #888
Matrix2
was renamedMatrix3x2
to better reflect what it actually is. @AristurtleDev #870- Renamed
Size2
toSizeF
to keep naming consistency of types. @AristurtleDev #873 - Updated solution (.sln) to Visual Studio 2022 @nkast #880
- Updated project types to .Net.Sdk @nkast #880
- Use
System.IO.Compression.ZLibStream
@nkast #822 BitmapFont
refactored. Now supports all three BMFont export types (XML, Text, and Binary). @AristurtleDev #877TextureRegion2D
andNinePatchRegion2D
moved toMonoGame.Exteneded.Graphics
namespace. @AristurtleDevTextureREgion2D
andNinePatchRegion2D
renamed toTextureRegion
andNinePatchRegion
. @AristurtleDev
- All projects now output build artifacts to a common
.artifacts
directory at the root of the repository. @AristurtleDev #865 - Dependency on NewtonSoft.Json was completely removed in favor of using dotnet's
System.Text.Json
@AristurtleDev #869 - Removed
Size3
. It was redundant sinceMicrosoft.Xna.Framework.Vector3
exists. @AristurtleDev #872 - Removed
Point3
. It was redundant sinceMicrosoft.Xna.Framework.Vector3
exists. @AristurtleDev #874 - Removed
Point2
. It was redundant sinceMicrosoft.Xna.Framework.Vector2
exists. @AristurtleDev #875 - Removed unnecessary dependency introduced by previous pull requests @nkast #881
- Resolved
Matrix3x2
(formallyMatrix2
) not accounting for negative when calculating scale. @AristurtleDev #870 - Implemented standard
IDispose
pattern to resolve for particles @AristurtleDev #879
Warning
Please note that during this release, the entire project structure was reorganized. More importantly, build artifacts like dlls and packages created by projects are now output in a .artifacts
directory at the root of the repository.
- All projects now output build artifacts to a common
.artifacts
directory at the root of the repository. @AristurtleDev #865
- Entire project structure was reorganized to resemble the MonoGame project so there is consistency for users who work from source. @AristurtleDev #856
- Roadmap.md was removed, it was no longer valid. @AristurtleDev #861
- Added
.editorconfig
to project @LokiMidgard #708 - Include XML Documentation in NuGet packages @Apostolique #733
- Added
ComponentMapper.OnPut
andComponentMapper.OnDelete
events. @GrizzlyEnglish #744 - Added ability to configure layer depth for auto triggered particle effects. @codymanix $756
- Added support for
class
attribute of objects in Tiled. @carlfriess #766 - Added
VelocityInterpolator
to allow particles to change velocity as they age. @slakedclay #798 - Implemented parallax factor for Tiled maps @Gandifil #801
- Added unit tests for
SpriteSheetAnimation
. @DavidFidge #806 - Added
MouseStateExtended.IsButtonPressed
,MouseStateExtended.IsButtonReleased
,KeyboardStateExtended.IsKeyPressed
,KeyboardStateExtended.IsKeyReleased
as replacements for deprecated properties. @LilithSilver #815 - Adds support of nested class properties in Tiled. @KatDevsGames #817
- Add support for class filed on Tiled map, layers, and tilemaps. @KatDevsGames #818
- Added overload method for
PrimitiveDrawing.DrawSolidCircle
that adds afillColor
parameter. @Asthegor #819 - Add support for Collection of Images tilest type @Gandifil #829
- Added
RectangleF
serializer @Gandifil #833 - Added
OrientedRectangle
for improved collision detection. @toore #840
EllipseF
changed formclass
tostruct
and now implementsIEquatable
andIShapeF
. @simonantonio #718TiledMapTileLayer.TryGetTile
returnsfalse
if thex
parameter is outside the bounds of the tile. @LokiMidgard 755- Updated MonoGame dependency from 3.8.0 to 3.8.1.303. @lithiumtoast #692
- Update from
netcore
tonet6
@Emersont1 #766 - Unit tests swapped to using XUnit. @toore #785
- Power of two values added for
MouseButton
enum so thatHasFlag
can be used. @dezoitodemaio #799 - Collisions update @Gandifil #824, #825
- Tween enhancements @Gandifil #835, #836, #837
- Throw
UndefinedLayerException
when providingnull
inCollisionComponent
constructor due. @safoster88 #839 - Updated NewtonSoft.Json dependency version @AristurtleDev #854
- Deprecated
MouseStateExtended.WasButtonJustDown
,MouseStateExtended.WasButtonJustUp
,KeyboardStateExtended.WasKeyJustDown
, andKeyboardStateExtended.WasKeyJustUp
. @LilithSilver #815
- Removed MyGet feed deployment. All NuGets, including pre-releases, are now pushed to NuGet.org only. @AristurtleDev #856
- Resolved
FadeTransition
glitch @topnik-code #699 - Resolved issue where relative paths for tileset sources in .tmx caused Tiled map importer to fail. @merthsoft #713
- Fixed
ParticleEmitter
always using the same random seed. @mikeparker #717 - Resolved half pixel offset bug in
TiledMapLayerModelBuilder
. @kryzp #721 - Fixed issue where
Entity.Detach()
did not invokeEntityChanged
until next update cycle. @SjaakAlvarez #724 - Fixed issue due to
Color.TransparentBlack
being removed from MonoGame 3.8.1.303 @Pizt0lmnk #735 - Correctly resolve relative path of texture in
TextureAtlasJsonConverter
. @merthsoft #746 - Fixed issue where
KeyboardExtended.GetState()
andMouseExtended.GetState()
rewrites previous state value. @KRC2000 #770 - Fixed crash on Android when loading
AnimationSprite
. @garakutanokiseki #782 - Fixed issue when transforming a
RectangleF
not calculating bounding rectangle from the rotated original as intended. @toore #787 - Effects used for Tiled rendering rebuilt using MonoGame 3.8.1.303. @mattj1 #789
- Resolved
ComponentManager.Destroy
throwing aNullReferenceException
. @Jeff425 #794 - Resolved
CollisionManager
reporting objects as colliding even after object(s) have been moved out of collision bounds @toore #795 - Fixed looping animations incorrectly when an update contains large elapsed time in
SpriteSheetAnimation
. @DavidFidge #806 SpiteSheetAnimation
ping pong waits until frame delay is complete on re-entry of the first frame before firingComplete
event. @(DavidFidge)SpriteSheetAnimation
ping pong finishes on the first frame instead of potentially on a different frame. @DavidFidge #806- Fix allocations during
foreach
iterations ofBag<T>
. @LilithSilver #814 - Decreased allocation overhead for
KeyboardStateExtended
@LilithSilver #820 - Resolve single digit type in HSl Lerp function @Apllify #834
- Fixed issue where animated tiles that were flipped were rendering incorrectly @tigurx #846
- Resolve infinite recursion glitch for `Shape.Intersects(this IShapeF, IShapeF). @AristurtleDev #852