At last I start to understand what is going on with models during field loading.
Flow of loading is simple:
- Field DAT (data)
- Field BSX (models)
- All global models.
- Textures for global models.
After that field is running and it starts to load MIM file (background textures) for field loaded with closest gateway trigger. If you get close to another gateway trigger is starts load it's MIM.
The hardest thing is to understand how global and field models work together, because they are loaded to different location.
FFVII team use additional description structure. They copy all offsets from BSX and BCX (global model) and data about bones, model parts and animation there (they not copy data itself such as vertexes texture UV and angle, only header data like number of those things and offsets). It seems that data left in files not used at all. Now I stopped at bones structure initialization. After finishing initialization I can start working on animation and texture assign itself, and maybe start extracting them.