diff --git a/Sources/CryGame C++/Solution1/CryGame/VRManager.cpp b/Sources/CryGame C++/Solution1/CryGame/VRManager.cpp index e5a38cb..f1058fd 100644 --- a/Sources/CryGame C++/Solution1/CryGame/VRManager.cpp +++ b/Sources/CryGame C++/Solution1/CryGame/VRManager.cpp @@ -405,6 +405,8 @@ void VRManager::FinishFrame() IDirect3DTexture9 *tex = eye == 2 ? m_d3d->hudTexture.Get() : m_d3d->eyeTextures[eye].Get(); dxvkTransitionImageLayout(m_d3d->device.Get(), tex, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, origLayout[eye]); } + + m_wasBinocular = m_pGame->AreBinocularsActive(); } vector2di VRManager::GetRenderSize() const @@ -438,7 +440,7 @@ void VRManager::ModifyViewCamera(int eye, CCamera& cam) return; } - if (m_pGame->AreBinocularsActive()) + if (m_pGame->AreBinocularsActive() || m_wasBinocular) { cam = m_binocularOriginalPlayerCam; } diff --git a/Sources/CryGame C++/Solution1/CryGame/VRManager.h b/Sources/CryGame C++/Solution1/CryGame/VRManager.h index 8fe2fc6..dd6788b 100644 --- a/Sources/CryGame C++/Solution1/CryGame/VRManager.h +++ b/Sources/CryGame C++/Solution1/CryGame/VRManager.h @@ -145,6 +145,7 @@ class VRManager Ang3 m_curBinocularAngles; Vec3 m_curBinocularPos; CCamera m_binocularOriginalPlayerCam; + bool m_wasBinocular = false; void UpdateHmdTransform(); void ProcessRoomscale();