The vertex and texture vertex uses the same bits for 8 or 16 bytes data, so I can let these extra 8 bytes for later.
I have discovered that some objects uses two sided textures; that is, after loading a .obj into blender, I see just one 'side' of the object being textured, while the other 'side' keeps black. I need more tests to find a way to solve this.
About reading all the inner files from program, instead of providing hardcoded offsets to read meshes, I got some advances.
The whole package structure seems like this:
The 'Data' part is:
An object is:
(if is first object) SUBOBJECTS (Full, not just the childs of this object)
(if is first object) MATERIALS_TABLE (Full, not just the ones used by this object)
The 'PartsTable' is what needs to be parsed depending on object def, containing different chunks of data for each object type.
I will try to read a whole package and parse just the object types already implemented, so I can add later parsing for more types. For example, an 'Anim' will contain data chunks not used for a 'Char'.
All the offsets are written as relative, except the first one to give the location of the ContentsTable. So it should be possible to extract data just for an object, and include somewhere the relevant parts of the SubObjects and Materials, updating the needed offsets.