I work like this:
1. I force FP to load my own dll (DLL Injection)
2. FP loads newton.dll (V 1.53).
3. With MS-detuours i intercept all (~80) functions called from FP to old newton.dll.
So all calls from FP to old-newton.dll are calls to my own dll.
4. My-own.dll is linked with newton.lib version v3.13 (or 3.14, simple switch) and load curret newton.dll (v.313)
5. ~70 functions are more/less same in both libs. Also i grab from that functions additional info.
6. With other functions i have to moddify data (for example different collision callbacks, switche body0, body1 order in callback).
For now i use not moddifed newton.dll (both v 1.53 and 3.13).
If you need i can send Visual Studio project. For big picture: I have made mod of FP: BAM. At start it was to make a lot of change in 3D graphics: head tracking + semi VR rendering + better quality rendering (like per pixel lighting), stereo 3D. Project site:
http://www.ravarcade.pl . Now i try to improve physics and this is plugin for BAM.
----
I try to set continue collisions:
NewtonBodySetContinuousCollisionMode(ballBodyPtr, 1);
But it not solves "fippers problems" and few time when ball moves very fast it gives div-by-zero error in function
dgUnsigned32 NewtonUserJoint::JacobianDerivative (dgContraintDescritor& params) in NewtonClass.cpp