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
developbranch but have not been pushed as either a stable or prerelease NuGet package.
Sprite.Origin property was incorrectly being set to the center origin of the sprite in the constructor. @AristurtleDev #938Matrix3x2.Decompose returned incorrect values for transformation @Std-Enigma #941Texture2DExtensions.CreateNinePatch where source rectangles were calculated that overlapped. @greenstack #948BitmapFont uses TitleContainer to load stream of file @Dwergi #946Sprite.OriginNormalize, resolving incorrect calculations @kaltinril #951VortexModifier now properly makes use of the MaxSpeed property. @AristurtleDev #921rayNearDistance and rayFarDistance are now properly swapped in PrimitivesHelper.IntersectsSlab(). @AristurtleDev #922ArgumentNullException was thrown when loading BitmapFonts due to the bmfFile.Path value not being set. @AristurtleDev #924ColorExtensions.FromArgb due to FNA Color struct not having a constructor that accepts a uint packed value. @ValorZard #925Vector2Extensions.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 a Vector2. @AristurtleDev #926
-PolyGon.Contains to ensure consistency in expected return values for edge touching compared to MonoGame. @AristurtleDev #871BitmapFont.MeasureString to validate that it correctly accounts for trailing whitespace. @AristurtleDev #876ContentReaderExtensions.GetRelativeAssetName to validate that asset name sanitization resolves to correct path. @AristurtleDev #877MonoGame.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 #855ComponentManager to implement IEnumerable<ComponentMapper> @mbowersjr #888Matrix2 was renamed Matrix3x2 to better reflect what it actually is. @AristurtleDev #870Size2 to SizeF to keep naming consistency of types. @AristurtleDev #873System.IO.Compression.ZLibStream @nkast #822BitmapFont refactored. Now supports all three BMFont export types (XML, Text, and Binary). @AristurtleDev #877TextureRegion2D and NinePatchRegion2D moved to MonoGame.Exteneded.Graphics namespace. @AristurtleDevTextureREgion2D and NinePatchRegion2D renamed to TextureRegion and NinePatchRegion. @AristurtleDev.artifacts directory at the root of the repository. @AristurtleDev #865System.Text.Json @AristurtleDev #869Size3. It was redundant since Microsoft.Xna.Framework.Vector3 exists. @AristurtleDev #872Point3. It was redundant since Microsoft.Xna.Framework.Vector3 exists. @AristurtleDev #874Point2. It was redundant since Microsoft.Xna.Framework.Vector2 exists. @AristurtleDev #875Matrix3x2 (formally Matrix2) not accounting for negative when calculating scale. @AristurtleDev #870IDispose 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
.artifactsdirectory at the root of the repository.
.artifacts directory at the root of the repository. @AristurtleDev #865.editorconfig to project @LokiMidgard #708ComponentMapper.OnPut and ComponentMapper.OnDelete events. @GrizzlyEnglish #744class attribute of objects in Tiled. @carlfriess #766VelocityInterpolator to allow particles to change velocity as they age. @slakedclay #798SpriteSheetAnimation. @DavidFidge #806MouseStateExtended.IsButtonPressed, MouseStateExtended.IsButtonReleased, KeyboardStateExtended.IsKeyPressed, KeyboardStateExtended.IsKeyReleased as replacements for deprecated properties. @LilithSilver #815PrimitiveDrawing.DrawSolidCircle that adds a fillColor parameter. @Asthegor #819RectangleF serializer @Gandifil #833OrientedRectangle for improved collision detection. @toore #840EllipseF changed form class to struct and now implements IEquatable and IShapeF. @simonantonio #718TiledMapTileLayer.TryGetTile returns false if the x parameter is outside the bounds of the tile. @LokiMidgard 755netcore to net6 @Emersont1 #766MouseButton enum so that HasFlag can be used. @dezoitodemaio #799UndefinedLayerException when providing null in CollisionComponent constructor due. @safoster88 #839MouseStateExtended.WasButtonJustDown, MouseStateExtended.WasButtonJustUp, KeyboardStateExtended.WasKeyJustDown, and KeyboardStateExtended.WasKeyJustUp. @LilithSilver #815FadeTransition glitch @topnik-code #699ParticleEmitter always using the same random seed. @mikeparker #717TiledMapLayerModelBuilder. @kryzp #721Entity.Detach() did not invoke EntityChanged until next update cycle. @SjaakAlvarez #724Color.TransparentBlack being removed from MonoGame 3.8.1.303 @Pizt0lmnk #735TextureAtlasJsonConverter. @merthsoft #746KeyboardExtended.GetState() and MouseExtended.GetState() rewrites previous state value. @KRC2000 #770AnimationSprite. @garakutanokiseki #782RectangleF not calculating bounding rectangle from the rotated original as intended. @toore #787ComponentManager.Destroy throwing a NullReferenceException. @Jeff425 #794CollisionManager reporting objects as colliding even after object(s) have been moved out of collision bounds @toore #795SpriteSheetAnimation. @DavidFidge #806SpiteSheetAnimation ping pong waits until frame delay is complete on re-entry of the first frame before firing Complete event. @(DavidFidge)SpriteSheetAnimation ping pong finishes on the first frame instead of potentially on a different frame. @DavidFidge #806foreach iterations of Bag<T>. @LilithSilver #814KeyboardStateExtended @LilithSilver #820