TSShape loader refactor

final setup for assimp

Added assimp importers and exporters, removed defaulting to all
Added compression to tshape
added dts version to tshape and cmake

Update assimpShapeLoader.cpp

quick fix

fix previewing dsq ground work

automatically export dsq files for animations

Groundwork

Adds the same sort of model for registering loaders and exporters as is set out on gbitmap
Added a bit more safety around the assimp matrix fix to convert incoming models to torques coordinate system.
This commit is contained in:
marauder2k7 2026-05-01 16:43:58 +01:00
parent fdecae153d
commit 2895e98cbb
16 changed files with 466 additions and 414 deletions

View file

@ -36,11 +36,9 @@ MODULE_BEGIN( ShapeLoader )
MODULE_INIT
{
TSShapeLoader::addFormat("Torque DTS", "dts");
TSShapeLoader::addFormat("Torque DSQ", "dsq");
}
MODULE_END;
bool gTryUseDSQs = false;
const F32 TSShapeLoader::DefaultTime = -1.0f;
const F64 TSShapeLoader::MinFrameRate = 15.0f;
const F64 TSShapeLoader::MaxFrameRate = 60.0f;
@ -1304,11 +1302,16 @@ String TSShapeLoader::getFormatExtensions()
{
// "*.dsq TAB *.dae TAB
StringBuilder output;
for(U32 n = 0; n < smFormats.size(); ++n)
for(U32 n = 0; n < TSShape::sRegistrations.size(); ++n)
{
output.append("*.");
output.append(smFormats[n].mExtension);
output.append("\t");
TSShape::ShapeRegistration reg = TSShape::sRegistrations[n];
for (U32 i = 0; i < reg.extensions.size(); i++)
{
TSShape::ShapeFormat format = reg.extensions[i];
output.append("*.");
output.append(format.mExtension);
output.append("\t");
}
}
return output.end();
}
@ -1317,12 +1320,17 @@ String TSShapeLoader::getFormatFilters()
{
// "DSQ Files|*.dsq|COLLADA Files|*.dae|"
StringBuilder output;
for(U32 n = 0; n < smFormats.size(); ++n)
for (U32 n = 0; n < TSShape::sRegistrations.size(); ++n)
{
output.append(smFormats[n].mName);
output.append("|*.");
output.append(smFormats[n].mExtension);
output.append("|");
TSShape::ShapeRegistration reg = TSShape::sRegistrations[n];
for (U32 i = 0; i < reg.extensions.size(); i++)
{
TSShape::ShapeFormat format = reg.extensions[i];
output.append(format.mName);
output.append("|*.");
output.append(format.mExtension);
output.append("|");
}
}
return output.end();
}