Could you give an example as to one of the models (with it's 3do name if possible) that does that? I'd like to take a look, and see if I can figure something out, although I doubt that I could be of help with this one...
EDIT: OK, I can see it with gatekeeper.3do from DATA004.LAB.
EDIT: OK yet again, I can see the data for each node:
12 bytes pivot
12 bytes position
4 bytes pitch
4 bytes yaw
4 bytes roll
If I understood you correctly, you ignore the pitch, yaw and roll? Or I misunderstood?
If that's the case, then I think that it's not that hard, considering ResidualVM developers already did the work.
For example, in Grim Fandango:
Pitch is rotation around X
Yaw is rotation around Z
Roll is rotation around Y
The values should be grabbed as radian angles, and then the math can be applied on the vertex coordinates (relative to the pivot or parent of the object (this is an assumption from experience) ).
Take a look at math/rotation3d.h
in residual's source, or you could take a look in somaen's tools here
, which he pointed out to me in a previous post.
I think it would get clearer once you do this. I'd love to work on this a bit myself, but I'm afraid I haven't got any time, I'm working under a deadline
P.S.: 48 bytes are unknown after this