I wish I knew some way of making my own invisible collision model, rather than using just a big box. That's how it's done in most games I've played, IL-2 Sturmovik for example.
Easy.
Create a low poly, unskinned "match" of your model, bones and mesh-changing animations to match real model.
Use this as your player model, physics and all, just set to INVISIBLE.
Then your real model can be a visible but PASSABLE "ghost" positioned/rotated/animated every frame on top of it.
And I can use that to set the bounding
zone of my entity? Rather than a perfectly squared box/rectangle encompassing it? That would be great. I understand fully the concept you're talking about, and I could do that quite easily... I just don't know how to implement it in game. Would I set phenttype to PH_POLY in that case? Even though it's a moving entity (which manual advises against)?
I'm about to try the other things you mentioned right now, and I'll let you know how it works.
I played with the movement coding, and noticed something funny. No matter what I do (applying force/velocity relative to entity's position) I can only move the tank parallel to the world's x and y axes. If I try to go at any angle to that, it's like I hit a brick wall and skid sideways, until it forces the tank parallel to the world's x or y axis.
Example of one thing I tried:
vAhead.x = (key_cuu - key_cud) * 75; // Gives vAhead strong vector/force
vAhead.y = 0; // Makes sure vector y is 0...
vAhead.z = 0; // Makes sure vector z is 0...
VECTOR myspeed;
myspeed.y = 0;
myspeed.z = 0;
myspeed.x = (key_cuu - key_cud) * 10;
// Update vAhead again....
vec_rotate(vAhead, player.pan);
vec_rotate(vAhead, player.tilt);
vec_rotate(myspeed, player.tilt);
vec_rotate(myspeed, player.pan);
// Now apply physics force on the Panzer...
phent_addvellocal(me,myspeed,NULLVECTOR);
I've done this in a bunch of different ways, and don't know what the problem is, lol. Sorry to keep bogging you down with questions, heheh.