Separate code

rename
This commit is contained in:
Perfare
2018-03-01 20:01:25 +08:00
parent 9d7c3b9f64
commit c8393e165f
33 changed files with 2624 additions and 2557 deletions

View File

@@ -38,64 +38,63 @@ namespace Unity_Studio
public AudioClip(AssetPreloadData preloadData, bool readSwitch)
{
var sourceFile = preloadData.sourceFile;
var a_Stream = preloadData.sourceFile.assetsFileReader;
a_Stream.Position = preloadData.Offset;
var reader = preloadData.Reader;
if (sourceFile.platform == -2)
{
uint m_ObjectHideFlags = a_Stream.ReadUInt32();
uint m_ObjectHideFlags = reader.ReadUInt32();
PPtr m_PrefabParentObject = sourceFile.ReadPPtr();
PPtr m_PrefabInternal = sourceFile.ReadPPtr();
}
m_Name = a_Stream.ReadAlignedString(a_Stream.ReadInt32());
m_Name = reader.ReadAlignedString(reader.ReadInt32());
version5 = sourceFile.version[0] >= 5;
if (sourceFile.version[0] < 5)
{
m_Format = a_Stream.ReadInt32(); //channels?
m_Type = (AudioType)a_Stream.ReadInt32();
m_3D = a_Stream.ReadBoolean();
m_UseHardware = a_Stream.ReadBoolean();
a_Stream.Position += 2; //4 byte alignment
m_Format = reader.ReadInt32(); //channels?
m_Type = (AudioType)reader.ReadInt32();
m_3D = reader.ReadBoolean();
m_UseHardware = reader.ReadBoolean();
reader.Position += 2; //4 byte alignment
if (sourceFile.version[0] >= 4 || (sourceFile.version[0] == 3 && sourceFile.version[1] >= 2)) //3.2.0 to 5
{
int m_Stream = a_Stream.ReadInt32();
m_Size = a_Stream.ReadInt32();
int m_Stream = reader.ReadInt32();
m_Size = reader.ReadInt32();
var tsize = m_Size % 4 != 0 ? m_Size + 4 - m_Size % 4 : m_Size;
//TODO: Need more test
if (preloadData.Size + preloadData.Offset - a_Stream.Position != tsize)
if (preloadData.Size + preloadData.Offset - reader.Position != tsize)
{
m_Offset = a_Stream.ReadInt32();
m_Offset = reader.ReadInt32();
m_Source = sourceFile.filePath + ".resS";
}
}
else
{
m_Size = a_Stream.ReadInt32();
m_Size = reader.ReadInt32();
}
}
else
{
m_LoadType = a_Stream.ReadInt32(); //Decompress on load, Compressed in memory, Streaming
m_Channels = a_Stream.ReadInt32();
m_Frequency = a_Stream.ReadInt32();
m_BitsPerSample = a_Stream.ReadInt32();
m_Length = a_Stream.ReadSingle();
m_IsTrackerFormat = a_Stream.ReadBoolean();
a_Stream.Position += 3;
m_SubsoundIndex = a_Stream.ReadInt32();
m_PreloadAudioData = a_Stream.ReadBoolean();
m_LoadInBackground = a_Stream.ReadBoolean();
m_Legacy3D = a_Stream.ReadBoolean();
a_Stream.Position += 1;
m_LoadType = reader.ReadInt32(); //Decompress on load, Compressed in memory, Streaming
m_Channels = reader.ReadInt32();
m_Frequency = reader.ReadInt32();
m_BitsPerSample = reader.ReadInt32();
m_Length = reader.ReadSingle();
m_IsTrackerFormat = reader.ReadBoolean();
reader.Position += 3;
m_SubsoundIndex = reader.ReadInt32();
m_PreloadAudioData = reader.ReadBoolean();
m_LoadInBackground = reader.ReadBoolean();
m_Legacy3D = reader.ReadBoolean();
reader.Position += 1;
m_3D = m_Legacy3D;
m_Source = a_Stream.ReadAlignedString(a_Stream.ReadInt32());
m_Offset = a_Stream.ReadInt64();
m_Size = a_Stream.ReadInt64();
m_CompressionFormat = (AudioCompressionFormat)a_Stream.ReadInt32();
m_Source = reader.ReadAlignedString(reader.ReadInt32());
m_Offset = reader.ReadInt64();
m_Size = reader.ReadInt64();
m_CompressionFormat = (AudioCompressionFormat)reader.ReadInt32();
}
if (readSwitch)
@@ -114,18 +113,18 @@ namespace Unity_Studio
}
if (File.Exists(resourceFilePath))
{
using (var reader = new BinaryReader(File.OpenRead(resourceFilePath)))
using (var resourceReader = new BinaryReader(File.OpenRead(resourceFilePath)))
{
reader.BaseStream.Position = m_Offset;
m_AudioData = reader.ReadBytes((int)m_Size);
resourceReader.BaseStream.Position = m_Offset;
m_AudioData = resourceReader.ReadBytes((int)m_Size);
}
}
else
{
if (UnityStudio.resourceFileReaders.TryGetValue(resourceFileName.ToUpper(), out var reader))
if (UnityStudio.resourceFileReaders.TryGetValue(resourceFileName.ToUpper(), out var resourceReader))
{
reader.Position = m_Offset;
m_AudioData = reader.ReadBytes((int)m_Size);
resourceReader.Position = m_Offset;
m_AudioData = resourceReader.ReadBytes((int)m_Size);
}
else
{
@@ -136,7 +135,7 @@ namespace Unity_Studio
else
{
if (m_Size > 0)
m_AudioData = a_Stream.ReadBytes((int)m_Size);
m_AudioData = reader.ReadBytes((int)m_Size);
}
}
else