mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-25 05:40:21 -04:00
Improve stream file processing
This commit is contained in:
parent
d14c232015
commit
46c0e8ffe1
@ -162,7 +162,7 @@ namespace AssetStudio
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
resourceFileReaders.Add(file.fileName, subReader);
|
resourceFileReaders[file.fileName] = subReader; //TODO
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -203,7 +203,7 @@ namespace AssetStudio
|
|||||||
LoadWebFile(dummyPath, fileReader);
|
LoadWebFile(dummyPath, fileReader);
|
||||||
break;
|
break;
|
||||||
case FileType.ResourceFile:
|
case FileType.ResourceFile:
|
||||||
resourceFileReaders.Add(file.fileName, fileReader);
|
resourceFileReaders[file.fileName] = fileReader; //TODO
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -171,6 +171,7 @@ namespace AssetStudio
|
|||||||
var node = m_DirectoryInfo[i];
|
var node = m_DirectoryInfo[i];
|
||||||
var file = new StreamFile();
|
var file = new StreamFile();
|
||||||
fileList[i] = file;
|
fileList[i] = file;
|
||||||
|
file.path = node.path;
|
||||||
file.fileName = Path.GetFileName(node.path);
|
file.fileName = Path.GetFileName(node.path);
|
||||||
if (node.size >= int.MaxValue)
|
if (node.size >= int.MaxValue)
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,7 @@ namespace AssetStudio
|
|||||||
{
|
{
|
||||||
public class StreamFile
|
public class StreamFile
|
||||||
{
|
{
|
||||||
|
public string path;
|
||||||
public string fileName;
|
public string fileName;
|
||||||
public Stream stream;
|
public Stream stream;
|
||||||
}
|
}
|
||||||
|
@ -83,6 +83,7 @@ namespace AssetStudio
|
|||||||
{
|
{
|
||||||
var data = dataList[i];
|
var data = dataList[i];
|
||||||
var file = new StreamFile();
|
var file = new StreamFile();
|
||||||
|
file.path = data.path;
|
||||||
file.fileName = Path.GetFileName(data.path);
|
file.fileName = Path.GetFileName(data.path);
|
||||||
reader.BaseStream.Position = data.dataOffset;
|
reader.BaseStream.Position = data.dataOffset;
|
||||||
file.stream = new MemoryStream(reader.ReadBytes(data.dataLength));
|
file.stream = new MemoryStream(reader.ReadBytes(data.dataLength));
|
||||||
|
@ -113,10 +113,11 @@ namespace AssetStudioGUI
|
|||||||
int extractedCount = 0;
|
int extractedCount = 0;
|
||||||
foreach (var file in fileList)
|
foreach (var file in fileList)
|
||||||
{
|
{
|
||||||
var filePath = Path.Combine(extractPath, file.fileName);
|
var filePath = Path.Combine(extractPath, file.path);
|
||||||
if (!Directory.Exists(extractPath))
|
var fileDirectory = Path.GetDirectoryName(filePath);
|
||||||
|
if (!Directory.Exists(fileDirectory))
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(extractPath);
|
Directory.CreateDirectory(fileDirectory);
|
||||||
}
|
}
|
||||||
if (!File.Exists(filePath))
|
if (!File.Exists(filePath))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user