Well, instead of working through my list of things to complete and making the list smaller, I actually made the list longer.
I've decided to add two new Joint types and implement a "softness" factor on all the Joints. The two knew joints are Pin Joint (keeps to anchor points of two different bodies at a constant distance apart) and a Slider Joint (similar to the pin joint, but the anchors are allowed to move as long as they dont' go beyond some max distance)
Side note, there is a project on CodePlex to port Chipmunk to XNA. It seems to be just getting started but should be a nice when it's completed.
So, where am I at with my task list. Well it now look like this:(strike thru means the item is complete)
Limited Angle Joint (Joint limits for the RevoluteJoint)
- Pin Joint with softness (60% complete)
- Slider Joint with softness
- Max Contacts To Detect, Max Contacts To Resolve, Resolve Deepest First (just some ideas I have about handling contacts)
- Rewrite/Cleanup Collide method
- Replace collide event with callback/boolean return value (will allow the application to essentially cancel a collision)
- Factory Objects
- Make static classes
- Overload as follows (If the simulator is passed in the object will automatically be added to the simulator prior to being returned. Just as a convenience)
- Method(x, y, z)
- Method(simulator, x, y, z)
- Breakable Joints and Springs
- Queue-up Added and Removed items and remove them when it's safe to do so.
- Joint API (just some general clean-up of the Joint objects)
- User Data Object
- General code clean-up
- New LOGO!
- Website (bare-bones for now)
- Move on to my ultimate goal: Make some cool physics based games.