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()
|
private void CalculateProperties()
|
||||||
{
|
{
|
||||||
foreach (var member in Members
|
foreach (var member in Members
|
||||||
.Select(variable => variable.VariableType.Type)
|
.Select(variable => variable.VariableType.Type))
|
||||||
.OfType<DataTypeWithMembers>())
|
|
||||||
{
|
{
|
||||||
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();
|
alignment = Members.Select(variable => variable.Alignment).Max();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user