Added memoryOffset value to DNAFieldAttribute, regenerated files.
This commit is contained in:
@@ -117,9 +117,8 @@ namespace CodeGenerator {
|
||||
}
|
||||
|
||||
var size = 0;
|
||||
var attributes = GenerateDNAFieldAttribute(index, field, field.M_Parent.M_Parent, out size);
|
||||
var attributes = GenerateDNAFieldAttribute(index, field, field.M_Parent.M_Parent, totalSize, out size);
|
||||
totalSize += size;
|
||||
|
||||
cmf.CustomAttributes.Add(attributes);
|
||||
ctd.Members.Add(cmf);
|
||||
}
|
||||
@@ -266,6 +265,25 @@ namespace CodeGenerator {
|
||||
|
||||
ctd.Members.Add(cmp);
|
||||
|
||||
cmf = new CodeMemberField(typeof(int), "_memoryOffset") {
|
||||
Attributes = MemberAttributes.Private
|
||||
};
|
||||
|
||||
cmp = new CodeMemberProperty() {
|
||||
Name = "MemoryOffset",
|
||||
Type = new CodeTypeReference(typeof(int)),
|
||||
Attributes = MemberAttributes.Public,
|
||||
HasGet = true,
|
||||
GetStatements = {
|
||||
new CodeMethodReturnStatement(new CodeSnippetExpression("0"))
|
||||
},
|
||||
HasSet = true,
|
||||
SetStatements = {
|
||||
new CodeAssignStatement(new CFieldRefExp(new CThisRefExp(), "_memoryOffset"), new CArgRefExp("value"))
|
||||
}
|
||||
};
|
||||
|
||||
ctd.Members.Add(cmp);
|
||||
var cc = new CodeConstructor() { Attributes = MemberAttributes.Public };
|
||||
|
||||
cc.Parameters.AddRange(new CParamDeclExp[] {
|
||||
@@ -274,7 +292,8 @@ namespace CodeGenerator {
|
||||
new(typeof(string), "originalName"),
|
||||
new(typeof(string), "underlyingType"),
|
||||
new(typeof(int), "size"),
|
||||
new(typeof(bool), "isPointer")
|
||||
new(typeof(bool), "isPointer"),
|
||||
new(typeof(int), "memoryOffset")
|
||||
});
|
||||
|
||||
cc.Statements.AddRange(new CodeAssignStatement[] {
|
||||
@@ -283,7 +302,8 @@ namespace CodeGenerator {
|
||||
new(new CFieldRefExp(new CThisRefExp(), "OriginalName"), new CArgRefExp("originalName")),
|
||||
new(new CFieldRefExp(new CThisRefExp(), "OriginalType"), new CArgRefExp("underlyingType")),
|
||||
new(new CFieldRefExp(new CThisRefExp(), "Size"), new CArgRefExp("size")),
|
||||
new(new CFieldRefExp(new CThisRefExp(), "IsPointer"), new CArgRefExp("isPointer"))
|
||||
new(new CFieldRefExp(new CThisRefExp(), "IsPointer"), new CArgRefExp("isPointer")),
|
||||
new(new CFieldRefExp(new CThisRefExp(), "MemoryOffset"), new CArgRefExp("memoryOffset"))
|
||||
});
|
||||
|
||||
ctd.Members.Add(cc);
|
||||
@@ -381,7 +401,7 @@ namespace CodeGenerator {
|
||||
}
|
||||
|
||||
private static CodeAttributeDeclaration GenerateDNAFieldAttribute(int index, BlendFile.DnaField field,
|
||||
BlendFile.Dna1Body body, out int size) {
|
||||
BlendFile.Dna1Body body, int offset, out int size) {
|
||||
string t;
|
||||
size = body.Lengths[field.IdxType];
|
||||
|
||||
@@ -421,7 +441,8 @@ namespace CodeGenerator {
|
||||
new(new CodePrimitiveExpression(field.Name)),
|
||||
new(new CodePrimitiveExpression(t)),
|
||||
new(new CodePrimitiveExpression(size)),
|
||||
new(new CodePrimitiveExpression(isPointer))
|
||||
new(new CodePrimitiveExpression(isPointer)),
|
||||
new(new CodePrimitiveExpression(offset))
|
||||
});
|
||||
return cad;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user