diff --git a/AppApi.cs b/Dotnet/AppApi.cs similarity index 99% rename from AppApi.cs rename to Dotnet/AppApi.cs index 4bdd74cd..2a18bf3c 100644 --- a/AppApi.cs +++ b/Dotnet/AppApi.cs @@ -719,9 +719,11 @@ namespace VRCX /// /// The name of the key to set. /// The value to set for the specified key. + /// The RegistryValueKind type. /// True if the key was successfully set, false otherwise. - public bool SetVRChatRegistryKey(string key, string value) + public bool SetVRChatRegistryKey(string key, object value, int typeInt) { + var type = (RegistryValueKind)typeInt; uint hash = 5381; foreach (var c in key) hash = (hash * 33) ^ c; @@ -731,13 +733,12 @@ namespace VRCX { if (regKey?.GetValue(keyName) == null) return false; - - var type = regKey.GetValueKind(keyName); + object setValue = null; switch (type) { case RegistryValueKind.Binary: - setValue = Encoding.ASCII.GetBytes(value); + setValue = Encoding.ASCII.GetBytes(value.ToString()); break; case RegistryValueKind.DWord: diff --git a/AssetBundleCacher.cs b/Dotnet/AssetBundleCacher.cs similarity index 100% rename from AssetBundleCacher.cs rename to Dotnet/AssetBundleCacher.cs diff --git a/AutoAppLaunchManager.cs b/Dotnet/AutoAppLaunchManager.cs similarity index 100% rename from AutoAppLaunchManager.cs rename to Dotnet/AutoAppLaunchManager.cs diff --git a/CefCustomDownloadHandler.cs b/Dotnet/Cef/CefCustomDownloadHandler.cs similarity index 100% rename from CefCustomDownloadHandler.cs rename to Dotnet/Cef/CefCustomDownloadHandler.cs diff --git a/CefCustomDragHandler.cs b/Dotnet/Cef/CefCustomDragHandler.cs similarity index 100% rename from CefCustomDragHandler.cs rename to Dotnet/Cef/CefCustomDragHandler.cs diff --git a/CefCustomMenuHandler.cs b/Dotnet/Cef/CefCustomMenuHandler.cs similarity index 100% rename from CefCustomMenuHandler.cs rename to Dotnet/Cef/CefCustomMenuHandler.cs diff --git a/NoopDragHandler.cs b/Dotnet/Cef/CefNoopDragHandler.cs similarity index 92% rename from NoopDragHandler.cs rename to Dotnet/Cef/CefNoopDragHandler.cs index 8432198b..9d19a7a0 100644 --- a/NoopDragHandler.cs +++ b/Dotnet/Cef/CefNoopDragHandler.cs @@ -10,7 +10,7 @@ using CefSharp.Enums; namespace VRCX { - public class NoopDragHandler : IDragHandler + public class CefNoopDragHandler : IDragHandler { bool IDragHandler.OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) { diff --git a/CefService.cs b/Dotnet/Cef/CefService.cs similarity index 100% rename from CefService.cs rename to Dotnet/Cef/CefService.cs diff --git a/CpuMonitor.cs b/Dotnet/CpuMonitor.cs similarity index 100% rename from CpuMonitor.cs rename to Dotnet/CpuMonitor.cs diff --git a/Discord.cs b/Dotnet/Discord.cs similarity index 100% rename from Discord.cs rename to Dotnet/Discord.cs diff --git a/IPCClient.cs b/Dotnet/IPC/IPCClient.cs similarity index 100% rename from IPCClient.cs rename to Dotnet/IPC/IPCClient.cs diff --git a/IPCPacket.cs b/Dotnet/IPC/IPCPacket.cs similarity index 100% rename from IPCPacket.cs rename to Dotnet/IPC/IPCPacket.cs diff --git a/IPCServer.cs b/Dotnet/IPC/IPCServer.cs similarity index 100% rename from IPCServer.cs rename to Dotnet/IPC/IPCServer.cs diff --git a/ImageCache.cs b/Dotnet/ImageCache.cs similarity index 100% rename from ImageCache.cs rename to Dotnet/ImageCache.cs diff --git a/JsonSerializer.cs b/Dotnet/JsonSerializer.cs similarity index 100% rename from JsonSerializer.cs rename to Dotnet/JsonSerializer.cs diff --git a/LogWatcher.cs b/Dotnet/LogWatcher.cs similarity index 100% rename from LogWatcher.cs rename to Dotnet/LogWatcher.cs diff --git a/MainForm.Designer.cs b/Dotnet/MainForm.Designer.cs similarity index 100% rename from MainForm.Designer.cs rename to Dotnet/MainForm.Designer.cs diff --git a/MainForm.cs b/Dotnet/MainForm.cs similarity index 100% rename from MainForm.cs rename to Dotnet/MainForm.cs diff --git a/MainForm.resx b/Dotnet/MainForm.resx similarity index 100% rename from MainForm.resx rename to Dotnet/MainForm.resx diff --git a/OpenVR/openvr_api.cs b/Dotnet/OpenVR/openvr_api.cs similarity index 98% rename from OpenVR/openvr_api.cs rename to Dotnet/OpenVR/openvr_api.cs index 4732b62e..2c3dfb93 100644 --- a/OpenVR/openvr_api.cs +++ b/Dotnet/OpenVR/openvr_api.cs @@ -1045,6 +1045,16 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetOverlayCurvature GetOverlayCurvature; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayPreCurvePitch(ulong ulOverlayHandle, float fRadians); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayPreCurvePitch SetOverlayPreCurvePitch; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayPreCurvePitch(ulong ulOverlayHandle, ref float pfRadians); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayPreCurvePitch GetOverlayPreCurvePitch; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -1100,16 +1110,6 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent; - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _GetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ref ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _GetOverlayTransformOverlayRelative GetOverlayTransformOverlayRelative; - - [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EVROverlayError _SetOverlayTransformOverlayRelative(ulong ulOverlayHandle, ulong ulOverlayHandleParent, ref HmdMatrix34_t pmatParentOverlayToOverlayTransform); - [MarshalAs(UnmanagedType.FunctionPtr)] - internal _SetOverlayTransformOverlayRelative SetOverlayTransformOverlayRelative; - [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate EVROverlayError _SetOverlayTransformCursor(ulong ulCursorOverlayHandle, ref HmdVector2_t pvHotspot); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -1145,6 +1145,11 @@ public struct IVROverlay [MarshalAs(UnmanagedType.FunctionPtr)] internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _WaitFrameSync(uint nTimeoutMs); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _WaitFrameSync WaitFrameSync; + [UnmanagedFunctionPointer(CallingConvention.StdCall)] internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); [MarshalAs(UnmanagedType.FunctionPtr)] @@ -1951,7 +1956,7 @@ public struct IVRPaths public struct IVRBlockQueue { [UnmanagedFunctionPointer(CallingConvention.StdCall)] - internal delegate EBlockQueueError _Create(ref ulong pulQueueHandle, IntPtr pchPath, uint unBlockDataSize, uint unBlockHeaderSize, uint unBlockCount); + internal delegate EBlockQueueError _Create(ref ulong pulQueueHandle, IntPtr pchPath, uint unBlockDataSize, uint unBlockHeaderSize, uint unBlockCount, uint unFlags); [MarshalAs(UnmanagedType.FunctionPtr)] internal _Create Create; @@ -3235,6 +3240,17 @@ public class CVROverlay EVROverlayError result = FnTable.GetOverlayCurvature(ulOverlayHandle,ref pfCurvature); return result; } + public EVROverlayError SetOverlayPreCurvePitch(ulong ulOverlayHandle,float fRadians) + { + EVROverlayError result = FnTable.SetOverlayPreCurvePitch(ulOverlayHandle,fRadians); + return result; + } + public EVROverlayError GetOverlayPreCurvePitch(ulong ulOverlayHandle,ref float pfRadians) + { + pfRadians = 0; + EVROverlayError result = FnTable.GetOverlayPreCurvePitch(ulOverlayHandle,ref pfRadians); + return result; + } public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) { EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); @@ -3294,17 +3310,6 @@ public class CVROverlay EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize); return result; } - public EVROverlayError GetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ref ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - ulOverlayHandleParent = 0; - EVROverlayError result = FnTable.GetOverlayTransformOverlayRelative(ulOverlayHandle,ref ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } - public EVROverlayError SetOverlayTransformOverlayRelative(ulong ulOverlayHandle,ulong ulOverlayHandleParent,ref HmdMatrix34_t pmatParentOverlayToOverlayTransform) - { - EVROverlayError result = FnTable.SetOverlayTransformOverlayRelative(ulOverlayHandle,ulOverlayHandleParent,ref pmatParentOverlayToOverlayTransform); - return result; - } public EVROverlayError SetOverlayTransformCursor(ulong ulCursorOverlayHandle,ref HmdVector2_t pvHotspot) { EVROverlayError result = FnTable.SetOverlayTransformCursor(ulCursorOverlayHandle,ref pvHotspot); @@ -3340,6 +3345,11 @@ public class CVROverlay EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); return result; } + public EVROverlayError WaitFrameSync(uint nTimeoutMs) + { + EVROverlayError result = FnTable.WaitFrameSync(nTimeoutMs); + return result; + } // This is a terrible hack to workaround the fact that VRControllerState_t and VREvent_t were // originally mis-compiled with the wrong packing for Linux and OSX. [UnmanagedFunctionPointer(CallingConvention.StdCall)] @@ -4425,11 +4435,11 @@ public class CVRBlockQueue { FnTable = (IVRBlockQueue)Marshal.PtrToStructure(pInterface, typeof(IVRBlockQueue)); } - public EBlockQueueError Create(ref ulong pulQueueHandle,string pchPath,uint unBlockDataSize,uint unBlockHeaderSize,uint unBlockCount) + public EBlockQueueError Create(ref ulong pulQueueHandle,string pchPath,uint unBlockDataSize,uint unBlockHeaderSize,uint unBlockCount,uint unFlags) { pulQueueHandle = 0; IntPtr pchPathUtf8 = Utils.ToUtf8(pchPath); - EBlockQueueError result = FnTable.Create(ref pulQueueHandle,pchPathUtf8,unBlockDataSize,unBlockHeaderSize,unBlockCount); + EBlockQueueError result = FnTable.Create(ref pulQueueHandle,pchPathUtf8,unBlockDataSize,unBlockHeaderSize,unBlockCount,unFlags); Marshal.FreeHGlobal(pchPathUtf8); return result; } @@ -4629,6 +4639,8 @@ public enum ETrackedDeviceProperty Prop_ManufacturerSerialNumber_String = 1049, Prop_ComputedSerialNumber_String = 1050, Prop_EstimatedDeviceFirstUseTime_Int32 = 1051, + Prop_DevicePowerUsage_Float = 1052, + Prop_IgnoreMotionForStandby_Bool = 1053, Prop_ReportsTimeSinceVSync_Bool = 2000, Prop_SecondsFromVsyncToPhotons_Float = 2001, Prop_DisplayFrequency_Float = 2002, @@ -4717,10 +4729,21 @@ public enum ETrackedDeviceProperty Prop_CameraExposureTime_Float = 2088, Prop_CameraGlobalGain_Float = 2089, Prop_DashboardScale_Float = 2091, + Prop_PeerButtonInfo_String = 2092, + Prop_Hmd_SupportsHDR10_Bool = 2093, + Prop_Hmd_EnableParallelRenderCameras_Bool = 2094, + Prop_DriverProvidedChaperoneJson_String = 2095, Prop_IpdUIRangeMinMeters_Float = 2100, Prop_IpdUIRangeMaxMeters_Float = 2101, Prop_Hmd_SupportsHDCP14LegacyCompat_Bool = 2102, Prop_Hmd_SupportsMicMonitoring_Bool = 2103, + Prop_Hmd_SupportsDisplayPortTrainingMode_Bool = 2104, + Prop_Hmd_SupportsRoomViewDirect_Bool = 2105, + Prop_Hmd_SupportsAppThrottling_Bool = 2106, + Prop_Hmd_SupportsGpuBusMonitoring_Bool = 2107, + Prop_DSCVersion_Int32 = 2110, + Prop_DSCSliceCount_Int32 = 2111, + Prop_DSCBPPx16_Int32 = 2112, Prop_DriverRequestedMuraCorrectionMode_Int32 = 2200, Prop_DriverRequestedMuraFeather_InnerLeft_Int32 = 2201, Prop_DriverRequestedMuraFeather_InnerRight_Int32 = 2202, @@ -4817,6 +4840,7 @@ public enum EVRSubmitFlags Submit_VulkanTextureWithArrayData = 64, Submit_GlArrayTexture = 128, Submit_Reserved2 = 32768, + Submit_Reserved3 = 65536, } public enum EVRState { @@ -4867,13 +4891,13 @@ public enum EVREventType VREvent_InputFocusCaptured = 400, VREvent_InputFocusReleased = 401, VREvent_SceneApplicationChanged = 404, - VREvent_SceneFocusChanged = 405, VREvent_InputFocusChanged = 406, VREvent_SceneApplicationUsingWrongGraphicsAdapter = 408, VREvent_ActionBindingReloaded = 409, VREvent_HideRenderModels = 410, VREvent_ShowRenderModels = 411, VREvent_SceneApplicationStateChanged = 412, + VREvent_SceneAppPipeDisconnected = 413, VREvent_ConsoleOpened = 420, VREvent_ConsoleClosed = 421, VREvent_OverlayShown = 500, @@ -4904,6 +4928,9 @@ public enum EVREventType VREvent_ShowDevTools = 529, VREvent_DesktopViewUpdating = 530, VREvent_DesktopViewReady = 531, + VREvent_StartDashboard = 532, + VREvent_ElevatePrism = 533, + VREvent_OverlayClosed = 534, VREvent_Notification_Shown = 600, VREvent_Notification_Hidden = 601, VREvent_Notification_BeginInteraction = 602, @@ -4913,6 +4940,7 @@ public enum EVREventType VREvent_QuitAcknowledged = 703, VREvent_DriverRequestedQuit = 704, VREvent_RestartRequested = 705, + VREvent_InvalidateSwapTextureSets = 706, VREvent_ChaperoneDataHasChanged = 800, VREvent_ChaperoneUniverseHasChanged = 801, VREvent_ChaperoneTempDataHasChanged = 802, @@ -4967,6 +4995,7 @@ public enum EVREventType VREvent_Compositor_OutOfVideoMemory = 1417, VREvent_Compositor_DisplayModeNotSupported = 1418, VREvent_Compositor_StageOverrideReady = 1419, + VREvent_Compositor_RequestDisconnectReconnect = 1420, VREvent_TrackedCamera_StartVideoStream = 1500, VREvent_TrackedCamera_StopVideoStream = 1501, VREvent_TrackedCamera_PauseVideoStream = 1502, @@ -5027,6 +5056,8 @@ public enum EVRButtonId k_EButton_IndexController_A = 2, k_EButton_IndexController_B = 1, k_EButton_IndexController_JoyStick = 35, + k_EButton_Reserved0 = 50, + k_EButton_Reserved1 = 51, k_EButton_Max = 64, } public enum EVRMouseButton @@ -5157,6 +5188,7 @@ public enum EVROverlayError TextureAlreadyLocked = 31, TextureLockCapacityReached = 32, TextureNotLocked = 33, + TimedOut = 34, } public enum EVRApplicationType { @@ -5173,7 +5205,8 @@ public enum EVRApplicationType VRApplication_OpenXRScene = 10, VRApplication_OpenXROverlay = 11, VRApplication_Prism = 12, - VRApplication_Max = 13, + VRApplication_RoomView = 13, + VRApplication_Max = 14, } public enum EVRFirmwareError { @@ -5260,8 +5293,20 @@ public enum EVRInitError Init_PrismNeedsNewDrivers = 151, Init_PrismStartupTimedOut = 152, Init_CouldNotStartPrism = 153, - Init_CreateDriverDirectDeviceFailed = 154, - Init_PrismExitedUnexpectedly = 155, + Init_PrismClientInitFailed = 154, + Init_PrismClientStartFailed = 155, + Init_PrismExitedUnexpectedly = 156, + Init_BadLuid = 157, + Init_NoServerForAppContainer = 158, + Init_DuplicateBootstrapper = 159, + Init_VRDashboardServicePending = 160, + Init_VRDashboardServiceTimeout = 161, + Init_VRDashboardServiceStopped = 162, + Init_VRDashboardAlreadyStarted = 163, + Init_VRDashboardCopyFailed = 164, + Init_VRDashboardTokenFailure = 165, + Init_VRDashboardEnvironmentFailure = 166, + Init_VRDashboardPathFailure = 167, Driver_Failed = 200, Driver_Unknown = 201, Driver_HmdUnknown = 202, @@ -5275,6 +5320,8 @@ public enum EVRInitError Driver_HmdDriverIdOutOfBounds = 211, Driver_HmdDisplayMirrored = 212, Driver_HmdDisplayNotFoundLaptop = 213, + Driver_PeerDriverNotInstalled = 214, + Driver_WirelessHmdNotConnected = 215, IPC_ServerInitFailed = 300, IPC_ConnectFailed = 301, IPC_SharedStateInitFailed = 302, @@ -5380,8 +5427,11 @@ public enum EVRInitError Compositor_WindowInterfaceIsNull = 491, Compositor_SystemLayerCreateInstance = 492, Compositor_SystemLayerCreateSession = 493, + Compositor_CreateInverseDistortUVs = 494, + Compositor_CreateBackbufferDepth = 495, VendorSpecific_UnableToConnectToOculusRuntime = 1000, VendorSpecific_WindowsNotInDevMode = 1001, + VendorSpecific_OculusLinkNotEnabled = 1002, VendorSpecific_HmdFound_CantOpenDevice = 1101, VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, VendorSpecific_HmdFound_NoStoredConfig = 1103, @@ -5396,6 +5446,7 @@ public enum EVRInitError VendorSpecific_HmdFound_UserDataError = 1112, VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, VendorSpecific_OculusRuntimeBadInstall = 1114, + VendorSpecific_HmdFound_UnexpectedConfiguration_1 = 1115, Steam_SteamInstallationNotFound = 2000, LastError = 2001, } @@ -5582,13 +5633,13 @@ public enum VROverlayTransformType VROverlayTransform_Invalid = -1, VROverlayTransform_Absolute = 0, VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, VROverlayTransform_TrackedComponent = 3, VROverlayTransform_Cursor = 4, VROverlayTransform_DashboardTab = 5, VROverlayTransform_DashboardThumb = 6, VROverlayTransform_Mountable = 7, VROverlayTransform_Projection = 8, + VROverlayTransform_Subview = 9, } public enum VROverlayFlags { @@ -5609,6 +5660,8 @@ public enum VROverlayFlags HideLaserIntersection = 524288, WantsModalBehavior = 1048576, IsPremultiplied = 2097152, + IgnoreTextureAlpha = 4194304, + Reserved = 67108864, } public enum VRMessageOverlayResponse { @@ -5676,6 +5729,7 @@ public enum EVRRenderModelTextureFormat BC4 = 2, BC7 = 3, BC7_SRGB = 4, + RGBA16_FLOAT = 5, } public enum EVRNotificationType { @@ -5802,6 +5856,10 @@ public enum EBlockQueueReadType BlockQueueRead_New = 1, BlockQueueRead_Next = 2, } +public enum EBlockQueueCreationFlag +{ + BlockQueueFlag_OwnerIsReader = 1, +} [StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t { @@ -6002,17 +6060,6 @@ public enum EBlockQueueReadType public ETextureType eType; public EColorSpace eColorSpace; } -[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t -{ - public HmdMatrix34_t mDeviceToAbsoluteTracking; - public HmdVector3_t vVelocity; - public HmdVector3_t vAngularVelocity; - public ETrackingResult eTrackingResult; - [MarshalAs(UnmanagedType.I1)] - public bool bPoseIsValid; - [MarshalAs(UnmanagedType.I1)] - public bool bDeviceIsConnected; -} [StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t { public float uMin; @@ -6048,6 +6095,17 @@ public enum EBlockQueueReadType public HmdMatrix34_t mDeviceToAbsoluteTracking; public VRTextureDepthInfo_t depth; } +[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t +{ + public HmdMatrix34_t mDeviceToAbsoluteTracking; + public HmdVector3_t vVelocity; + public HmdVector3_t vAngularVelocity; + public ETrackingResult eTrackingResult; + [MarshalAs(UnmanagedType.I1)] + public bool bPoseIsValid; + [MarshalAs(UnmanagedType.I1)] + public bool bDeviceIsConnected; +} [StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t { public ulong m_nImage; @@ -6421,6 +6479,13 @@ public enum EBlockQueueReadType public uint m_nNumFramePresentsTimedOut; public uint m_nNumDroppedFramesTimedOut; public uint m_nNumReprojectedFramesTimedOut; + public uint m_nNumFrameSubmits; + public double m_flSumCompositorCPUTimeMS; + public double m_flSumCompositorGPUTimeMS; + public double m_flSumTargetFrameTimes; + public double m_flSumApplicationCPUTimeMS; + public double m_flSumApplicationGPUTimeMS; + public uint m_nNumFramesWithDepth; } [StructLayout(LayoutKind.Sequential)] public struct Compositor_StageRenderSettings { @@ -6506,6 +6571,7 @@ public enum EBlockQueueReadType public ushort unHeight; public IntPtr rubTextureMapData; // const uint8_t * public EVRRenderModelTextureFormat format; + public ushort unMipLevels; } // This structure is for backwards binary compatibility on Linux and OSX only [StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed @@ -6514,12 +6580,14 @@ public enum EBlockQueueReadType public ushort unHeight; public IntPtr rubTextureMapData; // const uint8_t * public EVRRenderModelTextureFormat format; + public ushort unMipLevels; public RenderModel_TextureMap_t_Packed(RenderModel_TextureMap_t unpacked) { this.unWidth = unpacked.unWidth; this.unHeight = unpacked.unHeight; this.rubTextureMapData = unpacked.rubTextureMapData; this.format = unpacked.format; + this.unMipLevels = unpacked.unMipLevels; } public void Unpack(ref RenderModel_TextureMap_t unpacked) { @@ -6527,6 +6595,7 @@ public enum EBlockQueueReadType unpacked.unHeight = this.unHeight; unpacked.rubTextureMapData = this.rubTextureMapData; unpacked.format = this.format; + unpacked.unMipLevels = this.unMipLevels; } } [StructLayout(LayoutKind.Sequential)] public struct RenderModel_t @@ -7565,7 +7634,7 @@ public class OpenVR public const uint k_unVROverlayMaxNameLength = 128; public const uint k_unMaxOverlayCount = 128; public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32; - public const string IVROverlay_Version = "IVROverlay_025"; + public const string IVROverlay_Version = "IVROverlay_027"; public const string IVROverlayView_Version = "IVROverlayView_003"; public const uint k_unHeadsetViewMaxWidth = 3840; public const uint k_unHeadsetViewMaxHeight = 2160; @@ -7613,6 +7682,8 @@ public class OpenVR public const string k_pch_SteamVR_MotionSmoothingOverride_Int32 = "motionSmoothingOverride"; public const string k_pch_SteamVR_FramesToThrottle_Int32 = "framesToThrottle"; public const string k_pch_SteamVR_AdditionalFramesToPredict_Int32 = "additionalFramesToPredict"; + public const string k_pch_SteamVR_WorldScale_Float = "worldScale"; + public const string k_pch_SteamVR_FovScale_Int32 = "fovScale"; public const string k_pch_SteamVR_DisableAsyncReprojection_Bool = "disableAsync"; public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "mirrorView"; @@ -7639,7 +7710,6 @@ public class OpenVR public const string k_pch_SteamVR_ForceWindows32bitVRMonitor = "forceWindows32BitVRMonitor"; public const string k_pch_SteamVR_DebugInputBinding = "debugInputBinding"; public const string k_pch_SteamVR_DoNotFadeToGrid = "doNotFadeToGrid"; - public const string k_pch_SteamVR_RenderCameraMode = "renderCameraMode"; public const string k_pch_SteamVR_EnableSharedResourceJournaling = "enableSharedResourceJournaling"; public const string k_pch_SteamVR_EnableSafeMode = "enableSafeMode"; public const string k_pch_SteamVR_PreferredRefreshRate = "preferredRefreshRate"; @@ -7656,6 +7726,7 @@ public class OpenVR public const string k_pch_SteamVR_BlockOculusSDKOnOpenVRLaunchOption_Bool = "blockOculusSDKOnOpenVRLaunchOption"; public const string k_pch_SteamVR_BlockOculusSDKOnAllLaunches_Bool = "blockOculusSDKOnAllLaunches"; public const string k_pch_SteamVR_HDCPLegacyCompatibility_Bool = "hdcp14legacyCompatibility"; + public const string k_pch_SteamVR_DisplayPortTrainingMode_Int = "displayPortTrainingMode"; public const string k_pch_SteamVR_UsePrism_Bool = "usePrism"; public const string k_pch_DirectMode_Section = "direct_mode"; public const string k_pch_DirectMode_Enable_Bool = "enable"; @@ -7708,6 +7779,7 @@ public class OpenVR public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; public const string k_pch_Perf_TestData_Float = "perfTestData"; public const string k_pch_Perf_GPUProfiling_Bool = "GPUProfiling"; + public const string k_pch_Perf_GpuBusMonitoring_Bool = "gpuBusMonitoring"; public const string k_pch_CollisionBounds_Section = "collisionBounds"; public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; @@ -7764,6 +7836,8 @@ public class OpenVR public const string k_pch_Dashboard_DesktopScale = "desktopScale"; public const string k_pch_Dashboard_DashboardScale = "dashboardScale"; public const string k_pch_Dashboard_UseStandaloneSystemLayer = "standaloneSystemLayer"; + public const string k_pch_Dashboard_StickyDashboard = "stickyDashboard"; + public const string k_pch_Dashboard_AllowSteamOverlays_Bool = "allowSteamOverlays"; public const string k_pch_modelskin_Section = "modelskins"; public const string k_pch_Driver_Enable_Bool = "enable"; public const string k_pch_Driver_BlockedBySafemode_Bool = "blocked_by_safe_mode"; @@ -7776,6 +7850,7 @@ public class OpenVR public const string k_pch_App_BindingAutosaveURLSuffix_String = "AutosaveURL"; public const string k_pch_App_BindingLegacyAPISuffix_String = "_legacy"; public const string k_pch_App_BindingSteamVRInputAPISuffix_String = "_steamvrinput"; + public const string k_pch_App_BindingOpenXRAPISuffix_String = "_openxr"; public const string k_pch_App_BindingCurrentURLSuffix_String = "CurrentURL"; public const string k_pch_App_BindingPreviousURLSuffix_String = "PreviousURL"; public const string k_pch_App_NeedToUpdateAutosaveSuffix_Bool = "NeedToUpdateAutosave"; @@ -7843,6 +7918,10 @@ public class OpenVR public const string k_pchPathUserElbowRight = "/user/elbow/right"; public const string k_pchPathUserKneeLeft = "/user/knee/left"; public const string k_pchPathUserKneeRight = "/user/knee/right"; + public const string k_pchPathUserWristLeft = "/user/wrist/left"; + public const string k_pchPathUserWristRight = "/user/wrist/right"; + public const string k_pchPathUserAnkleLeft = "/user/ankle/left"; + public const string k_pchPathUserAnkleRight = "/user/ankle/right"; public const string k_pchPathUserWaist = "/user/waist"; public const string k_pchPathUserChest = "/user/chest"; public const string k_pchPathUserCamera = "/user/camera"; @@ -7850,7 +7929,7 @@ public class OpenVR public const string k_pchPathClientAppKey = "/client_info/app_key"; public const ulong k_ulInvalidPathHandle = 0; public const string IVRPaths_Version = "IVRPaths_001"; - public const string IVRBlockQueue_Version = "IVRBlockQueue_004"; + public const string IVRBlockQueue_Version = "IVRBlockQueue_005"; static uint VRToken { get; set; } diff --git a/OffScreenBrowser.cs b/Dotnet/Overlay/OffScreenBrowser.cs similarity index 100% rename from OffScreenBrowser.cs rename to Dotnet/Overlay/OffScreenBrowser.cs diff --git a/VRCXVR.cs b/Dotnet/Overlay/VRCXVR.cs similarity index 100% rename from VRCXVR.cs rename to Dotnet/Overlay/VRCXVR.cs diff --git a/VRForm.Designer.cs b/Dotnet/Overlay/VRForm.Designer.cs similarity index 100% rename from VRForm.Designer.cs rename to Dotnet/Overlay/VRForm.Designer.cs diff --git a/VRForm.cs b/Dotnet/Overlay/VRForm.cs similarity index 94% rename from VRForm.cs rename to Dotnet/Overlay/VRForm.cs index 9e543640..21bdcc3f 100644 --- a/VRForm.cs +++ b/Dotnet/Overlay/VRForm.cs @@ -25,7 +25,7 @@ namespace VRCX Path.Combine(Program.BaseDirectory, "html/vr.html?1") ) { - DragHandler = new NoopDragHandler(), + DragHandler = new CefNoopDragHandler(), BrowserSettings = { DefaultEncoding = "UTF-8", @@ -37,7 +37,7 @@ namespace VRCX Path.Combine(Program.BaseDirectory, "html/vr.html?2") ) { - DragHandler = new NoopDragHandler(), + DragHandler = new CefNoopDragHandler(), BrowserSettings = { DefaultEncoding = "UTF-8", diff --git a/VRForm.resx b/Dotnet/Overlay/VRForm.resx similarity index 100% rename from VRForm.resx rename to Dotnet/Overlay/VRForm.resx diff --git a/WorldDBManager.cs b/Dotnet/PWI/WorldDBManager.cs similarity index 100% rename from WorldDBManager.cs rename to Dotnet/PWI/WorldDBManager.cs diff --git a/WorldDataRequestResponse.cs b/Dotnet/PWI/WorldDataRequestResponse.cs similarity index 100% rename from WorldDataRequestResponse.cs rename to Dotnet/PWI/WorldDataRequestResponse.cs diff --git a/WorldDatabase.cs b/Dotnet/PWI/WorldDatabase.cs similarity index 100% rename from WorldDatabase.cs rename to Dotnet/PWI/WorldDatabase.cs diff --git a/ProcessMonitor.cs b/Dotnet/ProcessMonitor.cs similarity index 100% rename from ProcessMonitor.cs rename to Dotnet/ProcessMonitor.cs diff --git a/Program.cs b/Dotnet/Program.cs similarity index 100% rename from Program.cs rename to Dotnet/Program.cs diff --git a/SQLite.cs b/Dotnet/SQLite.cs similarity index 100% rename from SQLite.cs rename to Dotnet/SQLite.cs diff --git a/SQLiteLegacy.cs b/Dotnet/SQLiteLegacy.cs similarity index 100% rename from SQLiteLegacy.cs rename to Dotnet/SQLiteLegacy.cs diff --git a/ScreenshotHelper.cs b/Dotnet/ScreenshotMetadata/ScreenshotHelper.cs similarity index 100% rename from ScreenshotHelper.cs rename to Dotnet/ScreenshotMetadata/ScreenshotHelper.cs diff --git a/ScreenshotMetadata.cs b/Dotnet/ScreenshotMetadata/ScreenshotMetadata.cs similarity index 100% rename from ScreenshotMetadata.cs rename to Dotnet/ScreenshotMetadata/ScreenshotMetadata.cs diff --git a/ScreenshotMetadataDatabase.cs b/Dotnet/ScreenshotMetadata/ScreenshotMetadataDatabase.cs similarity index 100% rename from ScreenshotMetadataDatabase.cs rename to Dotnet/ScreenshotMetadata/ScreenshotMetadataDatabase.cs diff --git a/SharedVariable.cs b/Dotnet/SharedVariable.cs similarity index 100% rename from SharedVariable.cs rename to Dotnet/SharedVariable.cs diff --git a/StartupArgs.cs b/Dotnet/StartupArgs.cs similarity index 100% rename from StartupArgs.cs rename to Dotnet/StartupArgs.cs diff --git a/Update.cs b/Dotnet/Update.cs similarity index 100% rename from Update.cs rename to Dotnet/Update.cs diff --git a/Util.cs b/Dotnet/Util.cs similarity index 100% rename from Util.cs rename to Dotnet/Util.cs diff --git a/VRCXStorage.cs b/Dotnet/VRCXStorage.cs similarity index 100% rename from VRCXStorage.cs rename to Dotnet/VRCXStorage.cs diff --git a/WebApi.cs b/Dotnet/WebApi.cs similarity index 100% rename from WebApi.cs rename to Dotnet/WebApi.cs diff --git a/WinApi.cs b/Dotnet/WinApi.cs similarity index 100% rename from WinApi.cs rename to Dotnet/WinApi.cs diff --git a/WinformBase.cs b/Dotnet/WinformBase.cs similarity index 100% rename from WinformBase.cs rename to Dotnet/WinformBase.cs diff --git a/WinformThemer.cs b/Dotnet/WinformThemer.cs similarity index 100% rename from WinformThemer.cs rename to Dotnet/WinformThemer.cs diff --git a/OpenVR/win32/openvr_api.dll b/OpenVR/win32/openvr_api.dll deleted file mode 100644 index 6e423e6c..00000000 Binary files a/OpenVR/win32/openvr_api.dll and /dev/null differ diff --git a/OpenVR/win64/openvr_api.dll b/OpenVR/win64/openvr_api.dll deleted file mode 100644 index a4ad7640..00000000 Binary files a/OpenVR/win64/openvr_api.dll and /dev/null differ diff --git a/VRCX.csproj b/VRCX.csproj index 5e323f95..67f79e46 100644 --- a/VRCX.csproj +++ b/VRCX.csproj @@ -82,64 +82,65 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + Form - - VRForm.cs - - - Form - - + MainForm.cs - - - - - - - - - - - + + + + Form - - + VRForm.cs + + + + + + + + + + + + + + + + + + + + Form + + + + + MainForm.cs Designer - - MainForm.cs + + VRForm.cs Designer @@ -170,7 +171,12 @@ - + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -236,8 +242,6 @@ - xcopy /y "$(ProjectDir)OpenVR\win64\openvr_api.dll" -xcopy /y "$(ProjectDir)lib\sqlite3.dll" true false false diff --git a/build-7z.cmd b/build-7z.cmd deleted file mode 100644 index 71763951..00000000 --- a/build-7z.cmd +++ /dev/null @@ -1,25 +0,0 @@ -@echo off -setlocal -where /q 7z -IF ERRORLEVEL 1 ( - set ZIP_BIN="C:\Program Files\7-Zip\7z.exe" -) ELSE ( - set ZIP_BIN=7z -) -cd /d %~dp0 -msbuild VRCX.sln -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m -cd html -call npm ci -call npm run production -cd .. -mklink /J "%~dp0\bin\x64\Release\html" "%~dp0\html\dist" -for /f %%a in ('powershell -Command "Get-Date -format yyyyMMdd"') do set TODAY=%%a -set ZIP_NAME=VRCX_%TODAY%.zip -echo %ZIP_NAME% -rem using 7-Zip (https://www.7-zip.org) -cd "%~dp0\bin\x64\Release" -%ZIP_BIN% a -tzip %ZIP_NAME% * -mx=7 -xr0!*.log -xr0!*.pdb -cd "%~dp0" -move "%~dp0\bin\x64\Release\%ZIP_NAME%" "%~dp0" -rd "%~dp0\bin\x64\Release\html" -pause diff --git a/build-dotnet.cmd b/build-dotnet.cmd new file mode 100644 index 00000000..b4c96e30 --- /dev/null +++ b/build-dotnet.cmd @@ -0,0 +1,4 @@ +@echo off +msbuild VRCX.sln -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m +mklink /J "%~dp0\bin\x64\Release\html" "%~dp0\html\dist" +pause diff --git a/build.cmd b/build.cmd deleted file mode 100644 index 7d7ed6d9..00000000 --- a/build.cmd +++ /dev/null @@ -1,19 +0,0 @@ -@echo off -setlocal -cd /d %~dp0 -msbuild VRCX.sln -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m -cd html -call npm ci -call npm run production -cd .. -mklink /J "%~dp0\bin\x64\Release\html" "%~dp0\html\dist" -for /f %%a in ('powershell -Command "Get-Date -format yyyyMMdd"') do set TODAY=%%a -set ZIP_NAME=VRCX_%TODAY%.zip -echo %ZIP_NAME% -rem using bandizip (https://www.bandisoft.com/bandizip) -cd "%~dp0\bin\x64\Release" -bz c -l:9 -r -storeroot:yes -ex:"cache;userdata;*.log;*.json;*.sqlite3;*.pdb;*.config" -cmt:"https://github.com/vrcx-team/VRCX" %ZIP_NAME% * -cd "%~dp0" -move "%~dp0\bin\x64\Release\%ZIP_NAME%" "%~dp0" -rd "%~dp0\bin\x64\Release\html" -pause diff --git a/html/src/app.js b/html/src/app.js index a5214d28..49531caf 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -28019,7 +28019,8 @@ speechSynthesis.getVoices(); } var result = await AppApi.SetVRChatRegistryKey( 'LOGGING_ENABLED', - '1' + '1', + 4 ); if (!result) { // failed to set key diff --git a/openvr_api.dll b/openvr_api.dll new file mode 100644 index 00000000..9bcb2863 Binary files /dev/null and b/openvr_api.dll differ diff --git a/lib/sqlite3.dll b/sqlite3.dll similarity index 100% rename from lib/sqlite3.dll rename to sqlite3.dll