mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-08-09 22:14:18 -04:00
Separate code
rename
This commit is contained in:
@ -5,73 +5,72 @@ using System.Text;
|
||||
|
||||
namespace Unity_Studio
|
||||
{
|
||||
class unityFont
|
||||
class UnityFont
|
||||
{
|
||||
public string m_Name;
|
||||
public byte[] m_FontData;
|
||||
|
||||
public unityFont(AssetPreloadData preloadData, bool readSwitch)
|
||||
public UnityFont(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());
|
||||
|
||||
if (readSwitch)
|
||||
{
|
||||
if ((sourceFile.version[0] == 5 && sourceFile.version[1] >= 5) || sourceFile.version[0] > 5)
|
||||
{
|
||||
var m_LineSpacing = a_Stream.ReadSingle();
|
||||
var m_LineSpacing = reader.ReadSingle();
|
||||
var m_DefaultMaterial = sourceFile.ReadPPtr();
|
||||
var m_FontSize = a_Stream.ReadSingle();
|
||||
var m_FontSize = reader.ReadSingle();
|
||||
var m_Texture = sourceFile.ReadPPtr();
|
||||
int m_AsciiStartOffset = a_Stream.ReadInt32();
|
||||
var m_Tracking = a_Stream.ReadSingle();
|
||||
var m_CharacterSpacing = a_Stream.ReadInt32();
|
||||
var m_CharacterPadding = a_Stream.ReadInt32();
|
||||
var m_ConvertCase = a_Stream.ReadInt32();
|
||||
int m_CharacterRects_size = a_Stream.ReadInt32();
|
||||
int m_AsciiStartOffset = reader.ReadInt32();
|
||||
var m_Tracking = reader.ReadSingle();
|
||||
var m_CharacterSpacing = reader.ReadInt32();
|
||||
var m_CharacterPadding = reader.ReadInt32();
|
||||
var m_ConvertCase = reader.ReadInt32();
|
||||
int m_CharacterRects_size = reader.ReadInt32();
|
||||
for (int i = 0; i < m_CharacterRects_size; i++)
|
||||
{
|
||||
int index = a_Stream.ReadInt32();
|
||||
int index = reader.ReadInt32();
|
||||
//Rectf uv
|
||||
float uvx = a_Stream.ReadSingle();
|
||||
float uvy = a_Stream.ReadSingle();
|
||||
float uvwidth = a_Stream.ReadSingle();
|
||||
float uvheight = a_Stream.ReadSingle();
|
||||
float uvx = reader.ReadSingle();
|
||||
float uvy = reader.ReadSingle();
|
||||
float uvwidth = reader.ReadSingle();
|
||||
float uvheight = reader.ReadSingle();
|
||||
//Rectf vert
|
||||
float vertx = a_Stream.ReadSingle();
|
||||
float verty = a_Stream.ReadSingle();
|
||||
float vertwidth = a_Stream.ReadSingle();
|
||||
float vertheight = a_Stream.ReadSingle();
|
||||
float width = a_Stream.ReadSingle();
|
||||
float vertx = reader.ReadSingle();
|
||||
float verty = reader.ReadSingle();
|
||||
float vertwidth = reader.ReadSingle();
|
||||
float vertheight = reader.ReadSingle();
|
||||
float width = reader.ReadSingle();
|
||||
|
||||
if (sourceFile.version[0] >= 4)
|
||||
{
|
||||
bool flipped = a_Stream.ReadBoolean();
|
||||
a_Stream.Position += 3;
|
||||
bool flipped = reader.ReadBoolean();
|
||||
reader.Position += 3;
|
||||
}
|
||||
}
|
||||
int m_KerningValues_size = a_Stream.ReadInt32();
|
||||
int m_KerningValues_size = reader.ReadInt32();
|
||||
for (int i = 0; i < m_KerningValues_size; i++)
|
||||
{
|
||||
int pairfirst = a_Stream.ReadInt16();
|
||||
int pairsecond = a_Stream.ReadInt16();
|
||||
float second = a_Stream.ReadSingle();
|
||||
int pairfirst = reader.ReadInt16();
|
||||
int pairsecond = reader.ReadInt16();
|
||||
float second = reader.ReadSingle();
|
||||
}
|
||||
var m_PixelScale = a_Stream.ReadSingle();
|
||||
int m_FontData_size = a_Stream.ReadInt32();
|
||||
var m_PixelScale = reader.ReadSingle();
|
||||
int m_FontData_size = reader.ReadInt32();
|
||||
if (m_FontData_size > 0)
|
||||
{
|
||||
m_FontData = a_Stream.ReadBytes(m_FontData_size);
|
||||
m_FontData = reader.ReadBytes(m_FontData_size);
|
||||
|
||||
if (m_FontData[0] == 79 && m_FontData[1] == 84 && m_FontData[2] == 84 && m_FontData[3] == 79)
|
||||
{ preloadData.extension = ".otf"; }
|
||||
@ -80,79 +79,79 @@ namespace Unity_Studio
|
||||
}
|
||||
else
|
||||
{
|
||||
int m_AsciiStartOffset = a_Stream.ReadInt32();
|
||||
int m_AsciiStartOffset = reader.ReadInt32();
|
||||
|
||||
if (sourceFile.version[0] <= 3)
|
||||
{
|
||||
int m_FontCountX = a_Stream.ReadInt32();
|
||||
int m_FontCountY = a_Stream.ReadInt32();
|
||||
int m_FontCountX = reader.ReadInt32();
|
||||
int m_FontCountY = reader.ReadInt32();
|
||||
}
|
||||
|
||||
float m_Kerning = a_Stream.ReadSingle();
|
||||
float m_LineSpacing = a_Stream.ReadSingle();
|
||||
float m_Kerning = reader.ReadSingle();
|
||||
float m_LineSpacing = reader.ReadSingle();
|
||||
|
||||
if (sourceFile.version[0] <= 3)
|
||||
{
|
||||
int m_PerCharacterKerning_size = a_Stream.ReadInt32();
|
||||
int m_PerCharacterKerning_size = reader.ReadInt32();
|
||||
for (int i = 0; i < m_PerCharacterKerning_size; i++)
|
||||
{
|
||||
int first = a_Stream.ReadInt32();
|
||||
float second = a_Stream.ReadSingle();
|
||||
int first = reader.ReadInt32();
|
||||
float second = reader.ReadSingle();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int m_CharacterSpacing = a_Stream.ReadInt32();
|
||||
int m_CharacterPadding = a_Stream.ReadInt32();
|
||||
int m_CharacterSpacing = reader.ReadInt32();
|
||||
int m_CharacterPadding = reader.ReadInt32();
|
||||
}
|
||||
|
||||
int m_ConvertCase = a_Stream.ReadInt32();
|
||||
int m_ConvertCase = reader.ReadInt32();
|
||||
PPtr m_DefaultMaterial = sourceFile.ReadPPtr();
|
||||
|
||||
int m_CharacterRects_size = a_Stream.ReadInt32();
|
||||
int m_CharacterRects_size = reader.ReadInt32();
|
||||
for (int i = 0; i < m_CharacterRects_size; i++)
|
||||
{
|
||||
int index = a_Stream.ReadInt32();
|
||||
int index = reader.ReadInt32();
|
||||
//Rectf uv
|
||||
float uvx = a_Stream.ReadSingle();
|
||||
float uvy = a_Stream.ReadSingle();
|
||||
float uvwidth = a_Stream.ReadSingle();
|
||||
float uvheight = a_Stream.ReadSingle();
|
||||
float uvx = reader.ReadSingle();
|
||||
float uvy = reader.ReadSingle();
|
||||
float uvwidth = reader.ReadSingle();
|
||||
float uvheight = reader.ReadSingle();
|
||||
//Rectf vert
|
||||
float vertx = a_Stream.ReadSingle();
|
||||
float verty = a_Stream.ReadSingle();
|
||||
float vertwidth = a_Stream.ReadSingle();
|
||||
float vertheight = a_Stream.ReadSingle();
|
||||
float width = a_Stream.ReadSingle();
|
||||
float vertx = reader.ReadSingle();
|
||||
float verty = reader.ReadSingle();
|
||||
float vertwidth = reader.ReadSingle();
|
||||
float vertheight = reader.ReadSingle();
|
||||
float width = reader.ReadSingle();
|
||||
|
||||
if (sourceFile.version[0] >= 4)
|
||||
{
|
||||
bool flipped = a_Stream.ReadBoolean();
|
||||
a_Stream.Position += 3;
|
||||
bool flipped = reader.ReadBoolean();
|
||||
reader.Position += 3;
|
||||
}
|
||||
}
|
||||
|
||||
PPtr m_Texture = sourceFile.ReadPPtr();
|
||||
|
||||
int m_KerningValues_size = a_Stream.ReadInt32();
|
||||
int m_KerningValues_size = reader.ReadInt32();
|
||||
for (int i = 0; i < m_KerningValues_size; i++)
|
||||
{
|
||||
int pairfirst = a_Stream.ReadInt16();
|
||||
int pairsecond = a_Stream.ReadInt16();
|
||||
float second = a_Stream.ReadSingle();
|
||||
int pairfirst = reader.ReadInt16();
|
||||
int pairsecond = reader.ReadInt16();
|
||||
float second = reader.ReadSingle();
|
||||
}
|
||||
|
||||
if (sourceFile.version[0] <= 3)
|
||||
{
|
||||
bool m_GridFont = a_Stream.ReadBoolean();
|
||||
a_Stream.Position += 3; //4 byte alignment
|
||||
bool m_GridFont = reader.ReadBoolean();
|
||||
reader.Position += 3; //4 byte alignment
|
||||
}
|
||||
else { float m_PixelScale = a_Stream.ReadSingle(); }
|
||||
else { float m_PixelScale = reader.ReadSingle(); }
|
||||
|
||||
int m_FontData_size = a_Stream.ReadInt32();
|
||||
int m_FontData_size = reader.ReadInt32();
|
||||
if (m_FontData_size > 0)
|
||||
{
|
||||
m_FontData = a_Stream.ReadBytes(m_FontData_size);
|
||||
m_FontData = reader.ReadBytes(m_FontData_size);
|
||||
|
||||
if (m_FontData[0] == 79 && m_FontData[1] == 84 && m_FontData[2] == 84 && m_FontData[3] == 79)
|
||||
{ preloadData.extension = ".otf"; }
|
||||
@ -160,25 +159,25 @@ namespace Unity_Studio
|
||||
|
||||
}
|
||||
|
||||
float m_FontSize = a_Stream.ReadSingle();//problem here in minifootball
|
||||
float m_Ascent = a_Stream.ReadSingle();
|
||||
uint m_DefaultStyle = a_Stream.ReadUInt32();
|
||||
float m_FontSize = reader.ReadSingle();//problem here in minifootball
|
||||
float m_Ascent = reader.ReadSingle();
|
||||
uint m_DefaultStyle = reader.ReadUInt32();
|
||||
|
||||
int m_FontNames = a_Stream.ReadInt32();
|
||||
int m_FontNames = reader.ReadInt32();
|
||||
for (int i = 0; i < m_FontNames; i++)
|
||||
{
|
||||
string m_FontName = a_Stream.ReadAlignedString(a_Stream.ReadInt32());
|
||||
string m_FontName = reader.ReadAlignedString(reader.ReadInt32());
|
||||
}
|
||||
|
||||
if (sourceFile.version[0] >= 4)
|
||||
{
|
||||
int m_FallbackFonts = a_Stream.ReadInt32();
|
||||
int m_FallbackFonts = reader.ReadInt32();
|
||||
for (int i = 0; i < m_FallbackFonts; i++)
|
||||
{
|
||||
PPtr m_FallbackFont = sourceFile.ReadPPtr();
|
||||
}
|
||||
|
||||
int m_FontRenderingMode = a_Stream.ReadInt32();
|
||||
int m_FontRenderingMode = reader.ReadInt32();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user