metaforce/DataSpec/DNAMP3/CSKR.hpp

47 lines
1.1 KiB
C++
Raw Normal View History

2015-08-13 07:29:00 +00:00
#ifndef _DNAMP3_CSKR_HPP_
#define _DNAMP3_CSKR_HPP_
2018-06-29 20:21:36 +00:00
#include "DataSpec/DNACommon/DNACommon.hpp"
2015-08-13 07:29:00 +00:00
#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
{
2018-02-22 07:24:51 +00:00
AT_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
{
2018-02-22 07:24:51 +00:00
AT_DECL_DNA
2015-09-26 03:12:08 +00:00
Value<atInt16> mtxs[10];
2015-08-13 07:29:00 +00:00
};
2018-02-25 08:23:27 +00:00
Vector<MatrixBindings, AT_DNA_COUNT(matrixCount / 10)> mtxBindings;
2015-08-13 07:29:00 +00:00
2015-09-26 03:12:08 +00:00
Value<atUint32> unkCount1;
2018-02-25 08:23:27 +00:00
Vector<atUint8, AT_DNA_COUNT(unkCount1)> unk1;
2015-09-26 03:12:08 +00:00
Value<atUint32> unkCount2;
2018-02-25 08:23:27 +00:00
Vector<atUint8, AT_DNA_COUNT(unkCount2)> unk2;
2015-09-26 03:12:08 +00:00
Value<atUint32> unkCount3;
2018-02-25 08:23:27 +00:00
Vector<atUint8, AT_DNA_COUNT(unkCount3)> unk3;
2015-09-26 03:12:08 +00:00
Value<atUint32> unkCount4;
2018-02-25 08:23:27 +00:00
Vector<atUint8, AT_DNA_COUNT(unkCount4)> unk4;
2015-09-26 03:12:08 +00:00
Value<atUint32> unkCount5;
2018-02-25 08:23:27 +00:00
Vector<atUint8, AT_DNA_COUNT(unkCount5)> unk5;
2015-09-26 03:12:08 +00:00
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_