QUOTE(Yacoby @ May 15 2008, 03:36 PM)

Have you checked to see if this is a gimbal lock problem?
EDIT:
Rotating an object on the x axis by 90, will cause the objects y axis to become the objects z axis, and then as you said, getAngle doesn't work with the same axis as setAngle (one work with world axis, the other local axis)
Yes, I think that's related. I think maybe what's going on is that the values reported by GetAngle are
not affected by this, so they're not the values I need to use with SetAngle.
QUOTE
EDIT:
I don't have a clue how to fix this at present, but it is 1am and I sat a maths exam today, so I am brain dead.
Understandable. I look forward to you're input when you're more fully awake.
QUOTE(peachykeen @ May 15 2008, 03:57 PM)

Well, the first issue I see is the use of GetPos in the first line and SetAngle in the second. That'll make it rotate depending on height relative to world origin, so it'll spin as it goes up and down...
Oops, I wasn't really doing that. Just a typo in my example, sorry.
QUOTE
Otherwise, it all depends on whether the functions use degrees or radians as input. If Get returns it in degrees and Set takes radians, it'll stick you in a rotating loop, until it comes up with some number that convert
7c6
into the same angle in both (prolly 360 * max radians).
No, I don't think that's it. All the values appear to be degrees, it only gets weird if an object has been rotated on two or more axes.