IQM Support Implemented

More info to come
This commit is contained in:
Shiny Metagross 2022-08-12 13:17:08 -07:00 committed by Christoph Oelckers
commit 08f520f1c6
49 changed files with 1356 additions and 62 deletions

View file

@ -348,7 +348,7 @@ void FDMDModel::AddSkins(uint8_t *hitlist, const FTextureID*)
// FDMDModel::FindFrame
//
//===========================================================================
int FDMDModel::FindFrame(const char * name, bool nodefault)
int FDMDModel::FindFrame(const char* name, bool nodefault)
{
for (int i=0;i<info.numFrames;i++)
{
@ -363,7 +363,7 @@ int FDMDModel::FindFrame(const char * name, bool nodefault)
//
//===========================================================================
void FDMDModel::RenderFrame(FModelRenderer *renderer, FGameTexture * skin, int frameno, int frameno2, double inter, int translation, const FTextureID*)
void FDMDModel::RenderFrame(FModelRenderer *renderer, FGameTexture * skin, int frameno, int frameno2, double inter, int translation, const FTextureID*, const TArray<VSMatrix>& animationData)
{
if (frameno >= info.numFrames || frameno2 >= info.numFrames) return;
@ -376,11 +376,22 @@ void FDMDModel::RenderFrame(FModelRenderer *renderer, FGameTexture * skin, int f
renderer->SetInterpolation(inter);
renderer->SetMaterial(skin, false, translation);
renderer->SetupFrame(this, frames[frameno].vindex, frames[frameno2].vindex, lodInfo[0].numTriangles * 3);
renderer->SetupFrame(this, frames[frameno].vindex, frames[frameno2].vindex, lodInfo[0].numTriangles * 3, {});
renderer->DrawArrays(0, lodInfo[0].numTriangles * 3);
renderer->SetInterpolation(0.f);
}
//===========================================================================
//
// Pointless for this format
//
//===========================================================================
const TArray<VSMatrix>* FDMDModel::AttachAnimationData()
{
return {};
}
//===========================================================================
@ -552,4 +563,3 @@ void FMD2Model::LoadGeometry()
FMD2Model::~FMD2Model()
{
}