Plash: Are you volunteering to write a shorter one? :)
EdzUp: I didn't mean to sound like I was criticising. Anyone who wants to tackle this is a saint in my book. :)
I took a shot at it myself (with much head scratching and hair-pulling) but had mixed luck. I got the basic B3D functionality, so you could look and move in any direction and parented entities behaved correctly. But that broke PointEntity and EntityPitch and a dozen other things... I suspect that simon might be right, and it's not possible without effectively rewiting the entire engine to use quats.
I could post my code if you'd like, but it might be more harm than help.
EdzUp: I didn't mean to sound like I was criticising. Anyone who wants to tackle this is a saint in my book. :)
I took a shot at it myself (with much head scratching and hair-pulling) but had mixed luck. I got the basic B3D functionality, so you could look and move in any direction and parented entities behaved correctly. But that broke PointEntity and EntityPitch and a dozen other things... I suspect that simon might be right, and it's not possible without effectively rewiting the entire engine to use quats.
I could post my code if you'd like, but it might be more harm than help.