Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

Releases: tainicom/Aether.Physics2D

Aether.Physics2D v1.7

07 Apr 08:02
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine.

In this Release:

  • fixed Complex.Negate()
  • fixed Complex.Magnitude
  • Complex.Real & Complex.Imaginary fields renamed to Complex.R & Complex.i
  • added generic DynamicTreeBroadPhase. You can now use the BroadPhase independently from the physics engine for simple collision checks
  • removed World.Fluid property
  • removed QuadTreeBroadPhase class
  • removed MathUtils.InvSqrt(...)

Aether.Physics2D v1.6.1

20 Aug 06:53
Compare
Choose a tag to compare

Fix nuget packages for netcore3.1 & net5

Aether.Physics2D v1.6

14 Aug 11:43
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine.

In this Release:

  • Fix Body.Revolutions (Thanks @jaimeadf!)
  • Thread safe events/callbacks
  • The following properties are now read-only collections:
    Body.FixtureList, World
    World.BodyList
    World.JointList
    World.ControllerList
  • Added Joint.World property
  • Added DebugViewFlags.None flag
  • The following methods/properties were marked obsolete:
    Body.IslandIndex
    Body.SetRestitution(...)
    Body.SetFriction(...)
    Body.SetCollisionCategories(...)
    Body.SetCollidesWith(...)
    Body.SetCollisionGroup(...)
    Body.SetIsSensor(...)
  • The following methods/properties were Removed
    World.IsStepping (Deprecated in version 1.3)
    World(AABB span) (Deprecated in version 1.5)
    World.QueryAABB(ref AABB aabb) (Deprecated in version 1.5)
    World.RayCast(Vector2 point1, Vector2 point2) (Deprecated in version 1.5)
    World.TestPointAll(Vector2 point) (Deprecated in version 1.5)

Aether.Physics2D v1.5

18 Jul 08:25
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine.

In this Release:

  • Fix Serialization. Use InvariantCulture for serializing/deserializing.
  • Fix QuadTree RayCast. (Thanks @ldelgiud!)
  • World.Gravity is now a Property and throws InvalidOperationException if set during stepping.
  • Delegate QueryCallback renamed to QueryReportFixtureDelegate to match box2d.
  • Delegate RayCastCallback renamed to RayCastReportFixtureDelegate to match box2d.
  • DebugViewBase and DebugViewFlags moved to Diagnostics.
  • Improve memory allocation of internal buffers.
  • Internal callbacks for Query/RayCast are cached.
  • The following methods were marked obsolete:
    new World(AABB span)
    List QueryAABB(ref AABB aabb)
    List RayCast(Vector2 point1, Vector2 point2)
    List TestPointAll(Vector2 point)
  • The following methods were Removed (Deprecated in version 1.2)
    Body.IsStatic
    Body.IsKinematic
  • Added support for netstandard2.0.
  • Added standalone library without dependencies to monogame. (net40 & netstandard2.0)

Aether.Physics2D v1.4

27 Dec 06:29
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

In this Release:

  • Clean up and document HelloWorld sample.
  • Two new tests, SparseBodiesTest and SparseBodiesWithManyFixturesTest.
  • Improved memory management.
  • Performance improvements.

Aether.Physics2D v1.3.1

17 May 05:40
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

In this Release:

  • fix Triangulate.ConvexPartition().

Aether.Physics2D v1.3

16 May 09:21
d31dbf5
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

In this Release:

  • Multithreading ContactManager.Collide().
  • Optimize ContactManager.AddPair().
  • fix Settings.SkipSanityChecks. Throws NullReferenceException when SkipSanityChecks = true.
  • Validate World state in Body.BodyType.
  • Validate Body owner in World.Add(Body). Faster O(1) check.
  • Move Multithread Thresholds from static Settings to World.ContentManager.
  • Move Maths.Complex to Common.Maths.Complex.
  • Rename World.IsStepping to World.IsLocked.
  • Move static Settings.SkipSanityChecks. as parameter of Triangulate.ConvexPartition().
  • Allow users to specify PositionIterations/VelocityIterations on Step().
  • Add tests MultithreadWorldsTest and TheLeaningTowerofLireTest.

Aether.Physics2D v1.2

02 Jan 19:12
bc510c8
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

In this Release:

  • Multithreading PositionConstraintsSolver.
  • ContactManager.ContactList as IEnumerable.
  • Rewrite Camera (view/projection) and correct Physics in Samples and HelloWorld.
  • Two new samples, 3D Camera Demo and Shadow Demo.
  • Fix FixtureProxy.ProxyId value stored in IBroadPhase.
  • Removed obsolete collision behavior (Settings.UseFPECollisionCategories).
  • Removed Fixture.IgnoreCCDWith.
  • Removed ConvertUnits.
  • Removed setters of Body.IsStatic and Body.IsKinematic.
  • Use Color in DebugView methods.
  • Other minor micro-optimizations.

Aether.Physics2D v1.1

18 Oct 07:08
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

In this Release:

  • Multithreading VelocityConstraintsSolver
  • fix CCD warmstarting. The bug caused bodies to lose momentum after a collision.
  • Default constructor for Controller
  • Refactor PhysicsLogicFilter, ControllerFilter & Controller Types. Allows 3rd party Controllers.
  • Breakable Bodies removed from the core engine and moved to Common.PhysicsLogic
  • Use TimeSpan for Diagnostics
  • Reduce garbage (GC) in TestBed
  • Reimplement warmStarting & subStepping
  • fix Breakablebodies and Explosions sample

Aether.Physics2D v1.0

14 Sep 14:51
Compare
Choose a tag to compare

Aether.Physics2D is a 2D physics Engine for MonoGame.

It's based on a fork of Farseer Physics 3.5/Box2D (https://farseerphysics.codeplex.com)

In this Release:

  • Bug fixes
  • Validation checks
  • Performance improvements
  • Parameterless constructors for World(),Body()
  • Reusable Bodies, (see: BodyPoolTest)
  • Thread friendly (You can initialize/run the engine from different threads)
  • Use custom World/View/Projection in DebugView