Box2D v2.4.1 Release Notes
Release Date: 2020-10-18 // over 3 years ago-
🔄 Changes for version 2.4.1
API Changes
- Extended distance joint to have a minimum and maximum limit.
- ✂ Removed rope joint. Use the distance joint instead.
- 👉 B2_USER_SETTINGS and b2_user_settings.h can control user data, length units, and maximum polygon vertices.
- Default user data is now uintptr_t instead of void*
- b2FixtureDef::restitutionThreshold lets you set the restitution velocity threshold per fixture.
💥 BREAKING Changes
- 💥 BREAKING: distance joint 0 stiffness now means the spring is turned off rather than making the joint rigid.
- 💥 BREAKING: distance joint minimum and maximum must be set correctly to get old behavior.
Infrastructure
- Library installation function available in CMake.
- Shared library (DLL) option available.
- 🐛 Bug fixes
Previous changes from v2.4.0
-
🔄 Changes for version 2.4.0
Infrastructure
- 📚 Documentation in Doxygen format
- 👷 CMake build system
- ✅ Unit test support
- ✅ Continuous integration testing using Travis CI
- Limited use of C++11 (nullptr and override)
- 👍 Restructured folders and renamed files to better match open-source standards
- MIT License
- ✂ Removed float32 and float64
- 🔗 Linked the Box2D project to GitHub Sponsors
Collision
- Chain and edge shape must now be one-sided to eliminate ghost collisions
- Broad-phase optimizations
- ➕ Added b2ShapeCast for linear shape casting
Dynamics
- Joint limits are now predictive and not stateful
- Experimental 2D cloth (rope)
- b2Body::SetActive -> b2Body::SetEnabled
- 👍 Better support for running multiple worlds
- 🖐 Handle zero density better
- The body behaves like a static body
- The body is drawn with a red color
- ➕ Added translation limit to wheel joint
- World dump now writes to box2d_dump.inl
- Static bodies are never awake
- All joints with spring-dampers now use stiffness and damping
- ➕ Added utility functions to convert frequency and damping ratio to stiffness and damping
✅ Testbed
- ✅ Testbed uses dear imgui
- glad OpenGL loader
- OpenGL 3.3 required