Open world cache directory

This commit is contained in:
Natsumi
2023-07-15 03:03:15 +12:00
parent 2f125b5983
commit cea1b01480
3 changed files with 44 additions and 44 deletions

View File

@@ -83,27 +83,25 @@ namespace VRCX
/// </summary>
/// <param name="id">The ID of the asset bundle.</param>
/// <param name="version">The version of the asset bundle.</param>
/// <returns>An array containing the file size and lock status of the asset bundle.</returns>
public long[] CheckVRChatCache(string id, int version)
/// <returns>A Tuple containing the file size, lock status and path of the asset bundle.</returns>
public Tuple<long, bool, string> CheckVRChatCache(string id, int version)
{
long FileSize = -1;
long IsLocked = 0;
var FullLocation = GetVRChatCacheFullLocation(id, version);
var FileLocation = Path.Combine(FullLocation, "__data");
if (File.Exists(FileLocation))
long fileSize = -1;
var isLocked = false;
var fullLocation = GetVRChatCacheFullLocation(id, version);
var fileLocation = Path.Combine(fullLocation, "__data");
var cachePath = string.Empty;
if (File.Exists(fileLocation))
{
FileInfo data = new FileInfo(FileLocation);
FileSize = data.Length;
cachePath = fullLocation;
FileInfo data = new FileInfo(fileLocation);
fileSize = data.Length;
}
if (File.Exists(Path.Combine(FullLocation, "__lock")))
if (File.Exists(Path.Combine(fullLocation, "__lock")))
{
IsLocked = 1;
isLocked = true;
}
return new long[]
{
FileSize,
IsLocked
};
return new Tuple<long, bool, string>(fileSize, isLocked, cachePath);
}
// old asset bundle cacher downloader method reused for updating, it's not pretty

View File

@@ -11399,7 +11399,7 @@ speechSynthesis.getVoices();
}
this.checkVRChatCache(avatar).then((cacheInfo) => {
var inCache = false;
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
inCache = true;
}
this.addEntryPhotonEvent({
@@ -11548,7 +11548,7 @@ speechSynthesis.getVoices();
avatar.description = this.replaceBioSymbols(avatar.description);
this.checkVRChatCache(avatar).then((cacheInfo) => {
var inCache = false;
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
inCache = true;
}
var entry = {
@@ -16419,10 +16419,10 @@ speechSynthesis.getVoices();
this.currentInstanceWorld.avatarScalingDisabled =
args.ref?.tags.includes('feature_avatar_scaling_disabled');
this.checkVRChatCache(args.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
this.currentInstanceWorld.inCache = true;
this.currentInstanceWorld.cacheSize = `${(
cacheInfo[0] / 1048576
cacheInfo.Item1 / 1048576
).toFixed(2)} MiB`;
}
});
@@ -16446,10 +16446,10 @@ speechSynthesis.getVoices();
this.currentInstanceWorld.isQuest = isQuest;
this.currentInstanceWorld.isIos = isIos;
this.checkVRChatCache(args.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
this.currentInstanceWorld.inCache = true;
this.currentInstanceWorld.cacheSize = `${(
cacheInfo[0] / 1048576
cacheInfo.Item1 / 1048576
).toFixed(2)} MiB`;
}
});
@@ -17048,6 +17048,7 @@ speechSynthesis.getVoices();
inCache: false,
cacheSize: 0,
cacheLocked: false,
cachePath: '',
lastVisit: '',
visitCount: 0,
timeSpent: 0,
@@ -17774,6 +17775,7 @@ speechSynthesis.getVoices();
inCache: false,
cacheSize: 0,
cacheLocked: false,
cachePath: '',
fileAnalysis: {}
};
@@ -17810,6 +17812,7 @@ speechSynthesis.getVoices();
D.inCache = false;
D.cacheSize = 0;
D.cacheLocked = false;
D.cachePath = '';
D.isQuestFallback = false;
D.isFavorite = API.cachedFavoritesByObjectId.has(avatarId);
D.isBlocked = API.cachedAvatarModerations.has(avatarId);
@@ -21951,15 +21954,16 @@ speechSynthesis.getVoices();
D.inCache = false;
D.cacheSize = 0;
D.cacheLocked = false;
D.cachePath = '';
this.checkVRChatCache(D.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
D.inCache = true;
D.cacheSize = `${(cacheInfo[0] / 1048576).toFixed(2)} MiB`;
D.cachePath = cacheInfo[2];
}
if (cacheInfo[1] === 1) {
D.cacheLocked = true;
D.cacheSize = `${(cacheInfo.Item1 / 1048576).toFixed(
2
)} MiB`;
D.cachePath = cacheInfo.Item3;
}
D.cacheLocked = cacheInfo.Item2;
});
}
};
@@ -21970,14 +21974,16 @@ speechSynthesis.getVoices();
D.inCache = false;
D.cacheSize = 0;
D.cacheLocked = false;
D.cachePath = '';
this.checkVRChatCache(D.ref).then((cacheInfo) => {
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
D.inCache = true;
D.cacheSize = `${(cacheInfo[0] / 1048576).toFixed(2)} MiB`;
}
if (cacheInfo[1] === 1) {
D.cacheLocked = true;
D.cacheSize = `${(cacheInfo.Item1 / 1048576).toFixed(
2
)} MiB`;
D.cachePath = cacheInfo.Item3;
}
D.cacheLocked = cacheInfo.Item2;
});
}
};
@@ -21985,7 +21991,7 @@ speechSynthesis.getVoices();
// eslint-disable-next-line require-await
$app.methods.checkVRChatCache = async function (ref) {
if (!ref.unityPackages) {
return [-1, 0];
return { Item1: -1, Item2: false, Item3: '' };
}
var assetUrl = '';
for (var i = ref.unityPackages.length - 1; i > -1; i--) {
@@ -22001,14 +22007,10 @@ speechSynthesis.getVoices();
var id = extractFileId(assetUrl);
var version = parseInt(extractFileVersion(assetUrl), 10);
if (!id || !version) {
return [-1, 0];
return { Item1: -1, Item2: false, Item3: '' };
}
let cacheData = await AssetBundleCacher.CheckVRChatCache(id, version);
let fullPath = await AssetBundleCacher.GetVRChatCacheFullLocation(id, version);
cacheData.push(fullPath);
return cacheData;
return AssetBundleCacher.CheckVRChatCache(id, version);
};
API.getBundles = function (fileId) {
@@ -22312,7 +22314,7 @@ speechSynthesis.getVoices();
fileVersion
);
var inCache = false;
if (cacheInfo[0] > 0) {
if (cacheInfo.Item1 > 0) {
inCache = true;
}
console.log(`InCache: ${inCache}`);

View File

@@ -572,7 +572,7 @@ html
el-tag.x-tag-platform-ios(v-if="worldDialog.isIos" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") iOS
el-tag(v-if="worldDialog.avatarScalingDisabled" type="warning" effect="plain" size="mini" style="margin-right:5px;margin-top:5px") {{ $t('dialog.world.tags.avatar_scaling_disabled') }}
el-tag(type="info" effect="plain" size="mini" v-text="worldDialog.fileSize" style="margin-right:5px;margin-top:5px")
el-tag(v-if="worldDialog.inCache" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px" @click="openFolderGeneric(worldDialog.cachePath)")
el-tag.x-link(v-if="worldDialog.inCache" type="info" effect="plain" size="mini" style="margin-right:5px;margin-top:5px" @click="openFolderGeneric(worldDialog.cachePath)")
span(v-text="worldDialog.cacheSize")
| {{ $t('dialog.world.tags.cache')}}
div(style="margin-top:5px")
@@ -747,7 +747,7 @@ html
el-tag(v-else type="danger" effect="plain" size="mini" style="margin-right:5px") {{ $t('dialog.avatar.tags.private') }}
el-tag(v-if="avatarDialog.isQuestFallback" type="info" effect="plain" size="mini" style="margin-right:5px") {{ $t('dialog.avatar.tags.fallback') }}
el-tag(v-if="avatarDialog.fileSize" type="info" effect="plain" size="mini" v-text="avatarDialog.fileSize" style="margin-right:5px")
el-tag(v-if="avatarDialog.inCache" type="info" effect="plain" size="mini")
el-tag.x-link(v-if="avatarDialog.inCache" type="info" effect="plain" size="mini" @click="openFolderGeneric(avatarDialog.cachePath)")
span(v-text="avatarDialog.cacheSize")
| {{ $t('dialog.avatar.tags.cache') }}
div(style="margin-top:5px")