I was using c_trace to enable walking on a floor and stair climbing, the code needed is around in a number of tutorials. Code of the form:

Quote:
vec_set (temp.x, my.x);
temp.z -= 10000;
temp.z -= 10000;temp.z = -c_trace (my.x, temp.x, IGNORE_ME | IGNORE_PASSABLE | USE_BOX);

However this made 'cbabe' walk with her feet and ankles in the floor!

The fix was an offset to allow for this, thanks George:

Quote:
temp.z = -c_trace (my.x, temp.x, IGNORE_ME | IGNORE_PASSABLE | USE_BOX) + 20; // play with 20

My question is why is this offset "now" necessary when old(ish)code doen't appear to need it/show it?

Why doesn't c_trace return the correct distance?

(My code is running on A7.70 Commercial)