diff --git a/CHANGELOG.md b/CHANGELOG.md index 36e4e5c0..1cb726df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # 1.2.1 +### V50 IS HERE + +LCVR v1.2.1 brings the joys of V50 into VR. + +Due to V50 having changed some important stuff behind the scenes, versions starting from v1.2.1 are no longer supported in V49. + +**Additions**: +- Added support for the cold open cinematic cutscene + **Bug fixes:** - Fixed corrupt/improper OpenXR setup causing the settings menu to not load @@ -7,6 +16,14 @@ - Reduced impact of playerspace spoofing hacks - Fixed an issue where somehow getting the camera out of water would prevent drowning - Fixed Diversity custom pass warping rendering when DynRes is enabled +- Fixed the rad mech trying to pick up dead players + +**API changes**: +- Made the arm HUD canvasses public in `VRSession.Instance.HUD` + +**Removals:** +- Removed april fools code & assets +- Removed support for V49 # 1.2.0 diff --git a/Resources/lethalcompanyvr b/Resources/lethalcompanyvr index 96a60beb..085fd07f 100644 Binary files a/Resources/lethalcompanyvr and b/Resources/lethalcompanyvr differ diff --git a/Source/Patches/CutscenePatches.cs b/Source/Patches/CutscenePatches.cs index 93ff5d37..86366f47 100644 --- a/Source/Patches/CutscenePatches.cs +++ b/Source/Patches/CutscenePatches.cs @@ -37,14 +37,18 @@ private class VRCutscene : MonoBehaviour private Transform cameraContainer; private Transform cameraTransform; - public float initialCameraRotation; + private float initialCameraRotation; + private Vector3 initialCameraPosition; private void Awake() { cameraContainer = GameObject.Find("CameraControllerContainer/CameraController").transform; cameraTransform = cameraContainer.Find("MainCamera"); + + // Disable chair since we assume VR players are standing up + GameObject.Find("ComputerChairAndShelf")?.SetActive(false); - StartCoroutine(delayedResetHeight()); + StartCoroutine(delayedResetHMD()); } private void Update() @@ -58,17 +62,19 @@ private void LateUpdate() cameraContainer.transform.localEulerAngles = new Vector3(0, -initialCameraRotation, 0); } - private IEnumerator delayedResetHeight() + private IEnumerator delayedResetHMD() { yield return new WaitForSeconds(0.1f); initialCameraRotation = cameraTransform.localEulerAngles.y; + initialCameraPosition = (cameraContainer.localPosition - cameraTransform.localPosition) * 1.8f; + ResetHeight(); } private void ResetHeight() { - cameraContainer.localPosition = new Vector3(0, -cameraTransform.localPosition.y, 0); + cameraContainer.localPosition = new Vector3(initialCameraPosition.x, -cameraTransform.localPosition.y, initialCameraPosition.z); } } }