Temp fix for AI parsing.
This commit is contained in:
@@ -82,10 +82,8 @@ namespace AssetStudio
|
||||
foreach (var subAsset in asset.Value)
|
||||
{
|
||||
var bundleInfo = new BundleInfo() { Bundle = asset.Key, Path = subAsset.Name };
|
||||
var blockInfo = assetIndex.Assets[asset.Key];
|
||||
ulong key = (((ulong)blockInfo.Id) << 32) | subAsset.PathHashLast;
|
||||
AssetLocationMap[subAsset.PathHashPre].Add(subAsset.PathHashLast, bundleInfo);
|
||||
AssetMap[key] = ((ulong)subAsset.PathHashLast) << 8 | subAsset.PathHashPre;
|
||||
AssetMap[subAsset.PathHashLast] = ((ulong)subAsset.PathHashLast) << 8 | subAsset.PathHashPre;
|
||||
}
|
||||
}
|
||||
foreach (var asset in assetIndex.Assets)
|
||||
@@ -150,13 +148,10 @@ namespace AssetStudio
|
||||
var asset = new Asset() { Hash = hash };
|
||||
return AssetLocationMap.ElementAtOrDefault(asset.Pre).ContainsKey(asset.Last);
|
||||
}
|
||||
public static string GetContainerFromBinName(string fileName, string binName)
|
||||
public static string GetContainerFromBinName(string binName)
|
||||
{
|
||||
var blkName = Path.GetFileNameWithoutExtension(fileName);
|
||||
var blk = Convert.ToUInt64(blkName);
|
||||
var lastHex = Convert.ToUInt32(binName, 16);
|
||||
var blkHash = (blk << 32) | lastHex;
|
||||
var index = GetAssetIndex(blkHash);
|
||||
var index = GetAssetIndex(lastHex);
|
||||
var bundleInfo = GetBundleInfo(index);
|
||||
return bundleInfo != null ? bundleInfo.Path : "";
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ namespace AssetStudioCLI
|
||||
case ClassIDType.MiHoYoBinData:
|
||||
if (indexObject.Names.TryGetValue(objectReader.m_PathID, out var binName))
|
||||
{
|
||||
var path = ResourceIndex.GetContainerFromBinName(file, binName);
|
||||
var path = ResourceIndex.GetContainerFromBinName(binName);
|
||||
asset.Container = path;
|
||||
asset.Name = !string.IsNullOrEmpty(path) ? Path.GetFileName(path) : binName;
|
||||
}
|
||||
|
||||
@@ -250,7 +250,7 @@ namespace AssetStudioGUI
|
||||
case ClassIDType.MiHoYoBinData:
|
||||
if (indexObject.Names.TryGetValue(objectReader.m_PathID, out var binName))
|
||||
{
|
||||
var path = ResourceIndex.GetContainerFromBinName(file, binName);
|
||||
var path = ResourceIndex.GetContainerFromBinName(binName);
|
||||
asset.Container = path;
|
||||
asset.Name = !string.IsNullOrEmpty(path) ? Path.GetFileName(path) : binName;
|
||||
}
|
||||
@@ -430,7 +430,7 @@ namespace AssetStudioGUI
|
||||
var game = GameManager.GetGame("GI");
|
||||
if (Path.GetExtension(assetsFile.originalPath) == game.Extension)
|
||||
{
|
||||
path = ResourceIndex.GetContainerFromBinName(assetsFile.originalPath, binName);
|
||||
path = ResourceIndex.GetContainerFromBinName(binName);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user