// Token: 0x06000089 RID: 137 RVA: 0x0000658C File Offset: 0x0000478C private ulong GetOverlayHandle(string overlayName, global::UnityEngine.Transform transform, float widthInMeters = 1f) { ulong num = 0UL; global::Valve.VR.CVROverlay overlay = global::Valve.VR.OpenVR.Overlay; bool flag = overlay == null; ulong result; if (flag) { result = num; } else { string pchOverlayKey = global::SteamVR_Overlay.key + "." + overlayName; global::Valve.VR.EVROverlayError evroverlayError = overlay.FindOverlay(pchOverlayKey, ref num); bool flag2 = evroverlayError > global::Valve.VR.EVROverlayError.None; if (flag2) { evroverlayError = overlay.CreateOverlay(pchOverlayKey, overlayName, ref num); } bool flag3 = evroverlayError == global::Valve.VR.EVROverlayError.None; if (flag3) { overlay.ShowOverlay(num); overlay.SetOverlayAlpha(num, this.alpha); overlay.SetOverlayWidthInMeters(num, widthInMeters); bool flag4 = global::SteamVR.instance.graphicsAPI == global::Valve.VR.EGraphicsAPIConvention.API_DirectX; if (flag4) { global::Valve.VR.VRTextureBounds_t vrtextureBounds_t = default(global::Valve.VR.VRTextureBounds_t); vrtextureBounds_t.uMin = 0f; vrtextureBounds_t.vMin = 1f; vrtextureBounds_t.uMax = 1f; vrtextureBounds_t.vMax = 0f; overlay.SetOverlayTextureBounds(num, ref vrtextureBounds_t); } global::SteamVR_Camera steamVR_Camera = (this.loadingScreenDistance == 0f) ? global::SteamVR_Render.Top() : null; bool flag5 = steamVR_Camera != null && steamVR_Camera.origin != null; if (flag5) { global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(steamVR_Camera.origin, transform); rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.origin.localScale.x; rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.origin.localScale.y; rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.origin.localScale.z; global::Valve.VR.HmdMatrix34_t hmdMatrix34_t = rigidTransform.ToHmdMatrix34(); overlay.SetOverlayTransformAbsolute(num, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t); } else { global::Valve.VR.HmdMatrix34_t hmdMatrix34_t2 = new global::SteamVR_Utils.RigidTransform(transform).ToHmdMatrix34(); overlay.SetOverlayTransformAbsolute(num, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t2); } } result = num; } return(result); }
// Token: 0x06000691 RID: 1681 RVA: 0x0001FFBC File Offset: 0x0001E1BC public RigidTransform(global::Valve.VR.HmdMatrix34_t pose) { global::UnityEngine.Matrix4x4 identity = global::UnityEngine.Matrix4x4.identity; identity[0, 0] = pose.m0; identity[0, 1] = pose.m1; identity[0, 2] = -pose.m2; identity[0, 3] = pose.m3; identity[1, 0] = pose.m4; identity[1, 1] = pose.m5; identity[1, 2] = -pose.m6; identity[1, 3] = pose.m7; identity[2, 0] = -pose.m8; identity[2, 1] = -pose.m9; identity[2, 2] = pose.m10; identity[2, 3] = -pose.m11; this.pos = identity.GetPosition(); this.rot = identity.GetRotation(); }
// Token: 0x06000064 RID: 100 RVA: 0x00004460 File Offset: 0x00002660 public void ReadConfig() { try { global::Valve.VR.HmdMatrix34_t pose = default(global::Valve.VR.HmdMatrix34_t); bool flag = false; object obj = this.config; string[] array = global::System.IO.File.ReadAllLines(this.configPath); foreach (string text in array) { string[] array3 = text.Split('=', 0); bool flag2 = array3.Length == 2; if (flag2) { string text2 = array3[0]; bool flag3 = text2 == "m"; if (flag3) { string[] array4 = array3[1].Split(',', 0); bool flag4 = array4.Length == 12; if (flag4) { pose.m0 = float.Parse(array4[0]); pose.m1 = float.Parse(array4[1]); pose.m2 = float.Parse(array4[2]); pose.m3 = float.Parse(array4[3]); pose.m4 = float.Parse(array4[4]); pose.m5 = float.Parse(array4[5]); pose.m6 = float.Parse(array4[6]); pose.m7 = float.Parse(array4[7]); pose.m8 = float.Parse(array4[8]); pose.m9 = float.Parse(array4[9]); pose.m10 = float.Parse(array4[10]); pose.m11 = float.Parse(array4[11]); flag = true; } } else { bool flag5 = text2 == "disableStandardAssets"; if (flag5) { global::System.Reflection.FieldInfo field = obj.GetType().GetField(text2); bool flag6 = field != null; if (flag6) { field.SetValue(obj, bool.Parse(array3[1])); } } else { global::System.Reflection.FieldInfo field2 = obj.GetType().GetField(text2); bool flag7 = field2 != null; if (flag7) { field2.SetValue(obj, float.Parse(array3[1])); } } } } } this.config = (global::SteamVR_ExternalCamera.Config)obj; bool flag8 = flag; if (flag8) { global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(pose); this.config.x = rigidTransform.pos.x; this.config.y = rigidTransform.pos.y; this.config.z = rigidTransform.pos.z; global::UnityEngine.Vector3 eulerAngles = rigidTransform.rot.eulerAngles; this.config.rx = eulerAngles.x; this.config.ry = eulerAngles.y; this.config.rz = eulerAngles.z; } } catch { } }
// Token: 0x0600009D RID: 157 RVA: 0x000073DC File Offset: 0x000055DC public void UpdateOverlay() { global::Valve.VR.CVROverlay overlay = global::Valve.VR.OpenVR.Overlay; bool flag = overlay == null; if (!flag) { bool flag2 = this.texture != null; if (flag2) { global::Valve.VR.EVROverlayError evroverlayError = overlay.ShowOverlay(this.handle); bool flag3 = evroverlayError == global::Valve.VR.EVROverlayError.InvalidHandle || evroverlayError == global::Valve.VR.EVROverlayError.UnknownOverlay; if (flag3) { bool flag4 = overlay.FindOverlay(global::SteamVR_Overlay.key, ref this.handle) > global::Valve.VR.EVROverlayError.None; if (flag4) { return; } } global::Valve.VR.Texture_t texture_t = default(global::Valve.VR.Texture_t); texture_t.handle = this.texture.GetNativeTexturePtr(); texture_t.eType = global::SteamVR.instance.graphicsAPI; texture_t.eColorSpace = global::Valve.VR.EColorSpace.Auto; overlay.SetOverlayTexture(this.handle, ref texture_t); overlay.SetOverlayAlpha(this.handle, this.alpha); overlay.SetOverlayWidthInMeters(this.handle, this.scale); overlay.SetOverlayAutoCurveDistanceRangeInMeters(this.handle, this.curvedRange.x, this.curvedRange.y); global::Valve.VR.VRTextureBounds_t vrtextureBounds_t = default(global::Valve.VR.VRTextureBounds_t); vrtextureBounds_t.uMin = (0f + this.uvOffset.x) * this.uvOffset.z; vrtextureBounds_t.vMin = (1f + this.uvOffset.y) * this.uvOffset.w; vrtextureBounds_t.uMax = (1f + this.uvOffset.x) * this.uvOffset.z; vrtextureBounds_t.vMax = (0f + this.uvOffset.y) * this.uvOffset.w; overlay.SetOverlayTextureBounds(this.handle, ref vrtextureBounds_t); global::Valve.VR.HmdVector2_t hmdVector2_t = default(global::Valve.VR.HmdVector2_t); hmdVector2_t.v0 = this.mouseScale.x; hmdVector2_t.v1 = this.mouseScale.y; overlay.SetOverlayMouseScale(this.handle, ref hmdVector2_t); global::SteamVR_Camera steamVR_Camera = global::SteamVR_Render.Top(); bool flag5 = steamVR_Camera != null && steamVR_Camera.origin != null; if (flag5) { global::SteamVR_Utils.RigidTransform rigidTransform = new global::SteamVR_Utils.RigidTransform(steamVR_Camera.origin, base.transform); rigidTransform.pos.x = rigidTransform.pos.x / steamVR_Camera.origin.localScale.x; rigidTransform.pos.y = rigidTransform.pos.y / steamVR_Camera.origin.localScale.y; rigidTransform.pos.z = rigidTransform.pos.z / steamVR_Camera.origin.localScale.z; rigidTransform.pos.z = rigidTransform.pos.z + this.distance; global::Valve.VR.HmdMatrix34_t hmdMatrix34_t = rigidTransform.ToHmdMatrix34(); overlay.SetOverlayTransformAbsolute(this.handle, global::SteamVR_Render.instance.trackingSpace, ref hmdMatrix34_t); } overlay.SetOverlayInputMethod(this.handle, this.inputMethod); bool flag6 = this.curved || this.antialias; if (flag6) { this.highquality = true; } bool flag7 = this.highquality; if (flag7) { overlay.SetHighQualityOverlay(this.handle); overlay.SetOverlayFlag(this.handle, global::Valve.VR.VROverlayFlags.Curved, this.curved); overlay.SetOverlayFlag(this.handle, global::Valve.VR.VROverlayFlags.RGSS4X, this.antialias); } else { bool flag8 = overlay.GetHighQualityOverlay() == this.handle; if (flag8) { overlay.SetHighQualityOverlay(0UL); } } } else { overlay.HideOverlay(this.handle); } } }
// Token: 0x06000164 RID: 356 RVA: 0x0000BF24 File Offset: 0x0000A124 public void SetWorkingStandingZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) { this.FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); }
// Token: 0x06000160 RID: 352 RVA: 0x0000BEBC File Offset: 0x0000A0BC public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) { return(this.FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose)); }
// Token: 0x06000166 RID: 358 RVA: 0x0000BF50 File Offset: 0x0000A150 public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref global::Valve.VR.HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) { return(this.FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose)); }
// Token: 0x06000116 RID: 278 RVA: 0x0000B339 File Offset: 0x00009539 public void ApplyTransform(ref global::Valve.VR.TrackedDevicePose_t pOutputPose, ref global::Valve.VR.TrackedDevicePose_t pTrackedDevicePose, ref global::Valve.VR.HmdMatrix34_t pTransform) { this.FnTable.ApplyTransform(ref pOutputPose, ref pTrackedDevicePose, ref pTransform); }
// Token: 0x060001CD RID: 461 RVA: 0x0000CEE6 File Offset: 0x0000B0E6 public void SetKeyboardTransformAbsolute(global::Valve.VR.ETrackingUniverseOrigin eTrackingOrigin, ref global::Valve.VR.HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) { this.FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin, ref pmatTrackingOriginToKeyboardTransform); }
// Token: 0x060001AF RID: 431 RVA: 0x0000CA28 File Offset: 0x0000AC28 public global::Valve.VR.EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle, global::Valve.VR.ETrackingUniverseOrigin eTrackingOrigin, global::Valve.VR.HmdVector2_t coordinatesInOverlay, ref global::Valve.VR.HmdMatrix34_t pmatTransform) { return(this.FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle, eTrackingOrigin, coordinatesInOverlay, ref pmatTransform)); }
// Token: 0x060001A9 RID: 425 RVA: 0x0000C930 File Offset: 0x0000AB30 public global::Valve.VR.EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref global::Valve.VR.HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) { punTrackedDevice = 0U; return(this.FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle, ref punTrackedDevice, ref pmatTrackedDeviceToOverlayTransform)); }
// Token: 0x060001A7 RID: 423 RVA: 0x0000C8E0 File Offset: 0x0000AAE0 public global::Valve.VR.EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref global::Valve.VR.ETrackingUniverseOrigin peTrackingOrigin, ref global::Valve.VR.HmdMatrix34_t pmatTrackingOriginToOverlayTransform) { return(this.FnTable.GetOverlayTransformAbsolute(ulOverlayHandle, ref peTrackingOrigin, ref pmatTrackingOriginToOverlayTransform)); }