2015-08-13 07:29:00 +00:00
|
|
|
#ifndef _DNAMP3_CSKR_HPP_
|
|
|
|
#define _DNAMP3_CSKR_HPP_
|
|
|
|
|
|
|
|
#include "../DNACommon/DNACommon.hpp"
|
|
|
|
#include "CINF.hpp"
|
2015-09-26 03:12:08 +00:00
|
|
|
#include "../DNAMP2/CSKR.hpp"
|
2015-08-13 07:29:00 +00:00
|
|
|
|
2017-12-29 08:08:12 +00:00
|
|
|
namespace DataSpec::DNAMP3
|
2015-08-13 07:29:00 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
struct CSKR : BigDNA
|
|
|
|
{
|
|
|
|
DECL_DNA
|
2015-09-26 03:12:08 +00:00
|
|
|
DNAFourCC magic;
|
|
|
|
Value<atUint32> version;
|
|
|
|
DNAMP2::CSKR data;
|
|
|
|
Value<atUint32> matrixCount;
|
|
|
|
struct MatrixBindings : BigDNA
|
2015-08-13 07:29:00 +00:00
|
|
|
{
|
|
|
|
DECL_DNA
|
2015-09-26 03:12:08 +00:00
|
|
|
Value<atInt16> mtxs[10];
|
2015-08-13 07:29:00 +00:00
|
|
|
};
|
2015-09-26 03:12:08 +00:00
|
|
|
Vector<MatrixBindings, DNA_COUNT(matrixCount / 10)> mtxBindings;
|
2015-08-13 07:29:00 +00:00
|
|
|
|
2015-09-26 03:12:08 +00:00
|
|
|
Value<atUint32> unkCount1;
|
|
|
|
Vector<atUint8, DNA_COUNT(unkCount1)> unk1;
|
|
|
|
Value<atUint32> unkCount2;
|
|
|
|
Vector<atUint8, DNA_COUNT(unkCount2)> unk2;
|
|
|
|
Value<atUint32> unkCount3;
|
|
|
|
Vector<atUint8, DNA_COUNT(unkCount3)> unk3;
|
|
|
|
Value<atUint32> unkCount4;
|
|
|
|
Vector<atUint8, DNA_COUNT(unkCount4)> unk4;
|
|
|
|
Value<atUint32> unkCount5;
|
|
|
|
Vector<atUint8, DNA_COUNT(unkCount5)> unk5;
|
|
|
|
|
|
|
|
const atInt16* getMatrixBank(size_t idx) const
|
|
|
|
{
|
|
|
|
return mtxBindings.at(idx).mtxs;
|
|
|
|
}
|
|
|
|
|
2017-12-29 08:08:12 +00:00
|
|
|
void weightVertex(hecl::blender::PyOutStream& os, const CINF& cinf, atInt16 skinIdx) const;
|
2015-08-13 07:29:00 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // _DNAMP3_CSKR_HPP_
|