Example #1
0
        /// <summary>
        /// Sets the camera's yaw.
        /// </summary>
        /// <param name="angle">The new angle.</param>
        public void SetCameraYaw(float angle)
        {
            // Set the angle to the range [0, 2PI)
            angle = Mathf.DivMod(angle, Mathf.PI2);

            float cos = (float)Math.Cos(angle * 0.5f);
            float sin = (float)Math.Sin(angle * 0.5f);

            if (angle > 4.1887902f) // 240 degrees
            {
                cos = -cos;
                sin = -sin;
            }

            MemManager.WriteGenericPtr(sin, 0, 0x142578A68, 0x70, 0x98, 0x238, 0x18, 0x22c4);
            MemManager.WriteGenericPtr(sin, 0, 0x142578A68, 0x70, 0x98, 0x238, 0x20, 0x22c4);
            MemManager.WriteGenericPtr(cos, 0, 0x142578A68, 0x70, 0x98, 0x238, 0x18, 0x22cc);
            MemManager.WriteGenericPtr(cos, 0, 0x142578A68, 0x70, 0x98, 0x238, 0x20, 0x22cc);
        }