public FixVector3 RotateY(int degree) { FixVector3 num; FixFactor factor; FixFactor factor2; Fix32Math.sincos(out factor, out factor2, (long)(0x7ab8 * degree), 0x1b7740L); long num2 = factor2.nom * factor.den; long num3 = factor2.den * factor.nom; long b = factor2.den * factor.den; num.x = (int)Fix32Math.Divide((long)((this.x * num2) + (this.z * num3)), b); num.z = (int)Fix32Math.Divide((long)((-this.x * num3) + (this.z * num2)), b); num.y = 0; return(num.NormalizeTo(Precision)); }
public FixVector3 RotateY(ref FixFactor radians) { FixVector3 num; FixFactor factor; FixFactor factor2; Fix32Math.sincos(out factor, out factor2, radians.nom, radians.den); long num2 = factor2.nom * factor.den; long num3 = factor2.den * factor.nom; long b = factor2.den * factor.den; num.x = (int)Fix32Math.Divide((long)((this.x * num2) + (this.z * num3)), b); num.z = (int)Fix32Math.Divide((long)((-this.x * num3) + (this.z * num2)), b); num.y = 0; return(num.NormalizeTo(0x3e8)); }