Bullet and Box2d


I've discussed this with cervator, the basic idea is to extract bullet and box2d from libgdx as standalone libraries. this should give us the opportunity to tweak and rework the library to fit our needs better. For instance the bullet implementation was reworked to accept TeraMath components instead of libgdx components. This should reduce some of the overhead with translating vectors to and from libgdx when calling bullet. I think similar accommodations can be made with box2d for DestinationSol.

Below is a link to the reworked version of bullet. It's in a workable state but I think we can do much better then libgdx. For instance, they seem to be copying in newer version of bullet and pushing the whole thing to version control. This makes very large commits into the repository and it's hard to track which version of bullet they are refrencing. I think some accommodations could be made to automate and mark the version of bullet when the library is built. I think we can set something up with gradle to mark the version and git revision when building. There is already a bullet3 repository that can be used to maintain version of bullet with the the voxel extension: https://github.com/MovingBlocks/bullet3