I'm migrating to the newest version, from version around November, 2016. After a few small issues, I got everything to compile and link. However, my app crashes inside NewtonUpdate(), without any changes on my end.
So, digging deeper into it, I noticed a few small changes in NewtonUpdate(), namely, omission of following lines:
- Code: Select all
dgFloat32 minstep = dgFloat32 (DG_MIN_TIMESTEP);
dgFloat32 maxstep = dgFloat32 (DG_MAX_TIMESTEP);
timestep = dgClamp (dgFloat32 (timestep), minstep, maxstep);
and removal of DG_MIN_TIMESTEP and DG_MAX_TIMESTEP defines. I was using DG_MAX_TIMESTEP to allow for time expansion (my simulation platform allows for time expansion/compression from 1/4 to 128x):
I adjusted:
- Code: Select all
#define DG_MAX_TIMESTEP (1.0f / 30.0f)
to
- Code: Select all
#define DG_MAX_TIMESTEP (1.0f / 0.10f)
This allowed for a larger timestep and covered the whole range of time expansion/compression, from 0.25x to 128x.
I was discussing this with a few members on here in this thread. What happened to these parameters? And what changed within NewtonUpdate(), since I am getting a crash at a normal sim speed (without time compression/expansion).
Any insight would be helpful!