static void Main(string[] args) { //new ArchiveResourceToCSV(@"E:\New_Data_Drive\WindwakerModding\new_object_extract\res\extracted_archives\Object"); //new ArcExtractorDebugging(@"E:\New_Data_Drive\WindwakerModding\root\res\Object\ff.arc"); //Quaternion negQuat = Quaternion.FromAxisAngle(new Vector3(1, 0, 0), WMath.DegreesToRadians(-0)) * Quaternion.FromAxisAngle(new Vector3(0, 1, 0), WMath.DegreesToRadians(-179)) * Quaternion.FromAxisAngle(new Vector3(0, 1, 0), -3.1415f) * Quaternion.FromAxisAngle(new Vector3(0, 0, 1), WMath.DegreesToRadians(-179)); //Quaternion negQuat = Quaternion.FromAxisAngle(new Vector3(0, 1, 0), WMath.DegreesToRadians(-165)); //Console.WriteLine("Yaw: {0}", WMath.RadiansToDegrees(YawFromQuat(negQuat))); for(int i = 180; i >= -180; i-=5) { //Quaternion quat = Quaternion.FromAxisAngle(new Vector3(0, 1, 0), WMath.DegreesToRadians(i)); Quaternion xQuat = FromEulerAngles(new Vector3(i, 0, 0)); Quaternion yQuat = FromEulerAngles(new Vector3(0, i, 0)); Quaternion zQuat = FromEulerAngles(new Vector3(0, 0, i)); //Console.WriteLine("In: {0} Out: {1:0},{2:0},{3:0}", i, WMath.RadiansToDegrees(PitchFromQuat(zQuat)), WMath.RadiansToDegrees(YawFromQuat(yQuat)), WMath.RadiansToDegrees(RollFromQuat(xQuat))); Console.WriteLine("In: {0} Out: {1:0},{2:0},{3:0}", i, WMath.RadiansToDegrees(PitchFromQuat(yQuat)), WMath.RadiansToDegrees(YawFromQuat(yQuat)), WMath.RadiansToDegrees(RollFromQuat(yQuat))); } //negQuat = Quaternion.FromAxisAngle(new Vector3(0, 1, 0), WMath.DegreesToRadians(28)); //Console.WriteLine("Yaw: {0}", WMath.RadiansToDegrees(YawFromQuat(negQuat))); //Vector3 eulAngles = EulerAnglesFromQuat(negQuat); //Console.WriteLine("Euler Angles from Quat: {0},{1},{2}", WMath.RadiansToDegrees(eulAngles.X), WMath.RadiansToDegrees(eulAngles.Y), WMath.RadiansToDegrees(eulAngles.Z)); //Vector3 negEuler = new Vector3(WMath.RadiansToDegrees(PitchFromQuat(negQuat)), WMath.RadiansToDegrees(YawFromQuat(negQuat)), WMath.RadiansToDegrees(RollFromQuat(negQuat))); //Vector3 posEuler = new Vector3(WMath.RadiansToDegrees(PitchFromQuat(posQuat)), WMath.RadiansToDegrees(YawFromQuat(posQuat)), WMath.RadiansToDegrees(RollFromQuat(posQuat))); //Console.WriteLine("neg: {0} pos: {1}", negEuler, posEuler); }