I'm posting an
update to the collision library. I've added an additional sliding collision function:
coldetSlidingCollision2(coldll,colobj,newx#,newy#,newz#,lowy#,midy#,highy#,radius#,height#)
This function seems to work a little more consistently than the old sliding collision function. It takes more of a "brute force" approach by running several sphere and ray casting tests and eliminating as many unnecessary tests as possible. Ultimately, a cylindrical area is created using 3 key y positions. The idea was inspired by some sliding collision code provided by Fluffy Rabbit in a current DarkNoobs project. The old test was based more on face normals and mathematics.
I haven't compared the speed performance between the 2 sliding collision tests. You can run tests between the 2 and see which one you like better. The old one works, but it occasionally behaved a little unpredictably.
I haven't put together any examples for this new sliding collision function. The documentation for it is inside the include file. If you want to see the function in action, you can follow along with the latest DarkNoobs project where ColDet is being used as the main collision library.
Enjoy your day.