Support variants

This commit is contained in:
Natsumi
2024-10-02 09:49:08 +13:00
parent 665780ed58
commit 3ff2d687d2
2 changed files with 119 additions and 32 deletions

View File

@@ -5436,6 +5436,18 @@ speechSynthesis.getVoices();
return match ? match[1] : '';
};
var extractVariantVersion = (url) => {
if (!url) {
return '';
}
try {
const params = new URLSearchParams(new URL(url).search);
return params.get('v');
} catch {
return '';
}
};
var buildTreeData = (json) => {
var node = [];
for (var key in json) {
@@ -24890,6 +24902,7 @@ speechSynthesis.getVoices();
return { Item1: -1, Item2: false, Item3: '' };
}
var assetUrl = '';
var variant = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) {
var unityPackage = ref.unityPackages[i];
if (
@@ -24904,6 +24917,9 @@ speechSynthesis.getVoices();
this.compareUnityVersion(unityPackage.unitySortNumber)
) {
assetUrl = unityPackage.assetUrl;
if (unityPackage.variant !== 'standard') {
variant = unityPackage.variant;
}
break;
}
}
@@ -24912,11 +24928,17 @@ speechSynthesis.getVoices();
}
var id = extractFileId(assetUrl);
var version = parseInt(extractFileVersion(assetUrl), 10);
var variantVersion = parseInt(extractVariantVersion(assetUrl), 10);
if (!id || !version) {
return { Item1: -1, Item2: false, Item3: '' };
}
return AssetBundleCacher.CheckVRChatCache(id, version);
return AssetBundleCacher.CheckVRChatCache(
id,
version,
variant,
variantVersion
);
};
API.getBundles = function (fileId) {
@@ -25060,6 +25082,7 @@ speechSynthesis.getVoices();
$app.methods.deleteVRChatCache = async function (ref) {
var assetUrl = '';
var variant = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) {
var unityPackage = ref.unityPackages[i];
if (
@@ -25074,12 +25097,21 @@ speechSynthesis.getVoices();
this.compareUnityVersion(unityPackage.unitySortNumber)
) {
assetUrl = unityPackage.assetUrl;
if (unityPackage.variant !== 'standard') {
variant = unityPackage.variant;
}
break;
}
}
var id = extractFileId(assetUrl);
var version = parseInt(extractFileVersion(assetUrl), 10);
await AssetBundleCacher.DeleteCache(id, version);
var variantVersion = parseInt(extractVariantVersion(assetUrl), 10);
await AssetBundleCacher.DeleteCache(
id,
version,
variant,
variantVersion
);
this.getVRChatCacheSize();
this.updateVRChatWorldCache();
this.updateVRChatAvatarCache();
@@ -25178,6 +25210,7 @@ speechSynthesis.getVoices();
$app.methods.getBundleLocation = async function (input) {
var assetUrl = input;
var variant = '';
if (assetUrl) {
// continue
} else if (
@@ -25199,6 +25232,9 @@ speechSynthesis.getVoices();
this.compareUnityVersion(unityPackage.unitySortNumber)
) {
assetUrl = unityPackage.assetUrl;
if (unityPackage.variant !== 'standard') {
variant = unityPackage.variant;
}
break;
}
}
@@ -25230,13 +25266,18 @@ speechSynthesis.getVoices();
}
var fileId = extractFileId(assetUrl);
var fileVersion = parseInt(extractFileVersion(assetUrl), 10);
var variantVersion = parseInt(extractVariantVersion(assetUrl), 10);
var assetLocation = await AssetBundleCacher.GetVRChatCacheFullLocation(
fileId,
fileVersion
fileVersion,
variant,
variantVersion
);
var cacheInfo = await AssetBundleCacher.CheckVRChatCache(
fileId,
fileVersion
fileVersion,
variant,
variantVersion
);
var inCache = false;
if (cacheInfo.Item1 > 0) {