From 7d664cb7df3c429238ba2cdafde10242305043a2 Mon Sep 17 00:00:00 2001 From: praydog Date: Sat, 26 Oct 2024 10:30:31 -0700 Subject: [PATCH] VR: Fix certain situations where left handed mode wouldnt swap --- src/mods/VR.hpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/mods/VR.hpp b/src/mods/VR.hpp index 5917b043..dad5130b 100644 --- a/src/mods/VR.hpp +++ b/src/mods/VR.hpp @@ -311,20 +311,24 @@ class VR : public Mod { } int get_left_controller_index() const { + const auto wants_swap = m_swap_controllers->value(); + if (m_runtime->is_openxr()) { - return 1; + return wants_swap ? 2 : 1; } else if (m_runtime->is_openvr()) { - return !m_controllers.empty() ? m_controllers[0] : -1; + return !m_controllers.empty() ? (wants_swap ? m_controllers[1] : m_controllers[0]) : -1; } return -1; } int get_right_controller_index() const { + const auto wants_swap = m_swap_controllers->value(); + if (m_runtime->is_openxr()) { - return 2; + return wants_swap ? 1 : 2; } else if (m_runtime->is_openvr()) { - return !m_controllers.empty() ? m_controllers[1] : -1; + return !m_controllers.empty() ? (wants_swap ? m_controllers[0] : m_controllers[1]) : -1; } return -1;