Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync develop with release #917

Merged
merged 5 commits into from
Jul 9, 2024
Merged

Sync develop with release #917

merged 5 commits into from
Jul 9, 2024

Commits on Jul 8, 2024

  1. Version 4.0.0 Release (#911)

    * Remove duplicate fact
    
    * Add .user file to gitignore
    
    * Assert Rectangle translation transform
    
    * Assert Rectangle transform not changing size
    
    * Rectangle extents are rotated correctly
    
    * Rebuilt effects with mgfxc 3.8.1.303
    
    * Uncomment and fix tests
    
    * Remove tests always passing
    
    * Issue 707, Created test for null ptr during entity destroy
    
    * Issue 707, Added null propagation inside component manager destroy method
    
    * Create VelocityInterpolator
    
    Allow particles to change velocity as they age.
    
    * add power of two values to MouseButton
    
    * Add parallaxFactor of layers in models.
    
    * Add parallaxFactor in rendering logic.
    
    * Add checking event == 'push'
    
    * Fix looping animations incorrectly completing when an update contains a large elapsed time.
    Ping pong waits until frame delay is complete on re-entry of the first frame before firing Complete rather than firing Complete immediately upon entering the frame.  This makes it consistent with a non ping pong animation which waits for the frame delay of the last frame before it fires Complete.
    Ping Pong now finishes on the first frame rather than potentially finishing on a different frame if the elapsed time since last update was larger than the time remaining for the animation to become complete.
    Add unit tests for SpriteSheetAnimation.
    
    * Update README.md
    
    * Use actual target bounds when testing collision
    
    * Cleanup
    
    * Refactor
    
    Encapsulate a public property (Parents).
    Added xml-comments (to fix some compilation warnings)
    
    * Format comments and fix spelling
    
    * Add comments for public fields and properties
    
    * fix Bag so that it doesn't allocate during foreach enumeration
    
    * add bag allocation test
    
    * make WasKey/ButtonJustDown/Up obsolete and replace with clarified versions
    
    * add support for class (nested) properties
    
    * support type/class field in maps, layers, & tilemaps
    
    * Update PrimitiveDrawing.cs
    
    Add a new DrawSolidCircle to add a fill color
    
    * fix allocating WasAnyKeyJustDown method; add GetPressedKeys non-alloc overload
    
    * Use Directory.Build.targets
    Moved common csproj properties for NuGet into Directory.Build.targets
    
    * Added version tag
    This is so we don't have to rely on github runner actions to generate the version number, and we can use it in the build scripts
    
    * PackageIconUrl is deprecated
    NuGet packages should use PacakgeIcon with a packed image inside the NuGet insetad of PackageIconUrl
    
    * Pack README.md in NuGet packages
    
    * Add common tags for NuGet packages
    Added the `<RepositoryType>`, `<RepositoryBranch>`, `<NeutralLanguage>` and `<PacakgeLicenseExpression>` tags
    
    * Added new Cake Frosting project
    
    * Cleaned up
    Cleaned up the Program.cs for the Cake Frosting project.  Added the working direcotry directive
    
    * Added BuildContext
    
    * Added BuildTask
    
    * Added Test Task
    
    * Added Package Task
    
    * Added Default task
    
    * Added namespace
    
    * Cleanup using statements
    
    * Ignore cake output directory
    
    * Updated and automated for NuGet pushing
    
    * Check for GCLatencyMode.NoGCRegion
    This test fails occasionaly when run through the automated cake script.  Wrapped the EndNoGCREgion in a check for GCTatencyMode.NoGCRegion to resolve
    
    * Forgot to add System.Runtime using statement
    
    * Better name for package step
    
    * NuGet Deploy only in craftworksgames repo
    
    * Enable Nullable in build project
    
    * Add additional context variables for build script
    
    * Use same verbosity, restore, and logo flags as originally used
    
    * Use same verbosity and nologo setting as original
    
    * Created Restore task
    
    Uses same verbosity as original workflow did
    
    * Update TestTask to use same verbosity, nologo, and nobuild as original workflow
    
    * Create DeployToGithubTask
    
    * Create DeployToMyGetTask
    
    * Create DeployToNuGetTask
    
    * Added Deploy task
    
    * Simplify, move most logic into cake build script
    
    * Ignore Missing XML comment warnings on build
    
    * Remove async, ignore NU5118 on package
    
    * Apparently i forgot a semi colon....
    
    * Remove old collision code.
    
    * Move collision code to root folder
    
    * Fix namespaces
    
    * Add failing test for collisions.
    
    * Add benchmarks for collisions
    
    * Refactor collision update, correct reset map
    
    * Add BoundingRectanglle property for IShape
    
    * Refactor QuadTree - now we use static AABB intersection check
    
    * Add layers for collisions
    
    * Add interface for space splitting and impls
    
    * Refactor layers for new interface
    
    * Add comments for collision actor.
    
    * Add comments for space algo interface.
    
    * Add spatialHash algo for collision spacing
    
    * Rename Quadtree to QuadTree
    
    * Add inline for private methods of SpatialHash.cs
    
    * Refactor benchmarks for collisions.
    
    * Fix tests
    
    * Refactor layers.
    
    * Add method for set default layer
    
    * Fix ctor call's
    
    * Add constructor for CollisionComponent.cs
    
    * Add extentions for ContentImporter.
    
    * Add speical contentItem for referencing images.
    
    * Fix tiledMap processing and writing.
    
    * Add texture for tile.
    
    * Add image tileset support
    
    * Fix using ctor from remote
    
    * Fix version
    
    * Fix CiCD
    
    * Add copy constructor for KeyboardListener.
    
    * Revert "Add copy constructor for KeyboardListener."
    
    * Add serializer for RectangleF
    
    * Add test for new serizalizer
    
    * Add RectangleFJsonConverter for default serializer.
    
    * Fixed HSL lerp
    
    * Move extracting linear operations into special class.
    
    * Move impls of linear tweening into special class.
    
    * Add ColorTween
    
    * Add special TweenTo.
    
    * Fix TweenTo
    
    * Add tweening tests
    
    * Fix activator inside tweener.
    
    * Check for undefined layer and throw on collision actor insertion
    
    * Add test coverage
    
    * Add OrientedBoundingRectangle type
    
    * Add Points property to OrientedBoundingRectangle
    
    * Ignore Visual Studio cache
    
    * Be explicit about conversion of geometries
    
    Conversion from circle to rectangle should not pass unnoted and be explicit.
    
    * OrientedBoundedRectangle implements ShapeF
    
    In that way the OrientedBoundedRectangle can take part of collision tests.
    
    * Add ascii art to describe intersection tests
    
    * Update circle and oriented bound box intersection
    
    * Update dependencies
    
    * Add Intersects method for OBB
    
    * Rename to OrientedRectangle
    
    * Properly intersect circle and oriented rect
    
    * Calc coll vector for circle and oriented rect
    
    * Calc coll vector for oriented rects
    
    * Fixes incorrect rendering of flipped animation tiles
    
    * Call RectangleF.Intersects to resolve recursion bug
    When both params `a` and `b` are of type `RectangleF` just calling `Shape.Intersects` creates a infinite recursion bug.
    
    * Update Newtonsoft.Json.dll Dependency
    
    * Removing MyGet Feed Deploy
    Lithiums MyGet feed won't allow the NuGet push due to the SemVersions of the package containing a 4th build number value.
    
    * Moved to `/src/cs`
    Moved benchmark and tweening test projects into the `/src/cs` to keep project organization constancy.
    
    * Move build into `/src/cs`
    
    * Fix project reference
    
    * Fix path for project on build task
    
    * Capital B
    
    * Changed the Flip Flag array to be private and readonly and added a public property that returns the backing field as a ReadOnlySpan.
    
    * Move source projects into source directory
    
    * Moved tests into test directory
    
    * Moved benchmarks into benchmark directory
    
    * Moved build into build directory
    
    * Add root props file
    
    * Add common props for all tests
    
    * Added `<Authors>` to root props
    
    * Add common props for source  directory
    
    * Add props to build directory
    
    * Moved props from targets file
    
    * Removed targets file
    
    * Update for new .artifacts directory
    
    * nuget.config is not needed
    
    * Renamed 'Logos' directory to 'logos'
    Case sensitivity matters depending on operating system, so it's more convenient where possible to keep directory names lower case
    
    * Use correct working directory after moving
    
    * Remove duplicate import statement
    
    * Read from props file not targets file.
    
    * Use new .artifacts directory
    
    * Updated .gitattributes
    
    * Updated .gitignore
    
    * Set ArtifactPath within the project category directory
    
    * Drop CAKE build and move Build CI to github workflow
    
    * Setup code analysis with .editorconfig
    
    * Don't use nullable reference in a non-nullable context
    
    * Correct spelling of minimal
    
    * Fix GitHub Nuget Push (#859)
    
    * Fix github url for nuget push
    
    * forgot the h in https
    
    * Remove GitHub Deploy (#860)
    
    * Fix github url for nuget push
    
    * forgot the h in https
    
    * Remove github push for now, need to check repository settings
    
    * Cleanup (#862)
    
    * Removed Roadmap
    The Roadmap seems to have been initially added to show the plans to switch to an FNA fork and act as a bridge for katabasis.  This is no longer the case for this repository as it will remain focused at the moment on MonoGame support only.
    
    * Added new note at top of readme
    
    * updated information for installing nuget
    
    * Made using content pipeline extensions a section and not a quote
    
    * Removed information about MyGet feed
    
    * Removed patreon from readme
    
    * Update License
    
    * renamed master branch to main
    
    * Remove community forum link
    MonoGame is closing the community forums in favor of discord and github discussions
    
    * Update workflows
    
    * Removed patreon added aristurtledev (#863)
    
    * Fix funding (#864)
    
    * Use ArtifactsPath to resolve include dlls for pack (#865)
    
    * Add additional input parameters (#866)
    
    * Only specify source and prerelease (#867)
    
    * Update prerelease version (#868)
    
    * Replace Newtonsoft.Json with System.Text.Json (#869)
    
    * Converted to use `System.Text.Json`
    
    * Remove Newtonsoft.Json Dependency
    Newtonsoft.Json dependency has been removed in favor of System.Text.Json
    
    * Treat MGFXO file as binary
    
    * Replace `Matrix2` with `Matrix3x2` (#870)
    
    * Replace `Matrix2` with `Matrix3x2`
    
    * Update benchmarks
    
    * Add XML documentation for `Matrix3x2`
    
    * Add Edge Test for `Polygon.Contains` (#871)
    
    * Added Assert for edge contains
    Reference: #214
    
    * Renamed to PolygonTests
    
    * Replace `Size3` with `Vector3` (#872)
    
    * Rename `Size2` to `SizeF` (#873)
    
    * Remove `Point3` (#874)
    
    * Remove `Point2` (#875)
    
    * Added `CalculateMinimumVector2` and `CalculateMaximumVector2` as replacement for `Point2.Minimum` and `Point2.Maximum`
    
    * Remove `Point2`
    
    * Added unit test to ensure issue is resolved (#876)
    
    * Add unit test for `ContentReaderExtensions.GetRelativeAssetName` (#877)
    
    * Implements standard IDispose pattern (#879)
    
    * upgrade solution to VS2022 (#880)
    
    * update project types to net.Sdk
    
    * upgrade solution to VS2022
    
    * Remove unnecessary dependencies to SharpDX and Content.Pipeline from the core library (#881)
    
    * remove unused SharpDX using
    
    introduces in #840
    
    * remove Content.Pipeline reference from the core library
    
    introduced in #692
    
    * use System ZLibStream (#882)
    
    ZLibStream was added in net6
    
    https://learn.microsoft.com/en-us/dotnet/api/system.io.compression.zlibstream?view=net-8.0
    
    * Added changelog (#883)
    
    * Added changelog
    
    * Added note about unreleased
    
    * Make links for users (#884)
    
    * Copy Reference DLLs from NuGet Automatically (#885)
    
    * Pack value should be `true` not `True`
    
    * Copy content pipeline dll references to project directory for ease of use
    
    * Forgot `/` in path
    
    * Updated Changelog (#886)
    
    Added information about #885
    
    * Refactor `BitmapFont` (#887)
    
    * Update file header
    
    * Created initial project to move BitmapFont too
    
    * XMl, Text, and Binar reading now supported for BMFont
    
    * Refactor BittmapFont
    
    * Update content pipeline from BitmapFont refactor
    
    * Update changelog
    
    * Updated ComponentManager to implement IEnumerable<ComponentMapper> (#823) (#888)
    
    * Update Changelog (#889)
    
    * Updated so all projects have changelog in root when viewing in visual studio
    
    * Updated changelog
    
    * Texture Atlas Refactor (#890)
    
    * Moved `TextureRegion2D` and `NinePatchRegion2D` into Graphics namespace
    These are used for more than just texture atlas related things and are primarly for working with `Texture2D` instances and creating sub textures from them.  Moving them to Graphics namespace where `Texture2D` lives in MonoGame
    
    * Dropped the `2D` suffix from `TextureRegion2D` and `NinePatchRegion2D`
    
    * Moved `RectanglExtensions` to project root
    This moves the extensions for `Rectangle` to the same relative namespace location as `Rectangle` is in MonoGame.
    
    * Renamed to `Rectangle.Extensions.cs`
    
    * Separate `Rectangle` from `RectangleF` extensions
    
    * Added `GetRelativeRectangle` method
    
    * Updated documentation
    
    * Added `GetRelativeRectangle` method
    
    * Updated documentation
    
    * Top-level namespace
    
    * Remove whitespace
    
    * Move properties up
    
    * Top-level namespace
    
    * Don't recreate structs for `Bounds` and Size`
    By having the property return a new struct, this allocates on the stack during situations like a loop during draw.
    
    * Size should be `Size` not `SizeF` value
    Textures deal in pixels (ints not floats)
    
    * Removed setter for `Texture` property
    Texture should not be set after region is created
    
    * Added UV properties
    
    * Refactor constructors
    
    * Added documentation
    
    * Added license header
    
    * Make it an actual extension method
    
    * Added `GetSubRegion` extension methods for `TextureRegion`
    
    * Update documentation about ObjectDisposedException
    
    * Move const values to top
    
    * Resolve errors from`TextureRegion` refactor
    
    * Update unit tests for TextureRegion refactor
    
    * Started NinePatch rework
    
    * Refactored NinePatch
    
    * Update for texture region constructor change
    
    * Remove ninepatch from atlas
    
    * Moved `TextureAtlasExtensions` into `SpriteBatch.Extensions`
    These are extension methods for the sprite batch
    
    * Updated to use new `DrawTextureRegion` method after rename
    
    * Renamed to NinePatchJsonConverter
    
    * Removed `GetRegion<T>`
    TextureAtlas no longer contains nine patch regions, so this method isn't needed
    
    * Update after `NinePatchRegion2DJsonConverter` name change
    
    * Resolve errors from NinePatch refactor
    
    * TextureAtlas rework
    
    * Renamed `TextureRegion` to `Texture2DRegion`
    
    * Moved ContentReaders to new Content\ContentReaders directory
    
    * Moved TextureAtlasJsonConvert to Serialization directory
    
    * Adjusted name from `Texture*` to `Texture2D*`
    
    * Update runtimereader and runtimettype strings
    
    * Kni.Extended (#892)
    
    * KNI projects
    
    * update actions
    
    fixes MSBUILD : error MSB1011: Specify which project or solution file to
    use because this folder contains more than one project or solution file.
    
    * remove test for issue #633
    
    * build tests
    
    * KNI TypeReaders
    
    * KNI/XNA compatible code
    
    * GetRuntimeReader from runtime types
    
    * remove MockGameWindow
    
    * Fna.Extended (#893)
    
    * FNA projects
    
    * update actions
    
    fixes MSBUILD : error MSB1011: Specify which project or solution file to
    use because this folder contains more than one project or solution file.
    
    * build tests
    
    * remove test for issue #633
    
    * FNA/XNA compatible
    
    * GraphicsDevice Extensions
    
    * remove MockGameWindow
    
    ---------
    
    Co-authored-by: Christopher Whitley <[email protected]>
    
    * Sprite Rework (#897)
    
    * Add file header
    
    * Refator to file-scoped namespace
    
    * Least complex to most complext method ordering
    
    * Refactor: Group properties at top before constructor
    
    * Use the new UV properties from Texture2DRegion.
    This removes the dependency on the texture size in the calculations if the TextureRegion property is changed.
    
    * No longer need to cache normalized origin to preserve it
    
    * Use ArgumentNullException instead
    
    * Use ArgumentNullException.ThrowIfNull
    
    * Refactor:  Use brackets for readability
    
    * Add xml documentation
    
    * Add check for disposed texture
    
    * Moved `Sprite` to `MonoGame.Extended.Graphics`
    
    * Moved extension methods for rendering sprite into `SpriteBatch.Extensions`
    
    * `ISpriteBatchDrawable` is not used by anything
    It was originally part of the ScreneGraph implementation in MonoGame.Extended which was replaced by the ECS system.  It appears that this interface was forgotten to be removed and is not used for anything anymore.
    
    * Add `CreateSprite` methods
    
    * Add file header
    
    * Moved `SpriteSheetAnimationFrame` to `MonoGame.Extended.Graphics`
    
    * Move properties before constructor.
    
    * Changed `Duration` to `TimeSpan` type
    
    * Renamed `Index` to `FrameIndex`
    
    * Add `TextureRegion` property
    
    * Make property get only
    
    * Cleanup whitespace
    
    * Remove `SpriteSheetAnimationFrameJsonConverter`
    
    * Cleanup unused namespaces
    
    * Make file-scoped namespace
    
    * Added xml documentation
    
    * Added file header
    
    * marked constructor as internal.
    This will be created from a spritesheet itself
    
    * Move `SpriteSheetAnimationCycle` to `MonoGame.Extended.Graphcis`
    
    * File scoped namespace
    
    * Add file header
    
    * Reorganize: Move properties above constructor
    
    * Make `Frames` property a read-only span
    
    * Remove duration, this is being moved to the frame itself
    
    * Add `Name` property
    
    * Set looping, reversed, and ping pong properties in ctor
    
    * Make ctor internal
    This will be an object created by a spritesheet instane itself.
    
    * Cleanup: Whitespace
    
    * Add `FrameCount` property
    
    * Add `GetFrame` method and accompanying `this[int]` method.
    
    * Documentation: Added missing documentation.
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * Refactor: Animation Refactor Completed
    
    * Refactor: Sprite stuff finished
    
    * Remove tests that can't be run on GitHub CI
    Need to find alternative
    
    * Make optional name param the last param in Texture2DRegion ctors
    
    * Resolve merge conflicts
    
    * Add Kni Package (#898)
    
    * Capitalize KNI (#899)
    
    * Resolves NullReferenceException When Getting Invalid Key From TiledMapProperties (#903)
    
    * Add test to validate issue
    
    * Resolve issue
    
    * Fix `NullReferenceException` in `ObjectPool` when reusing all returned items (#904)
    
    * Replaced delegate with Action<T>
    
    * Change delegate to Action<T>
    
    * Add unit test to confirm issue
    
    * Fix NullReferenceException in ObjectPool when reusing all returned items
    
    The ObjectPool's Use() method was throwing a NullReferenceException when
    all items had been returned to the pool and New() was called again. This
    was due to _tailNode being null in this scenario.
    
    Added a null check for _tailNode in Use() method to properly reinitialize
    the linked list structure when the pool has been emptied and refilled.
    
    * Moved MonoGame.Extended.Gui to its own repository (#905)
    
    * Update animated sprite so the constructor api is similar to original MGE (#906)
    
    * Update animated sprite so the constructor api is similar to original MGE
    
    * Fix tests from changes
    
    * Add pitch support to Camera & OrthographicCamera (#907)
    
    * Added pitch support to OrthographicCamera
    
    * Added pitch functions to base Camera class
    
    * Reorganization (#909)
    
    * Removed MonoGame.Extended.Animations
    This project was just a shell that referenced MonoGame.Extended.csproj. It added no additional functionality.
    
    * Rework BitmapFonts for new project organization.
    
    * Cleanup namespaces
    
    * Cleanup namespaces
    
    * Move MonoGame.Extended.Collision into base project
    
    * Moved MonoGame.Extended.Entities into base project
    
    * Moved MonoGame.Extended.Graphics into base project
    
    * Moved MonoGame.Extended.Graphics into base project
    
    * Moved MonoGame.Extended.Input into base project
    
    * Moved MonoGame.Extended.Particles into base project
    
    * Moved MonoGame.Extended.Tiled into base project
    
    * Moved MonoGame.Extended.Tiled into base project
    
    * Moved MonoGame.Extended.Tweening into base project
    
    * Removing SpriteFactory support
    This will be added back in at a later date once the SpriteFactory application has been updated
    
    * Update TexturePacker content import support
    
    * Only needs to reference base project now
    
    * Moved to Serialization namespace
    
    * Moved  Json serialization to Serialization.Json namespace
    
    * Moved TexturePacker content DTOs to the Content namespace
    
    * Renamed to Texture2DRegion.Extensions.cs
    
    * Cleaned up namespace
    
    * Moved ReadTiledMapProperties into the ContentReaderExtensions
    
    * Created an Extended content manager
    
    * Moved Tweening tests to base test project
    
    * Moved Tiled test to base test project
    
    * Moved Entities Tests to base test project
    
    * Moved Entities tests to base test project
    
    * Moved Collisions tests to base test project
    
    * Moved Pipeline Tiled test to Pipeline tests project
    
    * Use `var` instead of full type name
    
    * Add Tiled namespace
    
    * Correct `Metadata` property name to new `Meta` property name
    
    * Cleanup namespace
    
    * Add effects namespace
    
    * Add Content namespace
    
    * Update using statements to new namespaces
    
    * Move Pipeline Tiled tests to Pipeline test project
    
    * Use correct namespace
    
    * Use `var` instead of typing out nested types
    
    * Remove unused namespaces
    
    * Update to new namespaces
    
    * Remove unused namespaces
    
    * Update to new namespaces
    
    * Remove dependency on Particles csproj
    
    * Update included content on build
    
    * Add embedded resources
    
    * Merge multi csproj structure into single csproj structure
    
    * TexturePackerPoint properties should be `double` not `int`
    
    * Update csproj
    
    * Use dotnet tool to rebuild effects
    
    * Move effect compilation to targets file
    This will ensure the effects are always built
    
    * Fix workflow to build effects on linux
    
    * Set wine path
    
    * Export instead of using actions env section
    
    * Revert back to manual effect compile until automation can be solved on GitHub Ubuntu runner
    
    * Make CurrentFrame return the actual frame index from the source atlas
    
    * Start the animation controller playing, don't make the consumer manually call it initially
    
    * Play is automatically called in the controller ctor
    
    * Added property to get name of current animation
    
    * Only copy reference files if user opts in by specifying property in csproj
    
    * Update Kni solution to new project structure
    
    * Update Fna solution to new project structure
    
    * Bump version number to 4.0.0
    
    * Update release workflow
    
    * Remove old test
    
    ---------
    
    Co-authored-by: Andreas Torebring <[email protected]>
    Co-authored-by: Lucas Girouard-Stranks <[email protected]>
    Co-authored-by: Matt Johnson <[email protected]>
    Co-authored-by: Kus <[email protected]>
    Co-authored-by: slakedclay <[email protected]>
    Co-authored-by: Cairo Batista <[email protected]>
    Co-authored-by: Gandifil <[email protected]>
    Co-authored-by: David Fidge <[email protected]>
    Co-authored-by: Lucas Girouard-Stranks <[email protected]>
    Co-authored-by: Lilith Silver <anon>
    Co-authored-by: KatDevsGames <[email protected]>
    Co-authored-by: LACOMBE Dominique <[email protected]>
    Co-authored-by: Apllify <[email protected]>
    Co-authored-by: Stephen <[email protected]>
    Co-authored-by: jimmy b <[email protected]>
    Co-authored-by: Nikos Kastellanos <[email protected]>
    Co-authored-by: Mike Bowers <[email protected]>
    Co-authored-by: James <[email protected]>
    18 people authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    4e324b8 View commit details
    Browse the repository at this point in the history
  2. Release/v4 (#913)

    * Assert Rectangle transform not changing size
    
    * Rectangle extents are rotated correctly
    
    * Rebuilt effects with mgfxc 3.8.1.303
    
    * Uncomment and fix tests
    
    * Remove tests always passing
    
    * Issue 707, Created test for null ptr during entity destroy
    
    * Issue 707, Added null propagation inside component manager destroy method
    
    * Create VelocityInterpolator
    
    Allow particles to change velocity as they age.
    
    * add power of two values to MouseButton
    
    * Add parallaxFactor of layers in models.
    
    * Add parallaxFactor in rendering logic.
    
    * Add checking event == 'push'
    
    * Fix looping animations incorrectly completing when an update contains a large elapsed time.
    Ping pong waits until frame delay is complete on re-entry of the first frame before firing Complete rather than firing Complete immediately upon entering the frame.  This makes it consistent with a non ping pong animation which waits for the frame delay of the last frame before it fires Complete.
    Ping Pong now finishes on the first frame rather than potentially finishing on a different frame if the elapsed time since last update was larger than the time remaining for the animation to become complete.
    Add unit tests for SpriteSheetAnimation.
    
    * Update README.md
    
    * Use actual target bounds when testing collision
    
    * Cleanup
    
    * Refactor
    
    Encapsulate a public property (Parents).
    Added xml-comments (to fix some compilation warnings)
    
    * Format comments and fix spelling
    
    * Add comments for public fields and properties
    
    * fix Bag so that it doesn't allocate during foreach enumeration
    
    * add bag allocation test
    
    * make WasKey/ButtonJustDown/Up obsolete and replace with clarified versions
    
    * add support for class (nested) properties
    
    * support type/class field in maps, layers, & tilemaps
    
    * Update PrimitiveDrawing.cs
    
    Add a new DrawSolidCircle to add a fill color
    
    * fix allocating WasAnyKeyJustDown method; add GetPressedKeys non-alloc overload
    
    * Use Directory.Build.targets
    Moved common csproj properties for NuGet into Directory.Build.targets
    
    * Added version tag
    This is so we don't have to rely on github runner actions to generate the version number, and we can use it in the build scripts
    
    * PackageIconUrl is deprecated
    NuGet packages should use PacakgeIcon with a packed image inside the NuGet insetad of PackageIconUrl
    
    * Pack README.md in NuGet packages
    
    * Add common tags for NuGet packages
    Added the `<RepositoryType>`, `<RepositoryBranch>`, `<NeutralLanguage>` and `<PacakgeLicenseExpression>` tags
    
    * Added new Cake Frosting project
    
    * Cleaned up
    Cleaned up the Program.cs for the Cake Frosting project.  Added the working direcotry directive
    
    * Added BuildContext
    
    * Added BuildTask
    
    * Added Test Task
    
    * Added Package Task
    
    * Added Default task
    
    * Added namespace
    
    * Cleanup using statements
    
    * Ignore cake output directory
    
    * Updated and automated for NuGet pushing
    
    * Check for GCLatencyMode.NoGCRegion
    This test fails occasionaly when run through the automated cake script.  Wrapped the EndNoGCREgion in a check for GCTatencyMode.NoGCRegion to resolve
    
    * Forgot to add System.Runtime using statement
    
    * Better name for package step
    
    * NuGet Deploy only in craftworksgames repo
    
    * Enable Nullable in build project
    
    * Add additional context variables for build script
    
    * Use same verbosity, restore, and logo flags as originally used
    
    * Use same verbosity and nologo setting as original
    
    * Created Restore task
    
    Uses same verbosity as original workflow did
    
    * Update TestTask to use same verbosity, nologo, and nobuild as original workflow
    
    * Create DeployToGithubTask
    
    * Create DeployToMyGetTask
    
    * Create DeployToNuGetTask
    
    * Added Deploy task
    
    * Simplify, move most logic into cake build script
    
    * Ignore Missing XML comment warnings on build
    
    * Remove async, ignore NU5118 on package
    
    * Apparently i forgot a semi colon....
    
    * Remove old collision code.
    
    * Move collision code to root folder
    
    * Fix namespaces
    
    * Add failing test for collisions.
    
    * Add benchmarks for collisions
    
    * Refactor collision update, correct reset map
    
    * Add BoundingRectanglle property for IShape
    
    * Refactor QuadTree - now we use static AABB intersection check
    
    * Add layers for collisions
    
    * Add interface for space splitting and impls
    
    * Refactor layers for new interface
    
    * Add comments for collision actor.
    
    * Add comments for space algo interface.
    
    * Add spatialHash algo for collision spacing
    
    * Rename Quadtree to QuadTree
    
    * Add inline for private methods of SpatialHash.cs
    
    * Refactor benchmarks for collisions.
    
    * Fix tests
    
    * Refactor layers.
    
    * Add method for set default layer
    
    * Fix ctor call's
    
    * Add constructor for CollisionComponent.cs
    
    * Add extentions for ContentImporter.
    
    * Add speical contentItem for referencing images.
    
    * Fix tiledMap processing and writing.
    
    * Add texture for tile.
    
    * Add image tileset support
    
    * Fix using ctor from remote
    
    * Fix version
    
    * Fix CiCD
    
    * Add copy constructor for KeyboardListener.
    
    * Revert "Add copy constructor for KeyboardListener."
    
    * Add serializer for RectangleF
    
    * Add test for new serizalizer
    
    * Add RectangleFJsonConverter for default serializer.
    
    * Fixed HSL lerp
    
    * Move extracting linear operations into special class.
    
    * Move impls of linear tweening into special class.
    
    * Add ColorTween
    
    * Add special TweenTo.
    
    * Fix TweenTo
    
    * Add tweening tests
    
    * Fix activator inside tweener.
    
    * Check for undefined layer and throw on collision actor insertion
    
    * Add test coverage
    
    * Add OrientedBoundingRectangle type
    
    * Add Points property to OrientedBoundingRectangle
    
    * Ignore Visual Studio cache
    
    * Be explicit about conversion of geometries
    
    Conversion from circle to rectangle should not pass unnoted and be explicit.
    
    * OrientedBoundedRectangle implements ShapeF
    
    In that way the OrientedBoundedRectangle can take part of collision tests.
    
    * Add ascii art to describe intersection tests
    
    * Update circle and oriented bound box intersection
    
    * Update dependencies
    
    * Add Intersects method for OBB
    
    * Rename to OrientedRectangle
    
    * Properly intersect circle and oriented rect
    
    * Calc coll vector for circle and oriented rect
    
    * Calc coll vector for oriented rects
    
    * Fixes incorrect rendering of flipped animation tiles
    
    * Call RectangleF.Intersects to resolve recursion bug
    When both params `a` and `b` are of type `RectangleF` just calling `Shape.Intersects` creates a infinite recursion bug.
    
    * Update Newtonsoft.Json.dll Dependency
    
    * Removing MyGet Feed Deploy
    Lithiums MyGet feed won't allow the NuGet push due to the SemVersions of the package containing a 4th build number value.
    
    * Moved to `/src/cs`
    Moved benchmark and tweening test projects into the `/src/cs` to keep project organization constancy.
    
    * Move build into `/src/cs`
    
    * Fix project reference
    
    * Fix path for project on build task
    
    * Capital B
    
    * Changed the Flip Flag array to be private and readonly and added a public property that returns the backing field as a ReadOnlySpan.
    
    * Move source projects into source directory
    
    * Moved tests into test directory
    
    * Moved benchmarks into benchmark directory
    
    * Moved build into build directory
    
    * Add root props file
    
    * Add common props for all tests
    
    * Added `<Authors>` to root props
    
    * Add common props for source  directory
    
    * Add props to build directory
    
    * Moved props from targets file
    
    * Removed targets file
    
    * Update for new .artifacts directory
    
    * nuget.config is not needed
    
    * Renamed 'Logos' directory to 'logos'
    Case sensitivity matters depending on operating system, so it's more convenient where possible to keep directory names lower case
    
    * Use correct working directory after moving
    
    * Remove duplicate import statement
    
    * Read from props file not targets file.
    
    * Use new .artifacts directory
    
    * Updated .gitattributes
    
    * Updated .gitignore
    
    * Set ArtifactPath within the project category directory
    
    * Drop CAKE build and move Build CI to github workflow
    
    * Setup code analysis with .editorconfig
    
    * Don't use nullable reference in a non-nullable context
    
    * Correct spelling of minimal
    
    * Fix GitHub Nuget Push (#859)
    
    * Fix github url for nuget push
    
    * forgot the h in https
    
    * Remove GitHub Deploy (#860)
    
    * Fix github url for nuget push
    
    * forgot the h in https
    
    * Remove github push for now, need to check repository settings
    
    * Cleanup (#862)
    
    * Removed Roadmap
    The Roadmap seems to have been initially added to show the plans to switch to an FNA fork and act as a bridge for katabasis.  This is no longer the case for this repository as it will remain focused at the moment on MonoGame support only.
    
    * Added new note at top of readme
    
    * updated information for installing nuget
    
    * Made using content pipeline extensions a section and not a quote
    
    * Removed information about MyGet feed
    
    * Removed patreon from readme
    
    * Update License
    
    * renamed master branch to main
    
    * Remove community forum link
    MonoGame is closing the community forums in favor of discord and github discussions
    
    * Update workflows
    
    * Removed patreon added aristurtledev (#863)
    
    * Fix funding (#864)
    
    * Use ArtifactsPath to resolve include dlls for pack (#865)
    
    * Add additional input parameters (#866)
    
    * Only specify source and prerelease (#867)
    
    * Update prerelease version (#868)
    
    * Replace Newtonsoft.Json with System.Text.Json (#869)
    
    * Converted to use `System.Text.Json`
    
    * Remove Newtonsoft.Json Dependency
    Newtonsoft.Json dependency has been removed in favor of System.Text.Json
    
    * Treat MGFXO file as binary
    
    * Replace `Matrix2` with `Matrix3x2` (#870)
    
    * Replace `Matrix2` with `Matrix3x2`
    
    * Update benchmarks
    
    * Add XML documentation for `Matrix3x2`
    
    * Add Edge Test for `Polygon.Contains` (#871)
    
    * Added Assert for edge contains
    Reference: #214
    
    * Renamed to PolygonTests
    
    * Replace `Size3` with `Vector3` (#872)
    
    * Rename `Size2` to `SizeF` (#873)
    
    * Remove `Point3` (#874)
    
    * Remove `Point2` (#875)
    
    * Added `CalculateMinimumVector2` and `CalculateMaximumVector2` as replacement for `Point2.Minimum` and `Point2.Maximum`
    
    * Remove `Point2`
    
    * Added unit test to ensure issue is resolved (#876)
    
    * Add unit test for `ContentReaderExtensions.GetRelativeAssetName` (#877)
    
    * Implements standard IDispose pattern (#879)
    
    * upgrade solution to VS2022 (#880)
    
    * update project types to net.Sdk
    
    * upgrade solution to VS2022
    
    * Remove unnecessary dependencies to SharpDX and Content.Pipeline from the core library (#881)
    
    * remove unused SharpDX using
    
    introduces in #840
    
    * remove Content.Pipeline reference from the core library
    
    introduced in #692
    
    * use System ZLibStream (#882)
    
    ZLibStream was added in net6
    
    https://learn.microsoft.com/en-us/dotnet/api/system.io.compression.zlibstream?view=net-8.0
    
    * Added changelog (#883)
    
    * Added changelog
    
    * Added note about unreleased
    
    * Make links for users (#884)
    
    * Copy Reference DLLs from NuGet Automatically (#885)
    
    * Pack value should be `true` not `True`
    
    * Copy content pipeline dll references to project directory for ease of use
    
    * Forgot `/` in path
    
    * Updated Changelog (#886)
    
    Added information about #885
    
    * Refactor `BitmapFont` (#887)
    
    * Update file header
    
    * Created initial project to move BitmapFont too
    
    * XMl, Text, and Binar reading now supported for BMFont
    
    * Refactor BittmapFont
    
    * Update content pipeline from BitmapFont refactor
    
    * Update changelog
    
    * Updated ComponentManager to implement IEnumerable<ComponentMapper> (#823) (#888)
    
    * Update Changelog (#889)
    
    * Updated so all projects have changelog in root when viewing in visual studio
    
    * Updated changelog
    
    * Texture Atlas Refactor (#890)
    
    * Moved `TextureRegion2D` and `NinePatchRegion2D` into Graphics namespace
    These are used for more than just texture atlas related things and are primarly for working with `Texture2D` instances and creating sub textures from them.  Moving them to Graphics namespace where `Texture2D` lives in MonoGame
    
    * Dropped the `2D` suffix from `TextureRegion2D` and `NinePatchRegion2D`
    
    * Moved `RectanglExtensions` to project root
    This moves the extensions for `Rectangle` to the same relative namespace location as `Rectangle` is in MonoGame.
    
    * Renamed to `Rectangle.Extensions.cs`
    
    * Separate `Rectangle` from `RectangleF` extensions
    
    * Added `GetRelativeRectangle` method
    
    * Updated documentation
    
    * Added `GetRelativeRectangle` method
    
    * Updated documentation
    
    * Top-level namespace
    
    * Remove whitespace
    
    * Move properties up
    
    * Top-level namespace
    
    * Don't recreate structs for `Bounds` and Size`
    By having the property return a new struct, this allocates on the stack during situations like a loop during draw.
    
    * Size should be `Size` not `SizeF` value
    Textures deal in pixels (ints not floats)
    
    * Removed setter for `Texture` property
    Texture should not be set after region is created
    
    * Added UV properties
    
    * Refactor constructors
    
    * Added documentation
    
    * Added license header
    
    * Make it an actual extension method
    
    * Added `GetSubRegion` extension methods for `TextureRegion`
    
    * Update documentation about ObjectDisposedException
    
    * Move const values to top
    
    * Resolve errors from`TextureRegion` refactor
    
    * Update unit tests for TextureRegion refactor
    
    * Started NinePatch rework
    
    * Refactored NinePatch
    
    * Update for texture region constructor change
    
    * Remove ninepatch from atlas
    
    * Moved `TextureAtlasExtensions` into `SpriteBatch.Extensions`
    These are extension methods for the sprite batch
    
    * Updated to use new `DrawTextureRegion` method after rename
    
    * Renamed to NinePatchJsonConverter
    
    * Removed `GetRegion<T>`
    TextureAtlas no longer contains nine patch regions, so this method isn't needed
    
    * Update after `NinePatchRegion2DJsonConverter` name change
    
    * Resolve errors from NinePatch refactor
    
    * TextureAtlas rework
    
    * Renamed `TextureRegion` to `Texture2DRegion`
    
    * Moved ContentReaders to new Content\ContentReaders directory
    
    * Moved TextureAtlasJsonConvert to Serialization directory
    
    * Adjusted name from `Texture*` to `Texture2D*`
    
    * Update runtimereader and runtimettype strings
    
    * Kni.Extended (#892)
    
    * KNI projects
    
    * update actions
    
    fixes MSBUILD : error MSB1011: Specify which project or solution file to
    use because this folder contains more than one project or solution file.
    
    * remove test for issue #633
    
    * build tests
    
    * KNI TypeReaders
    
    * KNI/XNA compatible code
    
    * GetRuntimeReader from runtime types
    
    * remove MockGameWindow
    
    * Fna.Extended (#893)
    
    * FNA projects
    
    * update actions
    
    fixes MSBUILD : error MSB1011: Specify which project or solution file to
    use because this folder contains more than one project or solution file.
    
    * build tests
    
    * remove test for issue #633
    
    * FNA/XNA compatible
    
    * GraphicsDevice Extensions
    
    * remove MockGameWindow
    
    ---------
    
    Co-authored-by: Christopher Whitley <[email protected]>
    
    * Sprite Rework (#897)
    
    * Add file header
    
    * Refator to file-scoped namespace
    
    * Least complex to most complext method ordering
    
    * Refactor: Group properties at top before constructor
    
    * Use the new UV properties from Texture2DRegion.
    This removes the dependency on the texture size in the calculations if the TextureRegion property is changed.
    
    * No longer need to cache normalized origin to preserve it
    
    * Use ArgumentNullException instead
    
    * Use ArgumentNullException.ThrowIfNull
    
    * Refactor:  Use brackets for readability
    
    * Add xml documentation
    
    * Add check for disposed texture
    
    * Moved `Sprite` to `MonoGame.Extended.Graphics`
    
    * Moved extension methods for rendering sprite into `SpriteBatch.Extensions`
    
    * `ISpriteBatchDrawable` is not used by anything
    It was originally part of the ScreneGraph implementation in MonoGame.Extended which was replaced by the ECS system.  It appears that this interface was forgotten to be removed and is not used for anything anymore.
    
    * Add `CreateSprite` methods
    
    * Add file header
    
    * Moved `SpriteSheetAnimationFrame` to `MonoGame.Extended.Graphics`
    
    * Move properties before constructor.
    
    * Changed `Duration` to `TimeSpan` type
    
    * Renamed `Index` to `FrameIndex`
    
    * Add `TextureRegion` property
    
    * Make property get only
    
    * Cleanup whitespace
    
    * Remove `SpriteSheetAnimationFrameJsonConverter`
    
    * Cleanup unused namespaces
    
    * Make file-scoped namespace
    
    * Added xml documentation
    
    * Added file header
    
    * marked constructor as internal.
    This will be created from a spritesheet itself
    
    * Move `SpriteSheetAnimationCycle` to `MonoGame.Extended.Graphcis`
    
    * File scoped namespace
    
    * Add file header
    
    * Reorganize: Move properties above constructor
    
    * Make `Frames` property a read-only span
    
    * Remove duration, this is being moved to the frame itself
    
    * Add `Name` property
    
    * Set looping, reversed, and ping pong properties in ctor
    
    * Make ctor internal
    This will be an object created by a spritesheet instane itself.
    
    * Cleanup: Whitespace
    
    * Add `FrameCount` property
    
    * Add `GetFrame` method and accompanying `this[int]` method.
    
    * Documentation: Added missing documentation.
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * WIP: Temporary commit for workstation change
    
    * Refactor: Animation Refactor Completed
    
    * Refactor: Sprite stuff finished
    
    * Remove tests that can't be run on GitHub CI
    Need to find alternative
    
    * Make optional name param the last param in Texture2DRegion ctors
    
    * Resolve merge conflicts
    
    * Add Kni Package (#898)
    
    * Capitalize KNI (#899)
    
    * Resolves NullReferenceException When Getting Invalid Key From TiledMapProperties (#903)
    
    * Add test to validate issue
    
    * Resolve issue
    
    * Fix `NullReferenceException` in `ObjectPool` when reusing all returned items (#904)
    
    * Replaced delegate with Action<T>
    
    * Change delegate to Action<T>
    
    * Add unit test to confirm issue
    
    * Fix NullReferenceException in ObjectPool when reusing all returned items
    
    The ObjectPool's Use() method was throwing a NullReferenceException when
    all items had been returned to the pool and New() was called again. This
    was due to _tailNode being null in this scenario.
    
    Added a null check for _tailNode in Use() method to properly reinitialize
    the linked list structure when the pool has been emptied and refilled.
    
    * Moved MonoGame.Extended.Gui to its own repository (#905)
    
    * Update animated sprite so the constructor api is similar to original MGE (#906)
    
    * Update animated sprite so the constructor api is similar to original MGE
    
    * Fix tests from changes
    
    * Add pitch support to Camera & OrthographicCamera (#907)
    
    * Added pitch support to OrthographicCamera
    
    * Added pitch functions to base Camera class
    
    * Reorganization (#909)
    
    * Removed MonoGame.Extended.Animations
    This project was just a shell that referenced MonoGame.Extended.csproj. It added no additional functionality.
    
    * Rework BitmapFonts for new project organization.
    
    * Cleanup namespaces
    
    * Cleanup namespaces
    
    * Move MonoGame.Extended.Collision into base project
    
    * Moved MonoGame.Extended.Entities into base project
    
    * Moved MonoGame.Extended.Graphics into base project
    
    * Moved MonoGame.Extended.Graphics into base project
    
    * Moved MonoGame.Extended.Input into base project
    
    * Moved MonoGame.Extended.Particles into base project
    
    * Moved MonoGame.Extended.Tiled into base project
    
    * Moved MonoGame.Extended.Tiled into base project
    
    * Moved MonoGame.Extended.Tweening into base project
    
    * Removing SpriteFactory support
    This will be added back in at a later date once the SpriteFactory application has been updated
    
    * Update TexturePacker content import support
    
    * Only needs to reference base project now
    
    * Moved to Serialization namespace
    
    * Moved  Json serialization to Serialization.Json namespace
    
    * Moved TexturePacker content DTOs to the Content namespace
    
    * Renamed to Texture2DRegion.Extensions.cs
    
    * Cleaned up namespace
    
    * Moved ReadTiledMapProperties into the ContentReaderExtensions
    
    * Created an Extended content manager
    
    * Moved Tweening tests to base test project
    
    * Moved Tiled test to base test project
    
    * Moved Entities Tests to base test project
    
    * Moved Entities tests to base test project
    
    * Moved Collisions tests to base test project
    
    * Moved Pipeline Tiled test to Pipeline tests project
    
    * Use `var` instead of full type name
    
    * Add Tiled namespace
    
    * Correct `Metadata` property name to new `Meta` property name
    
    * Cleanup namespace
    
    * Add effects namespace
    
    * Add Content namespace
    
    * Update using statements to new namespaces
    
    * Move Pipeline Tiled tests to Pipeline test project
    
    * Use correct namespace
    
    * Use `var` instead of typing out nested types
    
    * Remove unused namespaces
    
    * Update to new namespaces
    
    * Remove unused namespaces
    
    * Update to new namespaces
    
    * Remove dependency on Particles csproj
    
    * Update included content on build
    
    * Add embedded resources
    
    * Merge multi csproj structure into single csproj structure
    
    * TexturePackerPoint properties should be `double` not `int`
    
    * Update csproj
    
    * Use dotnet tool to rebuild effects
    
    * Move effect compilation to targets file
    This will ensure the effects are always built
    
    * Fix workflow to build effects on linux
    
    * Set wine path
    
    * Export instead of using actions env section
    
    * Revert back to manual effect compile until automation can be solved on GitHub Ubuntu runner
    
    * Make CurrentFrame return the actual frame index from the source atlas
    
    * Start the animation controller playing, don't make the consumer manually call it initially
    
    * Play is automatically called in the controller ctor
    
    * Added property to get name of current animation
    
    * Only copy reference files if user opts in by specifying property in csproj
    
    * Update Kni solution to new project structure
    
    * Update Fna solution to new project structure
    
    * Bump version number to 4.0.0
    
    * Update release workflow
    
    * Remove old test
    
    * Fix KNI specific issues
    
    * Update for Fna
    
    ---------
    
    Co-authored-by: Andreas Torebring <[email protected]>
    Co-authored-by: Lucas Girouard-Stranks <[email protected]>
    Co-authored-by: Matt Johnson <[email protected]>
    Co-authored-by: Kus <[email protected]>
    Co-authored-by: slakedclay <[email protected]>
    Co-authored-by: Cairo Batista <[email protected]>
    Co-authored-by: Gandifil <[email protected]>
    Co-authored-by: David Fidge <[email protected]>
    Co-authored-by: Lucas Girouard-Stranks <[email protected]>
    Co-authored-by: Lilith Silver <anon>
    Co-authored-by: KatDevsGames <[email protected]>
    Co-authored-by: LACOMBE Dominique <[email protected]>
    Co-authored-by: Apllify <[email protected]>
    Co-authored-by: Stephen <[email protected]>
    Co-authored-by: jimmy b <[email protected]>
    Co-authored-by: Nikos Kastellanos <[email protected]>
    Co-authored-by: Mike Bowers <[email protected]>
    Co-authored-by: James <[email protected]>
    18 people authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    a588762 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. Squashed commit of the following:

    commit 8b3c2f0e1b9ada5649a4fab690e60476559f0320
    Author: Christopher Whitley <[email protected]>
    Date:   Tue Jul 9 15:22:33 2024 -0400
    
        Various fixes for the version 4 initial release (#915)
    
        * Remove logging statement, not needed
    
        * Add bmfont texture as dependency
    
        * Remove existing instance check, this will always be null
    
        * Fix BitmapFontContentReader
    
        * Remove TODO comment
        This was added 8 years ago, and I don't see any determinant to the states being global.
    
        * Renamed `Refresh` to `Update`
    
        * Added documentation comments
    
        * file scoped namespace
    
        * Remove unnecessary using
    
        * Add file header
    
        * Remove obsolete methods and update documentation
    
        * file scoped namespace
    
        * Remove TODO comment
        The fields being static is fine.
    
        * Renamed `Refersh` to `Update`
    
        * Add documentation
    
        * file scoped namespace
    
        * Add documentation
    
        * Remove deprecated methods
    
    commit 1d440c9d7d62fee6405fc33d8e50ac248124f9c5
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jul 8 18:54:38 2024 -0400
    
        Release/v4 (#914)
    
        * Make CurrentFrame return the actual frame index from the source atlas
    
        * Start the animation controller playing, don't make the consumer manually call it initially
    
        * Play is automatically called in the controller ctor
    
        * Added property to get name of current animation
    
        * Only copy reference files if user opts in by specifying property in csproj
    
        * Update Kni solution to new project structure
    
        * Update Fna solution to new project structure
    
        * Bump version number to 4.0.0
    
        * Update release workflow
    
        * Remove old test
    
        * Version 4.0.0 Release (#911)
    
        * Remove duplicate fact
    
        * Add .user file to gitignore
    
        * Assert Rectangle translation transform
    
        * Assert Rectangle transform not changing size
    
        * Rectangle extents are rotated correctly
    
        * Rebuilt effects with mgfxc 3.8.1.303
    
        * Uncomment and fix tests
    
        * Remove tests always passing
    
        * Issue 707, Created test for null ptr during entity destroy
    
        * Issue 707, Added null propagation inside component manager destroy method
    
        * Create VelocityInterpolator
    
        Allow particles to change velocity as they age.
    
        * add power of two values to MouseButton
    
        * Add parallaxFactor of layers in models.
    
        * Add parallaxFactor in rendering logic.
    
        * Add checking event == 'push'
    
        * Fix looping animations incorrectly completing when an update contains a large elapsed time.
        Ping pong waits until frame delay is complete on re-entry of the first frame before firing Complete rather than firing Complete immediately upon entering the frame.  This makes it consistent with a non ping pong animation which waits for the frame delay of the last frame before it fires Complete.
        Ping Pong now finishes on the first frame rather than potentially finishing on a different frame if the elapsed time since last update was larger than the time remaining for the animation to become complete.
        Add unit tests for SpriteSheetAnimation.
    
        * Update README.md
    
        * Use actual target bounds when testing collision
    
        * Cleanup
    
        * Refactor
    
        Encapsulate a public property (Parents).
        Added xml-comments (to fix some compilation warnings)
    
        * Format comments and fix spelling
    
        * Add comments for public fields and properties
    
        * fix Bag so that it doesn't allocate during foreach enumeration
    
        * add bag allocation test
    
        * make WasKey/ButtonJustDown/Up obsolete and replace with clarified versions
    
        * add support for class (nested) properties
    
        * support type/class field in maps, layers, & tilemaps
    
        * Update PrimitiveDrawing.cs
    
        Add a new DrawSolidCircle to add a fill color
    
        * fix allocating WasAnyKeyJustDown method; add GetPressedKeys non-alloc overload
    
        * Use Directory.Build.targets
        Moved common csproj properties for NuGet into Directory.Build.targets
    
        * Added version tag
        This is so we don't have to rely on github runner actions to generate the version number, and we can use it in the build scripts
    
        * PackageIconUrl is deprecated
        NuGet packages should use PacakgeIcon with a packed image inside the NuGet insetad of PackageIconUrl
    
        * Pack README.md in NuGet packages
    
        * Add common tags for NuGet packages
        Added the `<RepositoryType>`, `<RepositoryBranch>`, `<NeutralLanguage>` and `<PacakgeLicenseExpression>` tags
    
        * Added new Cake Frosting project
    
        * Cleaned up
        Cleaned up the Program.cs for the Cake Frosting project.  Added the working direcotry directive
    
        * Added BuildContext
    
        * Added BuildTask
    
        * Added Test Task
    
        * Added Package Task
    
        * Added Default task
    
        * Added namespace
    
        * Cleanup using statements
    
        * Ignore cake output directory
    
        * Updated and automated for NuGet pushing
    
        * Check for GCLatencyMode.NoGCRegion
        This test fails occasionaly when run through the automated cake script.  Wrapped the EndNoGCREgion in a check for GCTatencyMode.NoGCRegion to resolve
    
        * Forgot to add System.Runtime using statement
    
        * Better name for package step
    
        * NuGet Deploy only in craftworksgames repo
    
        * Enable Nullable in build project
    
        * Add additional context variables for build script
    
        * Use same verbosity, restore, and logo flags as originally used
    
        * Use same verbosity and nologo setting as original
    
        * Created Restore task
    
        Uses same verbosity as original workflow did
    
        * Update TestTask to use same verbosity, nologo, and nobuild as original workflow
    
        * Create DeployToGithubTask
    
        * Create DeployToMyGetTask
    
        * Create DeployToNuGetTask
    
        * Added Deploy task
    
        * Simplify, move most logic into cake build script
    
        * Ignore Missing XML comment warnings on build
    
        * Remove async, ignore NU5118 on package
    
        * Apparently i forgot a semi colon....
    
        * Remove old collision code.
    
        * Move collision code to root folder
    
        * Fix namespaces
    
        * Add failing test for collisions.
    
        * Add benchmarks for collisions
    
        * Refactor collision update, correct reset map
    
        * Add BoundingRectanglle property for IShape
    
        * Refactor QuadTree - now we use static AABB intersection check
    
        * Add layers for collisions
    
        * Add interface for space splitting and impls
    
        * Refactor layers for new interface
    
        * Add comments for collision actor.
    
        * Add comments for space algo interface.
    
        * Add spatialHash algo for collision spacing
    
        * Rename Quadtree to QuadTree
    
        * Add inline for private methods of SpatialHash.cs
    
        * Refactor benchmarks for collisions.
    
        * Fix tests
    
        * Refactor layers.
    
        * Add method for set default layer
    
        * Fix ctor call's
    
        * Add constructor for CollisionComponent.cs
    
        * Add extentions for ContentImporter.
    
        * Add speical contentItem for referencing images.
    
        * Fix tiledMap processing and writing.
    
        * Add texture for tile.
    
        * Add image tileset support
    
        * Fix using ctor from remote
    
        * Fix version
    
        * Fix CiCD
    
        * Add copy constructor for KeyboardListener.
    
        * Revert "Add copy constructor for KeyboardListener."
    
        * Add serializer for RectangleF
    
        * Add test for new serizalizer
    
        * Add RectangleFJsonConverter for default serializer.
    
        * Fixed HSL lerp
    
        * Move extracting linear operations into special class.
    
        * Move impls of linear tweening into special class.
    
        * Add ColorTween
    
        * Add special TweenTo.
    
        * Fix TweenTo
    
        * Add tweening tests
    
        * Fix activator inside tweener.
    
        * Check for undefined layer and throw on collision actor insertion
    
        * Add test coverage
    
        * Add OrientedBoundingRectangle type
    
        * Add Points property to OrientedBoundingRectangle
    
        * Ignore Visual Studio cache
    
        * Be explicit about conversion of geometries
    
        Conversion from circle to rectangle should not pass unnoted and be explicit.
    
        * OrientedBoundedRectangle implements ShapeF
    
        In that way the OrientedBoundedRectangle can take part of collision tests.
    
        * Add ascii art to describe intersection tests
    
        * Update circle and oriented bound box intersection
    
        * Update dependencies
    
        * Add Intersects method for OBB
    
        * Rename to OrientedRectangle
    
        * Properly intersect circle and oriented rect
    
        * Calc coll vector for circle and oriented rect
    
        * Calc coll vector for oriented rects
    
        * Fixes incorrect rendering of flipped animation tiles
    
        * Call RectangleF.Intersects to resolve recursion bug
        When both params `a` and `b` are of type `RectangleF` just calling `Shape.Intersects` creates a infinite recursion bug.
    
        * Update Newtonsoft.Json.dll Dependency
    
        * Removing MyGet Feed Deploy
        Lithiums MyGet feed won't allow the NuGet push due to the SemVersions of the package containing a 4th build number value.
    
        * Moved to `/src/cs`
        Moved benchmark and tweening test projects into the `/src/cs` to keep project organization constancy.
    
        * Move build into `/src/cs`
    
        * Fix project reference
    
        * Fix path for project on build task
    
        * Capital B
    
        * Changed the Flip Flag array to be private and readonly and added a public property that returns the backing field as a ReadOnlySpan.
    
        * Move source projects into source directory
    
        * Moved tests into test directory
    
        * Moved benchmarks into benchmark directory
    
        * Moved build into build directory
    
        * Add root props file
    
        * Add common props for all tests
    
        * Added `<Authors>` to root props
    
        * Add common props for source  directory
    
        * Add props to build directory
    
        * Moved props from targets file
    
        * Removed targets file
    
        * Update for new .artifacts directory
    
        * nuget.config is not needed
    
        * Renamed 'Logos' directory to 'logos'
        Case sensitivity matters depending on operating system, so it's more convenient where possible to keep directory names lower case
    
        * Use correct working directory after moving
    
        * Remove duplicate import statement
    
        * Read from props file not targets file.
    
        * Use new .artifacts directory
    
        * Updated .gitattributes
    
        * Updated .gitignore
    
        * Set ArtifactPath within the project category directory
    
        * Drop CAKE build and move Build CI to github workflow
    
        * Setup code analysis with .editorconfig
    
        * Don't use nullable reference in a non-nullable context
    
        * Correct spelling of minimal
    
        * Fix GitHub Nuget Push (#859)
    
        * Fix github url for nuget push
    
        * forgot the h in https
    
        * Remove GitHub Deploy (#860)
    
        * Fix github url for nuget push
    
        * forgot the h in https
    
        * Remove github push for now, need to check repository settings
    
        * Cleanup (#862)
    
        * Removed Roadmap
        The Roadmap seems to have been initially added to show the plans to switch to an FNA fork and act as a bridge for katabasis.  This is no longer the case for this repository as it will remain focused at the moment on MonoGame support only.
    
        * Added new note at top of readme
    
        * updated information for installing nuget
    
        * Made using content pipeline extensions a section and not a quote
    
        * Removed information about MyGet feed
    
        * Removed patreon from readme
    
        * Update License
    
        * renamed master branch to main
    
        * Remove community forum link
        MonoGame is closing the community forums in favor of discord and github discussions
    
        * Update workflows
    
        * Removed patreon added aristurtledev (#863)
    
        * Fix funding (#864)
    
        * Use ArtifactsPath to resolve include dlls for pack (#865)
    
        * Add additional input parameters (#866)
    
        * Only specify source and prerelease (#867)
    
        * Update prerelease version (#868)
    
        * Replace Newtonsoft.Json with System.Text.Json (#869)
    
        * Converted to use `System.Text.Json`
    
        * Remove Newtonsoft.Json Dependency
        Newtonsoft.Json dependency has been removed in favor of System.Text.Json
    
        * Treat MGFXO file as binary
    
        * Replace `Matrix2` with `Matrix3x2` (#870)
    
        * Replace `Matrix2` with `Matrix3x2`
    
        * Update benchmarks
    
        * Add XML documentation for `Matrix3x2`
    
        * Add Edge Test for `Polygon.Contains` (#871)
    
        * Added Assert for edge contains
        Reference: https://github.com/craftworkgames/MonoGame.Extended/issues/214
    
        * Renamed to PolygonTests
    
        * Replace `Size3` with `Vector3` (#872)
    
        * Rename `Size2` to `SizeF` (#873)
    
        * Remove `Point3` (#874)
    
        * Remove `Point2` (#875)
    
        * Added `CalculateMinimumVector2` and `CalculateMaximumVector2` as replacement for `Point2.Minimum` and `Point2.Maximum`
    
        * Remove `Point2`
    
        * Added unit test to ensure issue is resolved (#876)
    
        * Add unit test for `ContentReaderExtensions.GetRelativeAssetName` (#877)
    
        * Implements standard IDispose pattern (#879)
    
        * upgrade solution to VS2022 (#880)
    
        * update project types to net.Sdk
    
        * upgrade solution to VS2022
    
        * Remove unnecessary dependencies to SharpDX and Content.Pipeline from the core library (#881)
    
        * remove unused SharpDX using
    
        introduces in #840
    
        * remove Content.Pipeline reference from the core library
    
        introduced in #692
    
        * use System ZLibStream (#882)
    
        ZLibStream was added in net6
    
        https://learn.microsoft.com/en-us/dotnet/api/system.io.compression.zlibstream?view=net-8.0
    
        * Added changelog (#883)
    
        * Added changelog
    
        * Added note about unreleased
    
        * Make links for users (#884)
    
        * Copy Reference DLLs from NuGet Automatically (#885)
    
        * Pack value should be `true` not `True`
    
        * Copy content pipeline dll references to project directory for ease of use
    
        * Forgot `/` in path
    
        * Updated Changelog (#886)
    
        Added information about #885
    
        * Refactor `BitmapFont` (#887)
    
        * Update file header
    
        * Created initial project to move BitmapFont too
    
        * XMl, Text, and Binar reading now supported for BMFont
    
        * Refactor BittmapFont
    
        * Update content pipeline from BitmapFont refactor
    
        * Update changelog
    
        * Updated ComponentManager to implement IEnumerable<ComponentMapper> (#823) (#888)
    
        * Update Changelog (#889)
    
        * Updated so all projects have changelog in root when viewing in visual studio
    
        * Updated changelog
    
        * Texture Atlas Refactor (#890)
    
        * Moved `TextureRegion2D` and `NinePatchRegion2D` into Graphics namespace
        These are used for more than just texture atlas related things and are primarly for working with `Texture2D` instances and creating sub textures from them.  Moving them to Graphics namespace where `Texture2D` lives in MonoGame
    
        * Dropped the `2D` suffix from `TextureRegion2D` and `NinePatchRegion2D`
    
        * Moved `RectanglExtensions` to project root
        This moves the extensions for `Rectangle` to the same relative namespace location as `Rectangle` is in MonoGame.
    
        * Renamed to `Rectangle.Extensions.cs`
    
        * Separate `Rectangle` from `RectangleF` extensions
    
        * Added `GetRelativeRectangle` method
    
        * Updated documentation
    
        * Added `GetRelativeRectangle` method
    
        * Updated documentation
    
        * Top-level namespace
    
        * Remove whitespace
    
        * Move properties up
    
        * Top-level namespace
    
        * Don't recreate structs for `Bounds` and Size`
        By having the property return a new struct, this allocates on the stack during situations like a loop during draw.
    
        * Size should be `Size` not `SizeF` value
        Textures deal in pixels (ints not floats)
    
        * Removed setter for `Texture` property
        Texture should not be set after region is created
    
        * Added UV properties
    
        * Refactor constructors
    
        * Added documentation
    
        * Added license header
    
        * Make it an actual extension method
    
        * Added `GetSubRegion` extension methods for `TextureRegion`
    
        * Update documentation about ObjectDisposedException
    
        * Move const values to top
    
        * Resolve errors from`TextureRegion` refactor
    
        * Update unit tests for TextureRegion refactor
    
        * Started NinePatch rework
    
        * Refactored NinePatch
    
        * Update for texture region constructor change
    
        * Remove ninepatch from atlas
    
        * Moved `TextureAtlasExtensions` into `SpriteBatch.Extensions`
        These are extension methods for the sprite batch
    
        * Updated to use new `DrawTextureRegion` method after rename
    
        * Renamed to NinePatchJsonConverter
    
        * Removed `GetRegion<T>`
        TextureAtlas no longer contains nine patch regions, so this method isn't needed
    
        * Update after `NinePatchRegion2DJsonConverter` name change
    
        * Resolve errors from NinePatch refactor
    
        * TextureAtlas rework
    
        * Renamed `TextureRegion` to `Texture2DRegion`
    
        * Moved ContentReaders to new Content\ContentReaders directory
    
        * Moved TextureAtlasJsonConvert to Serialization directory
    
        * Adjusted name from `Texture*` to `Texture2D*`
    
        * Update runtimereader and runtimettype strings
    
        * Kni.Extended (#892)
    
        * KNI projects
    
        * update actions
    
        fixes MSBUILD : error MSB1011: Specify which project or solution file to
        use because this folder contains more than one project or solution file.
    
        * remove test for issue #633
    
        * build tests
    
        * KNI TypeReaders
    
        * KNI/XNA compatible code
    
        * GetRuntimeReader from runtime types
    
        * remove MockGameWindow
    
        * Fna.Extended (#893)
    
        * FNA projects
    
        * update actions
    
        fixes MSBUILD : error MSB1011: Specify which project or solution file to
        use because this folder contains more than one project or solution file.
    
        * build tests
    
        * remove test for issue #633
    
        * FNA/XNA compatible
    
        * GraphicsDevice Extensions
    
        * remove MockGameWindow
    
        ---------
    
        Co-authored-by: Christopher Whitley <[email protected]>
    
        * Sprite Rework (#897)
    
        * Add file header
    
        * Refator to file-scoped namespace
    
        * Least complex to most complext method ordering
    
        * Refactor: Group properties at top before constructor
    
        * Use the new UV properties from Texture2DRegion.
        This removes the dependency on the texture size in the calculations if the TextureRegion property is changed.
    
        * No longer need to cache normalized origin to preserve it
    
        * Use ArgumentNullException instead
    
        * Use ArgumentNullException.ThrowIfNull
    
        * Refactor:  Use brackets for readability
    
        * Add xml documentation
    
        * Add check for disposed texture
    
        * Moved `Sprite` to `MonoGame.Extended.Graphics`
    
        * Moved extension methods for rendering sprite into `SpriteBatch.Extensions`
    
        * `ISpriteBatchDrawable` is not used by anything
        It was originally part of the ScreneGraph implementation in MonoGame.Extended which was replaced by the ECS system.  It appears that this interface was forgotten to be removed and is not used for anything anymore.
    
        * Add `CreateSprite` methods
    
        * Add file header
    
        * Moved `SpriteSheetAnimationFrame` to `MonoGame.Extended.Graphics`
    
        * Move properties before constructor.
    
        * Changed `Duration` to `TimeSpan` type
    
        * Renamed `Index` to `FrameIndex`
    
        * Add `TextureRegion` property
    
        * Make property get only
    
        * Cleanup whitespace
    
        * Remove `SpriteSheetAnimationFrameJsonConverter`
    
        * Cleanup unused namespaces
    
        * Make file-scoped namespace
    
        * Added xml documentation
    
        * Added file header
    
        * marked constructor as internal.
        This will be created from a spritesheet itself
    
        * Move `SpriteSheetAnimationCycle` to `MonoGame.Extended.Graphcis`
    
        * File scoped namespace
    
        * Add file header
    
        * Reorganize: Move properties above constructor
    
        * Make `Frames` property a read-only span
    
        * Remove duration, this is being moved to the frame itself
    
        * Add `Name` property
    
        * Set looping, reversed, and ping pong properties in ctor
    
        * Make ctor internal
        This will be an object created by a spritesheet instane itself.
    
        * Cleanup: Whitespace
    
        * Add `FrameCount` property
    
        * Add `GetFrame` method and accompanying `this[int]` method.
    
        * Documentation: Added missing documentation.
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * Refactor: Animation Refactor Completed
    
        * Refactor: Sprite stuff finished
    
        * Remove tests that can't be run on GitHub CI
        Need to find alternative
    
        * Make optional name param the last param in Texture2DRegion ctors
    
        * Resolve merge conflicts
    
        * Add Kni Package (#898)
    
        * Capitalize KNI (#899)
    
        * Resolves NullReferenceException When Getting Invalid Key From TiledMapProperties (#903)
    
        * Add test to validate issue
    
        * Resolve issue
    
        * Fix `NullReferenceException` in `ObjectPool` when reusing all returned items (#904)
    
        * Replaced delegate with Action<T>
    
        * Change delegate to Action<T>
    
        * Add unit test to confirm issue
    
        * Fix NullReferenceException in ObjectPool when reusing all returned items
    
        The ObjectPool's Use() method was throwing a NullReferenceException when
        all items had been returned to the pool and New() was called again. This
        was due to _tailNode being null in this scenario.
    
        Added a null check for _tailNode in Use() method to properly reinitialize
        the linked list structure when the pool has been emptied and refilled.
    
        * Moved MonoGame.Extended.Gui to its own repository (#905)
    
        * Update animated sprite so the constructor api is similar to original MGE (#906)
    
        * Update animated sprite so the constructor api is similar to original MGE
    
        * Fix tests from changes
    
        * Add pitch support to Camera & OrthographicCamera (#907)
    
        * Added pitch support to OrthographicCamera
    
        * Added pitch functions to base Camera class
    
        * Reorganization (#909)
    
        * Removed MonoGame.Extended.Animations
        This project was just a shell that referenced MonoGame.Extended.csproj. It added no additional functionality.
    
        * Rework BitmapFonts for new project organization.
    
        * Cleanup namespaces
    
        * Cleanup namespaces
    
        * Move MonoGame.Extended.Collision into base project
    
        * Moved MonoGame.Extended.Entities into base project
    
        * Moved MonoGame.Extended.Graphics into base project
    
        * Moved MonoGame.Extended.Graphics into base project
    
        * Moved MonoGame.Extended.Input into base project
    
        * Moved MonoGame.Extended.Particles into base project
    
        * Moved MonoGame.Extended.Tiled into base project
    
        * Moved MonoGame.Extended.Tiled into base project
    
        * Moved MonoGame.Extended.Tweening into base project
    
        * Removing SpriteFactory support
        This will be added back in at a later date once the SpriteFactory application has been updated
    
        * Update TexturePacker content import support
    
        * Only needs to reference base project now
    
        * Moved to Serialization namespace
    
        * Moved  Json serialization to Serialization.Json namespace
    
        * Moved TexturePacker content DTOs to the Content namespace
    
        * Renamed to Texture2DRegion.Extensions.cs
    
        * Cleaned up namespace
    
        * Moved ReadTiledMapProperties into the ContentReaderExtensions
    
        * Created an Extended content manager
    
        * Moved Tweening tests to base test project
    
        * Moved Tiled test to base test project
    
        * Moved Entities Tests to base test project
    
        * Moved Entities tests to base test project
    
        * Moved Collisions tests to base test project
    
        * Moved Pipeline Tiled test to Pipeline tests project
    
        * Use `var` instead of full type name
    
        * Add Tiled namespace
    
        * Correct `Metadata` property name to new `Meta` property name
    
        * Cleanup namespace
    
        * Add effects namespace
    
        * Add Content namespace
    
        * Update using statements to new namespaces
    
        * Move Pipeline Tiled tests to Pipeline test project
    
        * Use correct namespace
    
        * Use `var` instead of typing out nested types
    
        * Remove unused namespaces
    
        * Update to new namespaces
    
        * Remove unused namespaces
    
        * Update to new namespaces
    
        * Remove dependency on Particles csproj
    
        * Update included content on build
    
        * Add embedded resources
    
        * Merge multi csproj structure into single csproj structure
    
        * TexturePackerPoint properties should be `double` not `int`
    
        * Update csproj
    
        * Use dotnet tool to rebuild effects
    
        * Move effect compilation to targets file
        This will ensure the effects are always built
    
        * Fix workflow to build effects on linux
    
        * Set wine path
    
        * Export instead of using actions env section
    
        * Revert back to manual effect compile until automation can be solved on GitHub Ubuntu runner
    
        * Make CurrentFrame return the actual frame index from the source atlas
    
        * Start the animation controller playing, don't make the consumer manually call it initially
    
        * Play is automatically called in the controller ctor
    
        * Added property to get name of current animation
    
        * Only copy reference files if user opts in by specifying property in csproj
    
        * Update Kni solution to new project structure
    
        * Update Fna solution to new project structure
    
        * Bump version number to 4.0.0
    
        * Update release workflow
    
        * Remove old test
    
        ---------
    
        Co-authored-by: Andreas Torebring <[email protected]>
        Co-authored-by: Lucas Girouard-Stranks <[email protected]>
        Co-authored-by: Matt Johnson <[email protected]>
        Co-authored-by: Kus <[email protected]>
        Co-authored-by: slakedclay <[email protected]>
        Co-authored-by: Cairo Batista <[email protected]>
        Co-authored-by: Gandifil <[email protected]>
        Co-authored-by: David Fidge <[email protected]>
        Co-authored-by: Lucas Girouard-Stranks <[email protected]>
        Co-authored-by: Lilith Silver <anon>
        Co-authored-by: KatDevsGames <[email protected]>
        Co-authored-by: LACOMBE Dominique <[email protected]>
        Co-authored-by: Apllify <[email protected]>
        Co-authored-by: Stephen <[email protected]>
        Co-authored-by: jimmy b <[email protected]>
        Co-authored-by: Nikos Kastellanos <[email protected]>
        Co-authored-by: Mike Bowers <[email protected]>
        Co-authored-by: James <[email protected]>
    
        * Fix KNI specific issues
    
        * Update for Fna
    
        ---------
    
        Co-authored-by: Andreas Torebring <[email protected]>
        Co-authored-by: Lucas Girouard-Stranks <[email protected]>
        Co-authored-by: Matt Johnson <[email protected]>
        Co-authored-by: Kus <[email protected]>
        Co-authored-by: slakedclay <[email protected]>
        Co-authored-by: Cairo Batista <[email protected]>
        Co-authored-by: Gandifil <[email protected]>
        Co-authored-by: David Fidge <[email protected]>
        Co-authored-by: Lucas Girouard-Stranks <[email protected]>
        Co-authored-by: KatDevsGames <[email protected]>
        Co-authored-by: LACOMBE Dominique <[email protected]>
        Co-authored-by: Apllify <[email protected]>
        Co-authored-by: Stephen <[email protected]>
        Co-authored-by: jimmy b <[email protected]>
        Co-authored-by: Nikos Kastellanos <[email protected]>
        Co-authored-by: Mike Bowers <[email protected]>
        Co-authored-by: James <[email protected]>
    
    commit 0fe10642179021524bcb22bf0489b984779da754
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jul 8 18:27:54 2024 -0400
    
        Merge Release into Develop (#912)
    
        * Make CurrentFrame return the actual frame index from the source atlas
    
        * Start the animation controller playing, don't make the consumer manually call it initially
    
        * Play is automatically called in the controller ctor
    
        * Added property to get name of current animation
    
        * Only copy reference files if user opts in by specifying property in csproj
    
        * Update Kni solution to new project structure
    
        * Update Fna solution to new project structure
    
        * Bump version number to 4.0.0
    
        * Update release workflow
    
        * Remove old test
    
    commit 3a5269cfeac8ab42ac3855139650d84919ed66d4
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jul 6 23:46:20 2024 -0400
    
        Reorganization (#909)
    
        * Removed MonoGame.Extended.Animations
        This project was just a shell that referenced MonoGame.Extended.csproj. It added no additional functionality.
    
        * Rework BitmapFonts for new project organization.
    
        * Cleanup namespaces
    
        * Cleanup namespaces
    
        * Move MonoGame.Extended.Collision into base project
    
        * Moved MonoGame.Extended.Entities into base project
    
        * Moved MonoGame.Extended.Graphics into base project
    
        * Moved MonoGame.Extended.Graphics into base project
    
        * Moved MonoGame.Extended.Input into base project
    
        * Moved MonoGame.Extended.Particles into base project
    
        * Moved MonoGame.Extended.Tiled into base project
    
        * Moved MonoGame.Extended.Tiled into base project
    
        * Moved MonoGame.Extended.Tweening into base project
    
        * Removing SpriteFactory support
        This will be added back in at a later date once the SpriteFactory application has been updated
    
        * Update TexturePacker content import support
    
        * Only needs to reference base project now
    
        * Moved to Serialization namespace
    
        * Moved  Json serialization to Serialization.Json namespace
    
        * Moved TexturePacker content DTOs to the Content namespace
    
        * Renamed to Texture2DRegion.Extensions.cs
    
        * Cleaned up namespace
    
        * Moved ReadTiledMapProperties into the ContentReaderExtensions
    
        * Created an Extended content manager
    
        * Moved Tweening tests to base test project
    
        * Moved Tiled test to base test project
    
        * Moved Entities Tests to base test project
    
        * Moved Entities tests to base test project
    
        * Moved Collisions tests to base test project
    
        * Moved Pipeline Tiled test to Pipeline tests project
    
        * Use `var` instead of full type name
    
        * Add Tiled namespace
    
        * Correct `Metadata` property name to new `Meta` property name
    
        * Cleanup namespace
    
        * Add effects namespace
    
        * Add Content namespace
    
        * Update using statements to new namespaces
    
        * Move Pipeline Tiled tests to Pipeline test project
    
        * Use correct namespace
    
        * Use `var` instead of typing out nested types
    
        * Remove unused namespaces
    
        * Update to new namespaces
    
        * Remove unused namespaces
    
        * Update to new namespaces
    
        * Remove dependency on Particles csproj
    
        * Update included content on build
    
        * Add embedded resources
    
        * Merge multi csproj structure into single csproj structure
    
        * TexturePackerPoint properties should be `double` not `int`
    
        * Update csproj
    
        * Use dotnet tool to rebuild effects
    
        * Move effect compilation to targets file
        This will ensure the effects are always built
    
        * Fix workflow to build effects on linux
    
        * Set wine path
    
        * Export instead of using actions env section
    
        * Revert back to manual effect compile until automation can be solved on GitHub Ubuntu runner
    
    commit 00a0d4a343aa091076ceb3f2e3c9c12483666479
    Author: James <[email protected]>
    Date:   Sun Jul 7 13:45:59 2024 +1000
    
        Add pitch support to Camera & OrthographicCamera (#907)
    
        * Added pitch support to OrthographicCamera
    
        * Added pitch functions to base Camera class
    
    commit 2ad7a9d3db28cc41694947703c36edfe518a171b
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jul 1 12:33:23 2024 -0400
    
        Update animated sprite so the constructor api is similar to original MGE (#906)
    
        * Update animated sprite so the constructor api is similar to original MGE
    
        * Fix tests from changes
    
    commit 98ee05f58a1334811613bfcf560605e2bea71bd4
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 29 18:28:12 2024 -0400
    
        Moved MonoGame.Extended.Gui to its own repository (#905)
    
    commit 1f3f1c5aa09fad03f3c168a64723dbbe77a5e995
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 29 17:50:43 2024 -0400
    
        Fix `NullReferenceException` in `ObjectPool` when reusing all returned items (#904)
    
        * Replaced delegate with Action<T>
    
        * Change delegate to Action<T>
    
        * Add unit test to confirm issue
    
        * Fix NullReferenceException in ObjectPool when reusing all returned items
    
        The ObjectPool's Use() method was throwing a NullReferenceException when
        all items had been returned to the pool and New() was called again. This
        was due to _tailNode being null in this scenario.
    
        Added a null check for _tailNode in Use() method to properly reinitialize
        the linked list structure when the pool has been emptied and refilled.
    
    commit 93473744d73016ceee8bf5bac2433fbec8893865
    Author: Christopher Whitley <[email protected]>
    Date:   Fri Jun 28 21:02:10 2024 -0400
    
        Resolves NullReferenceException When Getting Invalid Key From TiledMapProperties (#903)
    
        * Add test to validate issue
    
        * Resolve issue
    
    commit 9614a622925f4f2e17d4c04bd44ab8fca003960d
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jun 24 19:08:26 2024 -0400
    
        Capitalize KNI (#899)
    
    commit 5b2a44ad284ee31402f4b6852d04f2754b387b0e
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jun 24 19:04:33 2024 -0400
    
        Add Kni Package (#898)
    
    commit a501f76162478bfc4f8b2d6e4faac15b67145dac
    Author: Christopher Whitley <[email protected]>
    Date:   Sun Jun 23 23:10:16 2024 -0400
    
        Sprite Rework (#897)
    
        * Add file header
    
        * Refator to file-scoped namespace
    
        * Least complex to most complext method ordering
    
        * Refactor: Group properties at top before constructor
    
        * Use the new UV properties from Texture2DRegion.
        This removes the dependency on the texture size in the calculations if the TextureRegion property is changed.
    
        * No longer need to cache normalized origin to preserve it
    
        * Use ArgumentNullException instead
    
        * Use ArgumentNullException.ThrowIfNull
    
        * Refactor:  Use brackets for readability
    
        * Add xml documentation
    
        * Add check for disposed texture
    
        * Moved `Sprite` to `MonoGame.Extended.Graphics`
    
        * Moved extension methods for rendering sprite into `SpriteBatch.Extensions`
    
        * `ISpriteBatchDrawable` is not used by anything
        It was originally part of the ScreneGraph implementation in MonoGame.Extended which was replaced by the ECS system.  It appears that this interface was forgotten to be removed and is not used for anything anymore.
    
        * Add `CreateSprite` methods
    
        * Add file header
    
        * Moved `SpriteSheetAnimationFrame` to `MonoGame.Extended.Graphics`
    
        * Move properties before constructor.
    
        * Changed `Duration` to `TimeSpan` type
    
        * Renamed `Index` to `FrameIndex`
    
        * Add `TextureRegion` property
    
        * Make property get only
    
        * Cleanup whitespace
    
        * Remove `SpriteSheetAnimationFrameJsonConverter`
    
        * Cleanup unused namespaces
    
        * Make file-scoped namespace
    
        * Added xml documentation
    
        * Added file header
    
        * marked constructor as internal.
        This will be created from a spritesheet itself
    
        * Move `SpriteSheetAnimationCycle` to `MonoGame.Extended.Graphcis`
    
        * File scoped namespace
    
        * Add file header
    
        * Reorganize: Move properties above constructor
    
        * Make `Frames` property a read-only span
    
        * Remove duration, this is being moved to the frame itself
    
        * Add `Name` property
    
        * Set looping, reversed, and ping pong properties in ctor
    
        * Make ctor internal
        This will be an object created by a spritesheet instane itself.
    
        * Cleanup: Whitespace
    
        * Add `FrameCount` property
    
        * Add `GetFrame` method and accompanying `this[int]` method.
    
        * Documentation: Added missing documentation.
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * WIP: Temporary commit for workstation change
    
        * Refactor: Animation Refactor Completed
    
        * Refactor: Sprite stuff finished
    
        * Remove tests that can't be run on GitHub CI
        Need to find alternative
    
        * Make optional name param the last param in Texture2DRegion ctors
    
        * Resolve merge conflicts
    
    commit 4ecb74f6b6247130b6ae31ad1c6b2395b5416556
    Author: Nikos Kastellanos <[email protected]>
    Date:   Mon Jun 24 05:49:58 2024 +0300
    
        Fna.Extended (#893)
    
        * FNA projects
    
        * update actions
    
        fixes MSBUILD : error MSB1011: Specify which project or solution file to
        use because this folder contains more than one project or solution file.
    
        * build tests
    
        * remove test for issue #633
    
        * FNA/XNA compatible
    
        * GraphicsDevice Extensions
    
        * remove MockGameWindow
    
        ---------
    
        Co-authored-by: Christopher Whitley <[email protected]>
    
    commit 2bbdc38b51d5ff8017dee2721741885b4dcfe9f7
    Author: Nikos Kastellanos <[email protected]>
    Date:   Mon Jun 24 05:38:20 2024 +0300
    
        Kni.Extended (#892)
    
        * KNI projects
    
        * update actions
    
        fixes MSBUILD : error MSB1011: Specify which project or solution file to
        use because this folder contains more than one project or solution file.
    
        * remove test for issue #633
    
        * build tests
    
        * KNI TypeReaders
    
        * KNI/XNA compatible code
    
        * GetRuntimeReader from runtime types
    
        * remove MockGameWindow
    
    commit 8850875fb4453936ae6b803f5d71cf6cbf0a93ab
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 15 01:37:18 2024 -0400
    
        Texture Atlas Refactor (#890)
    
        * Moved `TextureRegion2D` and `NinePatchRegion2D` into Graphics namespace
        These are used for more than just texture atlas related things and are primarly for working with `Texture2D` instances and creating sub textures from them.  Moving them to Graphics namespace where `Texture2D` lives in MonoGame
    
        * Dropped the `2D` suffix from `TextureRegion2D` and `NinePatchRegion2D`
    
        * Moved `RectanglExtensions` to project root
        This moves the extensions for `Rectangle` to the same relative namespace location as `Rectangle` is in MonoGame.
    
        * Renamed to `Rectangle.Extensions.cs`
    
        * Separate `Rectangle` from `RectangleF` extensions
    
        * Added `GetRelativeRectangle` method
    
        * Updated documentation
    
        * Added `GetRelativeRectangle` method
    
        * Updated documentation
    
        * Top-level namespace
    
        * Remove whitespace
    
        * Move properties up
    
        * Top-level namespace
    
        * Don't recreate structs for `Bounds` and Size`
        By having the property return a new struct, this allocates on the stack during situations like a loop during draw.
    
        * Size should be `Size` not `SizeF` value
        Textures deal in pixels (ints not floats)
    
        * Removed setter for `Texture` property
        Texture should not be set after region is created
    
        * Added UV properties
    
        * Refactor constructors
    
        * Added documentation
    
        * Added license header
    
        * Make it an actual extension method
    
        * Added `GetSubRegion` extension methods for `TextureRegion`
    
        * Update documentation about ObjectDisposedException
    
        * Move const values to top
    
        * Resolve errors from`TextureRegion` refactor
    
        * Update unit tests for TextureRegion refactor
    
        * Started NinePatch rework
    
        * Refactored NinePatch
    
        * Update for texture region constructor change
    
        * Remove ninepatch from atlas
    
        * Moved `TextureAtlasExtensions` into `SpriteBatch.Extensions`
        These are extension methods for the sprite batch
    
        * Updated to use new `DrawTextureRegion` method after rename
    
        * Renamed to NinePatchJsonConverter
    
        * Removed `GetRegion<T>`
        TextureAtlas no longer contains nine patch regions, so this method isn't needed
    
        * Update after `NinePatchRegion2DJsonConverter` name change
    
        * Resolve errors from NinePatch refactor
    
        * TextureAtlas rework
    
        * Renamed `TextureRegion` to `Texture2DRegion`
    
        * Moved ContentReaders to new Content\ContentReaders directory
    
        * Moved TextureAtlasJsonConvert to Serialization directory
    
        * Adjusted name from `Texture*` to `Texture2D*`
    
        * Update runtimereader and runtimettype strings
    
    commit 9bd208184f28fcaa32c720d2dc3d14cd47cea9be
    Author: Christopher Whitley <[email protected]>
    Date:   Tue Jun 11 11:22:10 2024 -0400
    
        Update Changelog (#889)
    
        * Updated so all projects have changelog in root when viewing in visual studio
    
        * Updated changelog
    
    commit 82daabb12005c6771f88baada3c09b918fbadacb
    Author: Mike Bowers <[email protected]>
    Date:   Tue Jun 11 11:14:36 2024 -0400
    
        Updated ComponentManager to implement IEnumerable<ComponentMapper> (#823) (#888)
    
    commit 66277568c826e5fc7e2a558496cf25e19cf50e50
    Author: Christopher Whitley <[email protected]>
    Date:   Tue Jun 11 00:25:10 2024 -0400
    
        Refactor `BitmapFont` (#887)
    
        * Update file header
    
        * Created initial project to move BitmapFont too
    
        * XMl, Text, and Binar reading now supported for BMFont
    
        * Refactor BittmapFont
    
        * Update content pipeline from BitmapFont refactor
    
        * Update changelog
    
    commit 1f0235c605708c51c634152157471edca94a956f
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jun 3 00:30:29 2024 -0400
    
        Updated Changelog (#886)
    
        Added information about #885
    
    commit 792aa89809236c938fb9ab4d5d460b4d38070e30
    Author: Christopher Whitley <[email protected]>
    Date:   Mon Jun 3 00:27:38 2024 -0400
    
        Copy Reference DLLs from NuGet Automatically (#885)
    
        * Pack value should be `true` not `True`
    
        * Copy content pipeline dll references to project directory for ease of use
    
        * Forgot `/` in path
    
    commit d40ad10459341c0dcc13e629b898e6ed6b2187b1
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 1 17:34:24 2024 -0400
    
        Make links for users (#884)
    
    commit 4675bff3d438646f759a7990016927835c8d0d30
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 1 17:22:23 2024 -0400
    
        Added changelog (#883)
    
        * Added changelog
    
        * Added note about unreleased
    
    commit cfb97d47e37a27c5d5baee0cb2af6455b6396f89
    Author: Nikos Kastellanos <[email protected]>
    Date:   Sun Jun 2 00:12:56 2024 +0300
    
        use System ZLibStream (#882)
    
        ZLibStream was added in net6
    
        https://learn.microsoft.com/en-us/dotnet/api/system.io.compression.zlibstream?view=net-8.0
    
    commit 980d7a0c00281ec301cc80be9845b134bd9cd8e5
    Author: Nikos Kastellanos <[email protected]>
    Date:   Sun Jun 2 00:10:38 2024 +0300
    
        Remove unnecessary dependencies to SharpDX and Content.Pipeline from the core library (#881)
    
        * remove unused SharpDX using
    
        introduces in #840
    
        * remove Content.Pipeline reference from the core library
    
        introduced in #692
    
    commit 8810a4ce7e7261a8a40d05528048b975e55bf8f2
    Author: Nikos Kastellanos <[email protected]>
    Date:   Sun Jun 2 00:08:44 2024 +0300
    
        upgrade solution to VS2022 (#880)
    
        * update project types to net.Sdk
    
        * upgrade solution to VS2022
    
    commit dcf1589066a8c04761c1f0184b2ec5197f26119d
    Author: Christopher Whitley <[email protected]>
    Date:   Sat Jun 1 17:05:51 2024 -0400
    
        Implements standard IDispose pattern (#879)
    
    commit 1119f82ff61e150b6868cda0162ed54c15bf00e9
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 11:40:59 2024 -0400
    
        Add unit test for `ContentReaderExtensions.GetRelativeAssetName` (#877)
    
    commit b9c011bee92f9d0ab67dfd675d7611201c73e6d2
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 11:11:50 2024 -0400
    
        Added unit test to ensure issue is resolved (#876)
    
    commit 9239fced04e8969fa10e4a33ca8f44f3a8e58979
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 01:32:50 2024 -0400
    
        Remove `Point2` (#875)
    
        * Added `CalculateMinimumVector2` and `CalculateMaximumVector2` as replacement for `Point2.Minimum` and `Point2.Maximum`
    
        * Remove `Point2`
    
    commit 0427aa3ded75e195e40410c7b60192ef5b50b57d
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 00:29:14 2024 -0400
    
        Remove `Point3` (#874)
    
    commit 25206c57da3cc93f0b19ad179e327fd94679d34b
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 00:23:49 2024 -0400
    
        Rename `Size2` to `SizeF` (#873)
    
    commit 27108ba8d0c58d93f6cd5e16f97728f5ef208c2c
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 29 00:01:26 2024 -0400
    
        Replace `Size3` with `Vector3` (#872)
    
    commit 89c8984079c534c873aba1cf38f061ab16187605
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 27 17:58:54 2024 -0400
    
        Add Edge Test for `Polygon.Contains` (#871)
    
        * Added Assert for edge contains
        Reference: https://github.com/craftworkgames/MonoGame.Extended/issues/214
    
        * Renamed to PolygonTests
    
    commit 49038f5d428b03a13dc8e1010b6b6962ff51ca43
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 27 15:44:38 2024 -0400
    
        Replace `Matrix2` with `Matrix3x2` (#870)
    
        * Replace `Matrix2` with `Matrix3x2`
    
        * Update benchmarks
    
        * Add XML documentation for `Matrix3x2`
    
    commit d008b1bd4104be237a156a15a46e5e11353bc262
    Author: Christopher Whitley <[email protected]>
    Date:   Wed May 22 23:23:36 2024 -0400
    
        Replace Newtonsoft.Json with System.Text.Json (#869)
    
        * Converted to use `System.Text.Json`
    
        * Remove Newtonsoft.Json Dependency
        Newtonsoft.Json dependency has been removed in favor of System.Text.Json
    
        * Treat MGFXO file as binary
    
    commit ee0883ebb415a773bb5871202089adc8cc42c3a2
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 18:40:23 2024 -0400
    
        Update prerelease version (#868)
    
    commit 0867284bd72651b56da840a5c8cdb13317c9dec7
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 18:32:46 2024 -0400
    
        Only specify source and prerelease (#867)
    
    commit 7bda811f4a68b619bcb3d7d8ef43bde379ef2e62
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 18:21:00 2024 -0400
    
        Add additional input parameters (#866)
    
    commit f8376db06a43c53f450c62e240f3a41c7583e520
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 18:19:24 2024 -0400
    
        Use ArtifactsPath to resolve include dlls for pack (#865)
    
    commit 4d582fe850cde7abc0ebcddef19526bd2d78d47b
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 02:24:27 2024 -0400
    
        Fix funding (#864)
    
    commit 43e313eb502157209b30a43b686ce91d81a8057b
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 02:20:55 2024 -0400
    
        Removed patreon added aristurtledev (#863)
    
    commit 9a7ce46635ffcc7a135bb69a2280d56681d86909
    Author: Christopher Whitley <[email protected]>
    Date:   Mon May 20 02:12:43 2024 -0400
    
        Cleanup (#862)
    
        * Removed Roadmap
        The Roadmap seems to have been initially added to show the plans to switch to an FNA fork and act as a bridge for katabasis.  This is no longer the case for this repository as it will remain focused at the moment on MonoGame support only.
    
        * Added new note at top of readme
    
        * updated information for installing nuget
    
        * Made using content pipeline extensions a section and not a quote
    
        * Removed information about MyGet feed
    
        * Removed patreon from readme
    
        * Update License
    
        * renamed master branch to main
    
        * Remove community forum link
        MonoGame is closing the community forums in favor of discord and github discussions
    
        * Update workflows
    
    commit 0a17af482983eb211a18e7335143fe4f3658e64b
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 16:23:26 2024 -0400
    
        Remove GitHub Deploy (#860)
    
        * Fix github url for nuget push
    
        * forgot the h in https
    
        * Remove github push for now, need to check repository settings
    
    commit c16d831088794b17dd002ec4486bba8a219c2b8a
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 16:17:05 2024 -0400
    
        Fix GitHub Nuget Push (#859)
    
        * Fix github url for nuget push
    
        * forgot the h in https
    
    commit 8b34b0465194b50906db99db4f3b6890b7c24cac
    Merge: 9c5f7cd3 8c09ca14
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 16:12:06 2024 -0400
    
        Merge pull request #858 from craftworkgames/reorg
    
        Reorginze project strcture
    
    commit 8c09ca1495c023c901f78ccc1c885b623a24a34c
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 16:07:58 2024 -0400
    
        Correct spelling of minimal
    
    commit 694b595694994a105666980c432b2f09493de193
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:53:41 2024 -0400
    
        Don't use nullable reference in a non-nullable context
    
    commit f25d972b88ec5b2e6c26efdb6488a366684058d7
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:53:24 2024 -0400
    
        Setup code analysis with .editorconfig
    
    commit 24d9477a0f41e9581f4c9ae49e5d593855ab73c0
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:28:33 2024 -0400
    
        Drop CAKE build and move Build CI to github workflow
    
    commit 6b0297575505d42695c44b77dec8709ac3f6f711
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:27:43 2024 -0400
    
        Set ArtifactPath within the project category directory
    
    commit 36eb2c66bc05f693d270b341527c40d598712312
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:25:54 2024 -0400
    
        Updated .gitignore
    
    commit 8b991b804143a5d01f148bd04b152544f4c32645
    Author: Christopher Whitley <[email protected]>
    Date:   Sun May 19 15:25:36 2024 -0400
    
        Updated .gitattributes
    
    commit 4bcf940e08681d4faf414c1a5179194b60d6526d
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:50:55 2024 -0400
    
        Use new .artifacts directory
    
    commit 33be3682386d28eabd4892e5589e9a0713b8d19c
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:40:49 2024 -0400
    
        Read from props file not targets file.
    
    commit 126b79dd42a11fc67ae4bb3e4fdada263e246b0e
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:40:34 2024 -0400
    
        Remove duplicate import statement
    
    commit 7aa97cd90908dd6f0e7e28170e00f23289dfd604
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:40:22 2024 -0400
    
        Use correct working directory after moving
    
    commit 85903027f0e7605948aeb1b01f9e3360021a9003
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:37:29 2024 -0400
    
        Renamed 'Logos' directory to 'logos'
        Case sensitivity matters depending on operating system, so it's more convenient where possible to keep directory names lower case
    
    commit 399236428cd9616b1c6b1779fc229e69867a4e14
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:33:19 2024 -0400
    
        nuget.config is not needed
    
    commit a5f16a0cb969bdac09fa369f7d9ef713e051e40a
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:30:49 2024 -0400
    
        Update for new .artifacts directory
    
    commit 00808876f1df29a14480dff65634288a3a4f5d6a
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:29:53 2024 -0400
    
        Removed targets file
    
    commit a85188eb320c89cd9767ec064e38bba85fc832e8
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:29:48 2024 -0400
    
        Moved props from targets file
    
    commit a5c18a6f70481df46470a0e5ccaa3a3b418ababe
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:15:58 2024 -0400
    
        Add props to build directory
    
    commit 32bb9d560143599fad98f8adc58ae7fbc1ea0f2e
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:01:47 2024 -0400
    
        Add common props for source  directory
    
    commit 2696b4f5f4e9284d681bb9b2676fddec6d228059
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 21:01:16 2024 -0400
    
        Added `<Authors>` to root props
    
    commit a5209fecad095fb6e8f6bd289287ab6fd307b7e9
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 20:40:12 2024 -0400
    
        Add common props for all tests
    
    commit f4aff0e6a1202aefd6f6e59f32d3f12680b66df7
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 20:39:58 2024 -0400
    
        Add root props file
    
    commit 99b995d6b1457a57f755f2198059a97104f1e2c8
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 20:04:57 2024 -0400
    
        Moved build into build directory
    
    commit 7e5ffdcf6b52ef2f1860fc64a17a231d94db3f25
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 20:02:59 2024 -0400
    
        Moved benchmarks into benchmark directory
    
    commit f68cff17bf6b0e1c11f242b4090a41badd26caf9
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 20:01:37 2024 -0400
    
        Moved tests into test directory
    
    commit a4d72eaf6c2d8c8f30343b6f37e19c23f68a4c4e
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 19:59:41 2024 -0400
    
        Move source projects into source directory
    
    commit 9c5f7cd3b441ec04c178135429a04f8b35fd29b3
    Merge: 455ea4d5 55bfe25c
    Author: Christopher Whitley <[email protected]>
    Date:   Sat May 18 15:30:58 2024 -0400
    
        Merge pull request #846 from tigurx/tiled_animation_flip_fix
    
        Fixes incorrect rendering of flipped animation tiles
    
    commit 55bfe25c94aa8ea0fc6169fb69a4ab9a30d8c584
    Merge: a7b0a123 aea6ee4c
    Author: jimmy b <[email protected]>
    Date:   Sat May 18 13:17:47 2024 -0500
    
        Merge branch 'tiled_animation_flip_fix' of https://github.com/tigurx/MonoGame.Extended into tiled_animation_flip_fix
    
    commit aea6ee4c91139d585f5fee94ec38481e5120aaf9
    Merge: 021949fe 455ea4d5
    Author: tigurx <[email protected]>
    Date:   Sat May 18 13:15:19 2024 -0500
    
        Merge branch 'craftworkgames:develop' into tiled_animation_flip_fix
    
    commit a7b0a123831550f57ddb13b21da8584c63d9f995
    Author: jimmy b <[email protected]>
    Date:   Sat May 18 13:14:32 2024 -0500
    
        Changed the Flip Flag array to be private and readonly and added a public property that returns the backing field as a ReadOnlySpan.
    
    commit 455ea4d561d7efe6ab7100a7f0fcbbb403f301f2
    Merge: d650e64b 6c6d00e2
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 22:24:58 2024 -0400
    
        Merge pull request #857 from AristurtleDev/reorg
    
        Move build, benchmarks and tweening test into `/src/cs` directory
    
    commit 6c6d00e2345df0711717b69dca0b6be42ed30f91
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 22:22:48 2024 -0400
    
        Capital B
    
    commit 0ff198c75faebb156aff4aa6b8bc70d757c400b4
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 22:19:57 2024 -0400
    
        Fix path for project on build task
    
    commit b935e2318e2a26fc3a96abecc695942eddb5be7c
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 22:16:03 2024 -0400
    
        Fix project reference
    
    commit a99c384d153fbf0fe1c85d5831dca18408b78b0c
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 22:15:54 2024 -0400
    
        Move build into `/src/cs`
    
    commit 021949fe8f1c436c1ff1e07b849659525fa33fa9
    Merge: a166f340 d650e64b
    Author: tigurx <[email protected]>
    Date:   Fri May 17 14:23:23 2024 -0500
    
        Merge branch 'craftworkgames:develop' into tiled_animation_flip_fix
    
    commit 2c13bf193321ed91c6e0965366948213d53b144b
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 12:05:09 2024 -0400
    
        Moved to `/src/cs`
        Moved benchmark and tweening test projects into the `/src/cs` to keep project organization constancy.
    
    commit d650e64b4447e7fe9f388b0780bce5ab8d22fa83
    Merge: 0a25e0bd ed2371b5
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 10:38:51 2024 -0400
    
        Merge pull request #856 from AristurtleDev/disable/myget-feed
    
        Removing MyGet Feed Deploy
    
    commit ed2371b55a0b3504a9dbae3ed1805ef073aa7ec7
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 10:31:28 2024 -0400
    
        Removing MyGet Feed Deploy
        Lithiums MyGet feed won't allow the NuGet push due to the SemVersions of the package containing a 4th build number value.
    
    commit 0a25e0bdf7b6e355760d40ae9db2f748fbe4fb0f
    Merge: 04283d58 72e4490a
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 10:19:01 2024 -0400
    
        Merge pull request #852 from AristurtleDev/fix/intersetcs-recursion-bug
    
        Resolves Infinite Recursion with Shape.Intersects(this IShapeF, IShapeF)
    
    commit 04283d58eecb5dce23d598ff4add32867a9f19f1
    Merge: 4da89293 cd4a47ae
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 10:18:17 2024 -0400
    
        Merge pull request #854 from AristurtleDev/fix/update-newtonsoft-dependency
    
        Update Newtonsoft.Json.dll Dependency
    
    commit cd4a47ae358ecedb66f66521055e0dfd070a480f
    Author: Christopher Whitley <[email protected]>
    Date:   Fri May 17 00:05:13 2024 -0400
    
        Update Newtonsoft.Json.dll Dependency
    
    commit 72e4490ab9924d062658c8d094f0d4d3cb6e6bbb
    Author: Christopher Whitley <[email protected]>
    Date:   Thu May 16 23:08:33 2024 -0400
    
        Call RectangleF.Intersects to resolve recursion bug
        When both params `a` and `b` are of type `RectangleF` just calling `Shape.Intersects` creates a infinite recursion bug.
    
    commit 4da89293110149a02c19bf4b179da5114c241f10
    Merge: 0dd85c7d e6e26d28
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 28 20:58:39 2024 +0300
    
        Merge pull request #815 from LilithSilver/rename-wasbutton
    
        Improve naming of WasKeyJustDown/Up and WasButtonJustDown/Up
    
    commit e6e26d28fc41cbe1127451d0b2a74b83b5d554c9
    Merge: 7b8be4ce 0dd85c7d
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 28 20:58:25 2024 +0300
    
        Merge branch 'develop' into rename-wasbutton
    
    commit 0dd85c7d8063aeafb3de7ca681a68c8c04e1c60a
    Merge: 0012e0e9 0fe364a2
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 28 19:54:50 2024 +0300
    
        Merge pull request #820 from LilithSilver/add-missing-getpressedkeys
    
        Decrease allocation overhead on KeyboardStateExtended
    
    commit a166f34078ebb1b64d4548eec1ad077af795bd77
    Author: jimmy b <[email protected]>
    Date:   Sun Apr 28 11:39:21 2024 -0500
    
        Fixes incorrect rendering of flipped animation tiles
    
    commit 0012e0e988202c4057c2eb899c374cc22dc18b47
    Merge: a19b1e68 a342fedf
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 28 19:26:47 2024 +0300
    
        Merge pull request #840 from toore/feature-oriented-bounding-rectangle
    
        Add oriented rectangle shape for improved collision detection
    
    commit a19b1e688162f83a34e1747522f199484c48765d
    Merge: bde79b89 6cc4b6cb
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 28 16:08:59 2024 +0300
    
        Merge pull request #839 from safoster88/feature/check_for_undefined_layer
    
        Check for undefined layer and throw on collision actor insertion
    
    commit a342fedfd7ea3a1b7b8c0ad9a3d75a3c01e7b74e
    Author: Andreas Torebring <[email protected]>
    Date:   Fri Mar 15 21:27:14 2024 +0100
    
        Calc coll vector for oriented rects
    
    commit 377df892471fd282843b5521b4f8e095f7e7bfb2
    Author: Andreas Torebring <[email protected]>
    Date:   Sun Mar 10 21:23:21 2024 +0100
    
        Calc coll vector for circle and oriented rect
    
    commit bf1159d9f3979193be185c16856768678585be97
    Author: Andreas Torebring <[email protected]>
    Date:   Fri Mar 8 18:16:03 2024 +0100
    
        Properly intersect circle and oriented rect
    
    commit 6a380e381bf9fb370b2fb875ccab14987c4db8b5
    Author: Andreas Torebring <[email protected]>
    Date:   Thu Feb 29 22:11:57 2024 +0100
    
        Rename to OrientedRectangle
    
    commit 1d878727ec377e83e727b006751c89cc55c3f9f2
    Author: Andreas Torebring <[email protected]>
    Date:   Sat Feb 24 00:40:30 2024 +0100
    
        Add Intersects method for OBB
    
    commit 9007c6bd553b2e122610df106dfe1830f54f02a3
    Author: Andreas Torebring <[email protected]>
    Date:   Sun Feb 11 19:26:54 2024 +0100
    
        Update dependencies
    
    commit 0a2ce121349016e6b752b60e0f88ff24276d7046
    Author: Andreas Torebring <[email protected]>
    Date:   Sun Aug 6 19:32:01 2023 +0200
    
        Update circle and oriented bound box intersection
    
    commit c1873c2dec0fa35cbdcca0545e05f146230932ba
    Author: Andreas Torebring <[email protected]>
    Date:   Mon Nov 21 22:57:55 2022 +0100
    
        Add ascii art to describe intersection tests
    
    commit 82303e48b18ac66980479a78eeada200be87b874
    Author: Andreas Torebring <[email protected]>
    Date:   Mon Sep 19 21:55:00 2022 +0200
    
        OrientedBoundedRectangle implements ShapeF
    
        In that way the OrientedBoundedRectangle can take part of collision tests.
    
    commit 135507e8504d92793db233ed63f5884461b8916a
    Author: Andreas Torebring <[email protected]>
    Date:   Mon Sep 19 21:18:33 2022 +0200
    
        Be explicit about conversion of geometries
    
        Conversion from circle to rectangle should not pass unnoted and be explicit.
    
    commit b85f5262759b02f055f3345d257d8eaf2a41a5c2
    Author: Andreas Torebring <[email protected]>
    Date:   Wed Feb 7 21:55:52 2024 +0100
    
        Ignore Visual Studio cache
    
    commit db807cd659b3c89bbfc80c5eca05350a3d668c4a
    Author: Andreas Torebring <[email protected]>
    Date:   Wed Sep 7 01:56:47 2022 +0200
    
        Add Points property to OrientedBoundingRectangle
    
    commit 88a51a6f685f543b154c39f43f2e477f89d52b57
    Author: Andreas Torebring <[email protected]>
    Date:   Mon Sep 5 19:24:24 2022 +0200
    
        Add OrientedBoundingRectangle type
    
    commit bde79b89970010e29e2204042ac717246b20073b
    Merge: 68c0b3d7 5b858d45
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 23:20:37 2024 +0300
    
        Merge pull request #819 from Asthegor/patch-1
    
        Update PrimitiveDrawing.cs
    
    commit 68c0b3d73610774aeb55f6a7352b0cd32dd05e81
    Merge: 37026922 9c0865a2
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 23:16:37 2024 +0300
    
        Merge pull request #818 from KatDevsGames/pipeline-update-map-layer-tilemap-class
    
        support type/class field in maps, layers, & tilemaps
    
    commit 9c0865a2ae696660514bdbb53e11de77c7b183fc
    Merge: 3011110b 37026922
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 23:16:31 2024 +0300
    
        Merge branch 'develop' into pipeline-update-map-layer-tilemap-class
    
    commit 37026922e16424aa4e0e981e9c32133a6b43e503
    Merge: 51aea6c8 ce0a1a2f
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 23:15:13 2024 +0300
    
        Merge pull request #817 from KatDevsGames/pipeline-update-class-properties
    
        add support for class (nested) properties
    
    commit ce0a1a2f8c0b27730f8f8329dc53b839831deaaa
    Merge: fba908f4 51aea6c8
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 23:12:01 2024 +0300
    
        Merge branch 'develop' into pipeline-update-class-properties
    
    commit 51aea6c84a655f07f584aa6ddab27cdf2f57f016
    Merge: 6acc822b c4e4ecb4
    Author: Max Kopjev <[email protected]>
    Date:   Sun Apr 7 21:19:19 2024 +0300
    
        Merge pull request #834 from Apllify/fix-hsl-lerp
    
        Fixed HSL Lerp function
    
    commit 6cc4b6cb967bf9a849d03cc0815bd173bdb83268
    Author: Stephen <[email protected]>
    Date:   Sat Feb 17 13:25:11 2024 +0000
    
        Add test coverage
    
    commit 8d95d499246741b075ffa2e3fb6cfdd0119d91ef
    Author: Stephen <[email protected]>
    Date:   Sat Feb 17 13:15:56 2024 +0000
    
        Check for undefined layer and throw on collision actor insertion
    
    commit 6acc822be1a482ab06045ab5f49f76bf4eddb831
    Merge: c4f9b3cd 79a20706
    Author: Max Kopjev <[email protected]>
    Date:   Mon Jan 22 19:12:29 2024 +0100
    
        Merge pull request #837 from craftworkgames/tweener_enchancing3
    
        Tweener enchancing3
    
    commit 79a20706b191d29ce576cc0cab2fdc18f389af9e
    Author: Gandifil <[email protected]>
    Date:   Mon Jan 22 21:11:44 2024 +0300
    
        Fix activator inside tweener.
    
    commit e93ec550c448db1ddee148fad81afbdb78fb33b1
    Author: Gandifil <[email protected]>
    Date:   Mon Jan 22 21:11:30 2024 +0300
    
        Add tweening tests
    
    commit c4f9b3cddc2a497315eef8620347aefb904a4dcc
    Merge: bb8a70c6 4383bb81
    Author: Max Kopjev <[email protected]>
    Date:   Mon Jan 22 18:26:28 2024 +0100
    
        Merge pull request #836 from craftworkgames/tweener_enchancing2
    
        Fix TweenTo
    
    commit 4383bb811336d3aaca54d827a9b0965e83d40fdf
    Author: Gandifil <[email protected]>
    Date:   Mon Jan 22 20:26:00 2024 +0300
    
        Fix TweenTo
    
    commit bb8a70c607484107c5865b61da863ef19d75a4da
    Merge: 801196c3 a2e3aacb
    Author: Max Kopjev <GandifilM…
    AristurtleDev committed Jul 9, 2024
    Configuration menu
    Copy the full SHA
    39f0a0e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6539a79 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e95cd31 View commit details
    Browse the repository at this point in the history