From 7560bc12b8d8e9dcb50c159417928fe0ca44f163 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Thu, 9 Jun 2022 15:54:31 -0700 Subject: [PATCH] Client: unbreak viewmodel not showing up when spectating after the OpenXR update --- src/client/view.qc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/client/view.qc b/src/client/view.qc index f21d8fe7..d283a23a 100644 --- a/src/client/view.qc +++ b/src/client/view.qc @@ -207,10 +207,18 @@ View_DrawViewModel(void) /* now apply the scale hack */ m_eViewModelL.scale = m_eViewModel.scale = autocvar_r_viewmodelscale; - m_eViewModelL.origin = pl.m_xrInputLeft.GetOrigin(); - m_eViewModel.origin = pl.m_xrInputRight.GetOrigin(); - if (XR_Available(pl)) { + if (Client_IsSpectator(cl)) { + m_eViewModelL.origin = getproperty(VF_ORIGIN); + m_eViewModel.origin = getproperty(VF_ORIGIN); + m_eViewModel.angles = pl.v_angle; + m_eViewModelL.angles = pl.v_angle; + } else { + m_eViewModelL.origin = pl.m_xrInputLeft.GetOrigin(); + m_eViewModel.origin = pl.m_xrInputRight.GetOrigin(); + } + + if (XR_Available(pl) && !Client_IsSpectator(cl)) { m_eViewModel.angles = pl.m_xrInputRight.GetAngles(); m_eViewModelL.angles = pl.m_xrInputLeft.GetAngles(); } else {