11 class BSOpenVR :
public BSVRInterface
28 static_assert(
sizeof(Unk238) == 0x40);
31 void InitializeVR()
override;
32 void ShutdownVR()
override;
33 void PostPresentHandoff()
override;
34 void Submit(
void* a_directXTextureHandle)
override;
35 void SubmitForEye(vr::EVREye a_eye,
void* a_directXTextureHandle)
override;
36 void SetTrackingSpaceAsStanding()
override;
37 void SetTrackingSpaceAsSeated()
override;
38 void Unk_07(
void)
override;
39 void GetProjectionRaw(vr::EVREye a_eEye,
float* a_pfLeft,
float* a_pfRight,
float* a_pfTop,
float* a_pfBottom)
override;
40 NiTransform* GetEyeToHeadTransform(NiTransform& a_out,
bool getRightEye)
override;
41 NiTransform* Unk_0A(NiTransform& a_out,
bool getRightController,
bool a_unk1)
override;
42 void Unk_0B(
void)
override;
43 vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForHMD()
override;
44 vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForHand(
bool getRightHand)
override;
45 void TriggerHapticPulse(
bool doRightController,
float duration)
override;
46 void Unk_0F(
void)
override;
47 void Unk_10(
void)
override;
48 void Unk_11(
void)
override;
49 void Unk_12(
void)
override;
50 void Unk_13()
override;
52 void Unk_15(
void)
override;
53 HMDDeviceType GetHMDDeviceType()
override;
58 static vr::IVRCompositor* GetIVRCompositor();
59 static vr::IVROverlay* GetIVROverlay(Unk190* a_unk190);
60 static vr::IVRRenderModels* GetIVRRenderModels();
61 static vr::IVRSettings* GetIVRSettings();
62 static vr::IVRSystem* GetIVRSystem();
65 vr::IVRSystem* vrSystem;
70 NiPointer<NiSourceTexture> unk230;
73 std::uint64_t unk340[9];
74 NiPointer<NiNode> controllerNodes[Hand::kTotal];
75 HMDDeviceType hmdDeviceType;
76 NiTransform eyeToHeadTransform[2];
80 static_assert(
sizeof(BSOpenVR) == 0x408);
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: NiSmartPointer.h:9
constexpr REL::ID GetSingleton(static_cast< std::uint64_t >(10878))
Definition: AbsorbEffect.h:6
constexpr REL::Offset RTTI_BSOpenVR(0x01F5FC78)