diff --git a/Dotnet/Overlay/VRCXVR.cs b/Dotnet/Overlay/VRCXVR.cs index 5711a6a0..0cf538d5 100644 --- a/Dotnet/Overlay/VRCXVR.cs +++ b/Dotnet/Overlay/VRCXVR.cs @@ -42,6 +42,7 @@ namespace VRCX private Texture2D _texture2; private Thread _thread; private bool _wristOverlayActive; + private DateTime _nextOverlayUpdate; public bool IsHmdAfk { get; private set; } static VRCXVR() @@ -129,7 +130,7 @@ namespace VRCX var e = new VREvent_t(); var nextInit = DateTime.MinValue; var nextDeviceUpdate = DateTime.MinValue; - var nextOverlay = DateTime.MinValue; + _nextOverlayUpdate = DateTime.MinValue; var overlayIndex = OpenVR.k_unTrackedDeviceIndexInvalid; var overlayVisible1 = false; var overlayVisible2 = false; @@ -207,7 +208,7 @@ namespace VRCX UpdateDevices(system, ref overlayIndex); if (overlayIndex != OpenVR.k_unTrackedDeviceIndexInvalid) { - nextOverlay = DateTime.UtcNow.AddSeconds(10); + _nextOverlayUpdate = DateTime.UtcNow.AddSeconds(10); } nextDeviceUpdate = DateTime.UtcNow.AddSeconds(0.1); @@ -226,7 +227,7 @@ namespace VRCX logger.Error(err); } - err = ProcessOverlay1(overlay, ref overlayHandle1, ref overlayVisible1, dashboardVisible, overlayIndex, nextOverlay); + err = ProcessOverlay1(overlay, ref overlayHandle1, ref overlayVisible1, dashboardVisible, overlayIndex); if (err != EVROverlayError.None && overlayHandle1 != 0) { @@ -397,6 +398,7 @@ namespace VRCX if (system.GetControllerState(i, ref state, (uint)Marshal.SizeOf(state)) && (state.ulButtonPressed & (_menuButton ? 2u : isOculus ? 128u : 4u)) != 0) { + _nextOverlayUpdate = DateTime.MinValue; if (role == ETrackedControllerRole.LeftHand) { Array.Copy(_translationLeft, _translation, 3); @@ -549,7 +551,7 @@ namespace VRCX return err; } - internal EVROverlayError ProcessOverlay1(CVROverlay overlay, ref ulong overlayHandle, ref bool overlayVisible, bool dashboardVisible, uint overlayIndex, DateTime nextOverlay) + internal EVROverlayError ProcessOverlay1(CVROverlay overlay, ref ulong overlayHandle, ref bool overlayVisible, bool dashboardVisible, uint overlayIndex) { var err = EVROverlayError.None; @@ -622,7 +624,7 @@ namespace VRCX } if (!dashboardVisible && - DateTime.UtcNow.CompareTo(nextOverlay) <= 0) + DateTime.UtcNow.CompareTo(_nextOverlayUpdate) <= 0) { var texture = new Texture_t { diff --git a/html/src/app.js b/html/src/app.js index 11f1456c..4bad957f 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -11847,7 +11847,8 @@ speechSynthesis.getVoices(); groupOnNameplate: user.groupOnNameplate, showGroupBadgeToOthers: user.showGroupBadgeToOthers, showSocialRank: user.showSocialRank, - useImpostorAsFallback: user.useImpostorAsFallback + useImpostorAsFallback: user.useImpostorAsFallback, + platform: user.platform }); this.photonUserJoin(id, user, gameLogDate); } @@ -11884,7 +11885,8 @@ speechSynthesis.getVoices(); groupOnNameplate: user.groupOnNameplate, showGroupBadgeToOthers: user.showGroupBadgeToOthers, showSocialRank: user.showSocialRank, - useImpostorAsFallback: user.useImpostorAsFallback + useImpostorAsFallback: user.useImpostorAsFallback, + platform: user.platform }); this.photonUserJoin(id, user, gameLogDate); } @@ -11918,7 +11920,8 @@ speechSynthesis.getVoices(); groupOnNameplate: user.groupOnNameplate, showGroupBadgeToOthers: user.showGroupBadgeToOthers, showSocialRank: user.showSocialRank, - useImpostorAsFallback: user.useImpostorAsFallback + useImpostorAsFallback: user.useImpostorAsFallback, + platform: user.platform }); break; case 255: @@ -11968,7 +11971,8 @@ speechSynthesis.getVoices(); data.Parameters[249].showGroupBadgeToOthers, showSocialRank: data.Parameters[249].showSocialRank, useImpostorAsFallback: - data.Parameters[249].useImpostorAsFallback + data.Parameters[249].useImpostorAsFallback, + platform: data.Parameters[249].platform }); this.photonUserJoin( data.Parameters[254], @@ -18130,6 +18134,13 @@ speechSynthesis.getVoices(); return { isPC, isQuest, isIos }; }; + $app.methods.replaceVrcPackageUrl = function (url) { + if (!url) { + return ''; + } + return url.replace('https://api.vrchat.cloud/', 'https://vrchat.com/'); + }; + $app.methods.selectCurrentInstanceRow = function (val) { if (val === null) { return; @@ -19306,7 +19317,11 @@ speechSynthesis.getVoices(); this.showSetWorldTagsDialog(); break; case 'Download Unity Package': - this.openExternalLink(this.worldDialog.ref.unityPackageUrl); + this.openExternalLink( + this.replaceVrcPackageUrl( + this.worldDialog.ref.unityPackageUrl + ) + ); break; default: this.$confirm(`Continue? ${command}`, 'Confirm', { @@ -19610,7 +19625,11 @@ speechSynthesis.getVoices(); this.showSetAvatarTagsDialog(D.id); break; case 'Download Unity Package': - this.openExternalLink(this.avatarDialog.ref.unityPackageUrl); + this.openExternalLink( + this.replaceVrcPackageUrl( + this.avatarDialog.ref.unityPackageUrl + ) + ); break; case 'Add Favorite': this.showFavoriteDialog('avatar', D.id); @@ -26057,7 +26076,8 @@ speechSynthesis.getVoices(); groupOnNameplate: user.groupOnNameplate, showGroupBadgeToOthers: user.showGroupBadgeToOthers, showSocialRank: user.showSocialRank, - useImpostorAsFallback: user.useImpostorAsFallback + useImpostorAsFallback: user.useImpostorAsFallback, + platform: user.platform }); } } @@ -26114,7 +26134,7 @@ speechSynthesis.getVoices(); var data = input.replace(`import/${type}/`, ''); if (type === 'avatar') { this.showAvatarImportDialog(); - this.worldImportDialog.input = data; + this.avatarImportDialog.input = data; } else if (type === 'world') { this.showWorldImportDialog(); this.worldImportDialog.input = data;