TexTools / xivModdingFramework

GNU General Public License v3.0
9 stars 17 forks source link

Fbx #2

Closed Lunaretic closed 4 years ago

Lunaretic commented 4 years ago

FBX/DB/Custom Importer support introduced.

Pipline Overview -

  1. (In TexTools_UI) - All 3D model imports go through a static function call on the new importer UI which Item/Race as the primary arguments, and handles the setup of everything following.
  2. Importer Pipeline now accepts an Logging function.
  3. External file is checked for existence, then passed to any external importer program that matches its file extension (and exists).
    • stdout and stderr from the external importer are piped into the logging function.
  4. The external importer creates a sqlite DB in a pre-specified format.
    • This format matches our TTModel class format, and fits with SE's requirements for MDL files.
  5. The SQLite DB is loaded to generate a TTModel Instance.
  6. The current and original MDL files are loaded into memory to copy misc data over from as needed.
  7. Any Model Modifier options are applied to the resulting model.
  8. The resulting TTModel is passed to an external interim/modifier function if one was supplied. (This is what launches the new Model Editor dialog in TexTools)
  9. When that function returns, the final step edits are applied to the model (Tangent Calculations if needed, flipping UVs to match FFXIV expected format, etc.)
  10. The TTModel is then passed to the actual importer function, which creates the raw bytes for an MDL file.
  11. Those bytes are then either injected, or held in a static buffer to be accessed later, depending on arguments.
Lunaretic commented 4 years ago

This is now at a full RC1 status, pending user review, final code review, etc.