Fix for TypeTreeHelper

ref: b71a7620a3
This commit is contained in:
VaDiM
2025-07-13 00:07:44 +03:00
parent 7b7eac62d8
commit f0029520fb
2 changed files with 13 additions and 4 deletions

View File

@ -102,7 +102,7 @@ namespace AssetStudio
case "bool":
value = reader.ReadBoolean();
break;
case "string":
case "string" when m_Nodes[i + 1].m_Type == "Array":
append = false;
var str = reader.ReadAlignedString();
sb.AppendFormat("{0}{1} {2} = \"{3}\"\r\n", (new string('\t', level)), varTypeStr, varNameStr, str);
@ -167,6 +167,8 @@ namespace AssetStudio
}
else //Class
{
if (m_Node.m_Type == "string")
m_Node.m_Type = "CustomType";
append = false;
sb.AppendFormat("{0}{1} {2}\r\n", (new string('\t', level)), varTypeStr, varNameStr);
var @class = GetNodes(m_Nodes, i);
@ -272,7 +274,7 @@ namespace AssetStudio
case "bool":
value = reader.ReadBoolean();
break;
case "string":
case "string" when m_Nodes[i + 1].m_Type == "Array":
value = reader.ReadAlignedString();
var toSkip = GetNodes(m_Nodes, i);
i += toSkip.Count - 1;
@ -312,6 +314,8 @@ namespace AssetStudio
}
default:
{
if (m_Node.m_Type == "string")
m_Node.m_Type = "CustomType";
if (i < m_Nodes.Count - 1 && m_Nodes[i + 1].m_Type == "Array") //Array
{
if ((m_Nodes[i + 1].m_MetaFlag & 0x4000) != 0)

View File

@ -19,9 +19,14 @@ namespace AssetStudioGUI
public override string ToString()
{
var sb = new StringBuilder();
foreach (var i in m_Type.m_Nodes)
for (var i = 0; i < m_Type.m_Nodes.Count; i++)
{
sb.AppendFormat("{0}{1} {2} {3} {4}\r\n", new string('\t', i.m_Level), i.m_Type, i.m_Name, i.m_ByteSize, (i.m_MetaFlag & 0x4000) != 0);
var node = m_Type.m_Nodes[i];
if (node.m_Type == "string" && m_Type.m_Nodes[i + 1].m_Type != "Array")
node.m_Type = "CustomType";
sb.AppendFormat("{0}{1} {2} {3} {4}\r\n",
new string('\t', node.m_Level), node.m_Type, node.m_Name, node.m_ByteSize, (node.m_MetaFlag & 0x4000) != 0);
}
return sb.ToString();
}