Here's my thoughts:
If it's unused data, then you really shouldn't have to declare it public or give it a name since it's...unused. So you should have a function that you just input the size and it'll just skip right over all that. Maybe just like "Unused(52); public int Whatever;" and then you continue on.
I haven't thought of the reflexive parts yet...
Also...for the "[ID(IdType.TagReference)] public TagReference blah;"...why can't you just forget about the "ID" stuff? So basically if you say "public TagReference blah;" it'll automatically know it's a tag ref...
EDIT:
Oh yeah! For reflexives you should make it skip the null data. Because from what I've been doing..reflexives follow this
Code: Select all
int ChunkCount
int Reflexive //Subtract Magic and you have translation
null Null //4 bytes long.
Because in one of the tags I was mapping a while back using Engineer with the .forge types, I had to keep adding "unused space" of four bytes...and there was a long list of reflexives...it was quite annoying...
OH! Happy Halloween!
