metaforce/Runtime/Character/CSkinBank.cpp

26 lines
573 B
C++
Raw Normal View History

#include "CSkinBank.hpp"
2016-08-21 20:39:18 +00:00
#include "CPoseAsTransforms.hpp"
namespace urde
{
CSkinBank::CSkinBank(CInputStream& in)
{
u32 boneCount = in.readUint32Big();
x0_segments.reserve(boneCount);
for (u32 i=0 ; i<boneCount ; ++i)
x0_segments.emplace_back(in);
}
2016-08-21 20:39:18 +00:00
void CSkinBank::GetBankTransforms(std::vector<const zeus::CTransform*>& out,
const CPoseAsTransforms& pose) const
{
for (CSegId id : x0_segments)
2016-09-06 05:52:51 +00:00
{
const zeus::CTransform& xf = pose.GetRestToAccumTransform(id);
out.push_back(&xf);
}
2016-08-21 20:39:18 +00:00
}
}