Instead of extracting item sheets one at a time, it's now done on
multiple threads. Loading gear is now faster since reused files are
cached, switching between races is still wasteful, but it's a good
enough improvement for now.
File Explorer is still in functionality limbo, but this at least removes
the libxiv dependency and will make it easier to use the new GUI parts
system in the future.
This is a major code overhaul for mdlviewer, which will make it easier
to extend and modify in the future (trust me, the old code was garbage).
The different views are now split up (SingleGearView, FullModelViewer,
and MDLPart) which makes the functionality easier to handle, and less
error-prone.
Right now bone debugging is disabled (not that it worked that well
anyway) but will be brought back in a future commit.
These parts (inspired by the KDE parts system) will allow the tooling
to reuse GUI mechanisms. Right now the two supported parts are for Excel
and Models, and exdviewer and mdlviewer will be retrofitted to them in
future commits.
The renderer can now store diffuse, normal, specular, and multi
textures. Skin textures now color with a hardcoded skin tone (to be
changed) and bone info buffers are now per-model instead of set globally
Level of detail above 0 is now loaded properly, although break for
other reasons.
The mapping to vertex weights work, but skeleton exporting is still a
heavy WIP. Vertex weight export will need another pass in order to get
all 4 weights, but it's a functional proof of concept.