Пример #1
0
        void UpdateMouseRotation()
        {
            float sensitivity = sensiFactor * game.MouseSensitivity;

            if (game.SmoothCamera)
            {
                speedX += delta.X * adjust;
                speedX *= slippery;
                speedY += delta.Y * adjust;
                speedY *= slippery;
            }
            else
            {
                speedX = delta.X;
                speedY = delta.Y;
            }

            float          rotY   = player.interp.next.HeadY + speedX * sensitivity;
            float          yAdj   = game.InvertMouse ? -speedY * sensitivity : speedY * sensitivity;
            float          headX  = player.interp.next.HeadX + yAdj;
            LocationUpdate update = LocationUpdate.MakeOri(rotY, headX);

            // Need to make sure we don't cross the vertical axes, because that gets weird.
            if (update.HeadX >= 90 && update.HeadX <= 270)
            {
                update.HeadX = player.interp.next.HeadX < 180 ? 89.9f : 270.1f;
            }
            game.LocalPlayer.SetLocation(update, false);
        }
        void HandleOrientationUpdate()
        {
            byte  playerId = reader.ReadUInt8();
            float yaw      = (float)Utils.PackedToDegrees(reader.ReadUInt8());
            float pitch    = (float)Utils.PackedToDegrees(reader.ReadUInt8());

            LocationUpdate update = LocationUpdate.MakeOri(yaw, pitch);

            UpdateLocation(playerId, update, true);
        }
Пример #3
0
        private void UpdateMouseRotation()
        {
            float          sensitivity = sensiFactor * game.MouseSensitivity;
            float          rotY        = player.interp.next.HeadY + delta.X * sensitivity;
            float          yAdj        = game.InvertMouse ? -delta.Y * sensitivity : delta.Y * sensitivity;
            float          headX       = player.interp.next.HeadX + yAdj;
            LocationUpdate update      = LocationUpdate.MakeOri(rotY, headX);

            // Need to make sure we don't cross the vertical axes, because that gets weird.
            if (update.HeadX >= 90 && update.HeadX <= 270)
            {
                update.HeadX = player.interp.next.HeadX < 180 ? 89.9f : 270.1f;
            }
            game.LocalPlayer.SetLocation(update, false);
        }
Пример #4
0
        private void UpdateMouseRotation()
        {
            float          sensitivity = sensiFactor * game.MouseSensitivity;
            float          yaw         = player.nextYaw + delta.X * sensitivity;
            float          yAdj        = game.InvertMouse ? -delta.Y * sensitivity : delta.Y * sensitivity;
            float          pitch       = player.nextPitch + yAdj;
            LocationUpdate update      = LocationUpdate.MakeOri(yaw, pitch);

            // Need to make sure we don't cross the vertical axes, because that gets weird.
            if (update.Pitch >= 90 && update.Pitch <= 270)
            {
                update.Pitch = player.nextPitch < 180 ? 89.9f : 270.1f;
            }
            game.LocalPlayer.SetLocation(update, true);
        }
Пример #5
0
        void UpdateMouseRotation()
        {
            Vector2 rot = CalcMouseDelta();

            if (game.Input.AltDown && IsThirdPerson)
            {
                rotOffset.X += rot.X; rotOffset.Y += rot.Y;
                return;
            }

            float          headY  = player.interp.next.HeadY + rot.X;
            float          headX  = player.interp.next.HeadX + rot.Y;
            LocationUpdate update = LocationUpdate.MakeOri(headY, headX);

            // Need to make sure we don't cross the vertical axes, because that gets weird.
            if (update.HeadX >= 90 && update.HeadX <= 270)
            {
                update.HeadX = player.interp.next.HeadX < 180 ? 90.0f : 270.0f;
            }
            game.LocalPlayer.SetLocation(update, false);
        }