In fact there is.

When I used the vec_rotate command it sometimes led to weird results when the second argument was a VECTOR and not an ANGLE.

Example:

The code

Code:

...
vec_rotate(temp, vector(angle, 0, 0));
...



did not work properly all the time (here "angle" is just a var), but the code:

Code:

ANGLE temp_ang;

...
temp_ang.pan = angle;
temp_ang.tilt = 0;
temp_ang.roll = 0;
vec_rotate(temp, temp_ang);
...



works. It was a little confusing at first, but it seems that the casting from VECTOR to ANGLE and back, easy as it might seem, causes internal problems.

Regards,
Gnometech

P.S.: BTW the "temp" I used above is a VECTOR variable I had to defined, it is not predefined anymore. Maybe it would be worth a suggestion to move such C-Script pre-defined things (like ENTITY* player;) into default.c


Download our playable Movement & Interaction Tutorial for 3DGS here:
http://www.puppenheim.org/MITutorial.zip