mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 16:15:43 +00:00
ZoneCodeGenerator: Fix not finalizing DataTypes of typedefs when calculating sizes
This commit is contained in:
parent
295d9543f7
commit
f3c9e6053f
@ -38,10 +38,28 @@ namespace ZoneCodeGenerator.Domain
|
||||
private void CalculateProperties()
|
||||
{
|
||||
foreach (var member in Members
|
||||
.Select(variable => variable.VariableType.Type)
|
||||
.OfType<DataTypeWithMembers>())
|
||||
.Select(variable => variable.VariableType.Type))
|
||||
{
|
||||
member.FinalizeDataType();
|
||||
switch (member)
|
||||
{
|
||||
case DataTypeWithMembers dataTypeWithMembers:
|
||||
dataTypeWithMembers.FinalizeDataType();
|
||||
break;
|
||||
|
||||
case DataTypeTypedef typeDef:
|
||||
{
|
||||
while (typeDef.TypeDefinition.Type is DataTypeTypedef typeDef2)
|
||||
{
|
||||
typeDef = typeDef2;
|
||||
}
|
||||
|
||||
if(typeDef.TypeDefinition.Type is DataTypeWithMembers dataTypeWithMembers)
|
||||
{
|
||||
dataTypeWithMembers.FinalizeDataType();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
alignment = Members.Select(variable => variable.Alignment).Max();
|
||||
|
Loading…
x
Reference in New Issue
Block a user