Not only reflexives, Tag Refrences will also throw you off, assuming this doesnt fix them.xbox7887 wrote:I hope you realize that not all metas are the same. Interflexes are one thing that would throw it off since I believe the mp sword meta is smaller than the sp sword meta. Another huge problem would be if you extracted meta from an original map to be put in the database, and decided to add that meta to a built map...I believe the reflexives would be off since I don't see any type of data file extracted with it to indicate the reflexive info. It would be much easier to just extract and inject using one of the current map editors...
Any way fixing reflexives is insanely easy. The format for an interaflexive is as follows.
struct iReflexive{
unsigned int ChunkCount;
unsigned int Offset;
}
So you read that in, Calculate is offset(Offset - Secondary Magic), and it will point either to its own meta, or another tags meta.
Meta Data is also simple, depending on how you want to do it. In Incompetence, Meta data is in this format.
struct MDHead{
uint32 magic;
uint32 DependencyCount;
uint32 LoneIDCount;
uint32 StringIDcount;
uint32 ReflexiveCount;
}
followed by (Dependency Count of)
struct Depend{
char Tag[256];
char Class[256];
}
etc... the rest is pretty strait forward.