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.
- Updated to reference current MonoGame 3.8.3
- Resolved issue where the
Sprite.Originproperty was incorrectly being set to the center origin of the sprite in the constructor. @AristurtleDev #938
- Resoled issue where
Matrix3x2.Decomposereturned incorrect values for transformation @Std-Enigma #941 - Resolved bug in NinePatch where padding calculations were incorrect @Dwergi #945
- Resoled bug in
Texture2DExtensions.CreateNinePatchwhere source rectangles were calculated that overlapped. @greenstack #948
BitmapFontusesTitleContainerto 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
VortexModifiernow properly makes use of theMaxSpeedproperty. @AristurtleDev #921rayNearDistanceandrayFarDistanceare now properly swapped inPrimitivesHelper.IntersectsSlab(). @AristurtleDev #922- Resolved issue where an
ArgumentNullExceptionwas thrown when loading BitmapFonts due to thebmfFile.Pathvalue not being set. @AristurtleDev #924 - Resolved issue for FNA in
ColorExtensions.FromArgbdue to FNAColorstruct 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.Rotatehas 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.Containsto ensure consistency in expected return values for edge touching compared to MonoGame. @AristurtleDev #871 - Added unit test for
BitmapFont.MeasureStringto validate that it correctly accounts for trailing whitespace. @AristurtleDev #876 - Added unit test for
ContentReaderExtensions.GetRelativeAssetNameto validate that asset name sanitization resolves to correct path. @AristurtleDev #877 MonoGame.Extended.Content.Pipeline.targetswas 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/referencesdirectory inside the project root for easier access. @AristurtleDev [#855] (#885)- Updated
ComponentManagerto implementIEnumerable<ComponentMapper>@mbowersjr #888
Matrix2was renamedMatrix3x2to better reflect what it actually is. @AristurtleDev #870- Renamed
Size2toSizeFto 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 BitmapFontrefactored. Now supports all three BMFont export types (XML, Text, and Binary). @AristurtleDev #877TextureRegion2DandNinePatchRegion2Dmoved toMonoGame.Exteneded.Graphicsnamespace. @AristurtleDevTextureREgion2DandNinePatchRegion2Drenamed toTextureRegionandNinePatchRegion. @AristurtleDev
- All projects now output build artifacts to a common
.artifactsdirectory 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.Vector3exists. @AristurtleDev #872 - Removed
Point3. It was redundant sinceMicrosoft.Xna.Framework.Vector3exists. @AristurtleDev #874 - Removed
Point2. It was redundant sinceMicrosoft.Xna.Framework.Vector2exists. @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
IDisposepattern 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
.artifactsdirectory 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
.editorconfigto project @LokiMidgard #708 - Include XML Documentation in NuGet packages @Apostolique #733
- Added
ComponentMapper.OnPutandComponentMapper.OnDeleteevents. @GrizzlyEnglish #744 - Added ability to configure layer depth for auto triggered particle effects. @codymanix $756
- Added support for
classattribute of objects in Tiled. @carlfriess #766 - Added
VelocityInterpolatorto 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.IsKeyReleasedas 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.DrawSolidCirclethat adds afillColorparameter. @Asthegor #819 - Add support for Collection of Images tilest type @Gandifil #829
- Added
RectangleFserializer @Gandifil #833 - Added
OrientedRectanglefor improved collision detection. @toore #840
EllipseFchanged formclasstostructand now implementsIEquatableandIShapeF. @simonantonio #718TiledMapTileLayer.TryGetTilereturnsfalseif thexparameter 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
netcoretonet6@Emersont1 #766 - Unit tests swapped to using XUnit. @toore #785
- Power of two values added for
MouseButtonenum so thatHasFlagcan be used. @dezoitodemaio #799 - Collisions update @Gandifil #824, #825
- Tween enhancements @Gandifil #835, #836, #837
- Throw
UndefinedLayerExceptionwhen providingnullinCollisionComponentconstructor 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
FadeTransitionglitch @topnik-code #699 - Resolved issue where relative paths for tileset sources in .tmx caused Tiled map importer to fail. @merthsoft #713
- Fixed
ParticleEmitteralways using the same random seed. @mikeparker #717 - Resolved half pixel offset bug in
TiledMapLayerModelBuilder. @kryzp #721 - Fixed issue where
Entity.Detach()did not invokeEntityChangeduntil next update cycle. @SjaakAlvarez #724 - Fixed issue due to
Color.TransparentBlackbeing 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
RectangleFnot 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.Destroythrowing aNullReferenceException. @Jeff425 #794 - Resolved
CollisionManagerreporting 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 SpiteSheetAnimationping pong waits until frame delay is complete on re-entry of the first frame before firingCompleteevent. @(DavidFidge)SpriteSheetAnimationping pong finishes on the first frame instead of potentially on a different frame. @DavidFidge #806- Fix allocations during
foreachiterations 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