-
Notifications
You must be signed in to change notification settings - Fork 31
Description
I wanted to raise this issue mainly to raise awareness as there is no simple fix.
The version of Box2D which this is a port of (2.1a) is not only very out of date, but was broken/incomplete at the time and lost some critical features compared to the even older 2.0.2. C++ box2d has since developed far beyond this version (2.3.1 in 2014) and never lost those critical features.
The main missing feature I came across was that in 2.1a you cannot modify a contact, which is a really big deal. For example, suppose you want to use a listener to change the friction of a contact based on the normal, in cpp this is easy (https://github.com/erincatto/Box2D/blob/master/Box2D/Dynamics/Contacts/b2Contact.h#L120). These variables and methods are not new; they pre-date version 2.1.
But for some reason they were removed from flash 2.1a so now contacts don't even have these properties in flash/haxe 2.1a.
I would recommend the cpp version as a better source as it is not only more up to date with better features, but also isn't critically broken when it comes to editing contacts.