2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-05-13 20:31:21 +00:00
metaforce/Runtime/Character/CMetaAnimBlend.cpp
Lioncash 1cb289f243 RuntimeCommon: Normalize cpp inclusions
Normalizes the headers for the cpp files in the RuntimeCommon target.
Now all headers and source files within the RuntimeCommon/RuntimeCommonB
targets are normalized and consistent with one another.
2020-01-15 09:15:47 -05:00

33 lines
1.2 KiB
C++

#include "Runtime/Character/CMetaAnimBlend.hpp"
#include "Runtime/Character/CAnimTreeBlend.hpp"
#include "Runtime/Character/CMetaAnimFactory.hpp"
namespace urde {
CMetaAnimBlend::CMetaAnimBlend(CInputStream& in) {
x4_animA = CMetaAnimFactory::CreateMetaAnim(in);
x8_animB = CMetaAnimFactory::CreateMetaAnim(in);
xc_blend = in.readFloatBig();
x10_ = in.readBool();
}
void CMetaAnimBlend::GetUniquePrimitives(std::set<CPrimitive>& primsOut) const {
x4_animA->GetUniquePrimitives(primsOut);
x4_animA->GetUniquePrimitives(primsOut);
}
std::shared_ptr<CAnimTreeNode> CMetaAnimBlend::VGetAnimationTree(const CAnimSysContext& animSys,
const CMetaAnimTreeBuildOrders& orders) const {
CMetaAnimTreeBuildOrders oa = CMetaAnimTreeBuildOrders::NoSpecialOrders();
CMetaAnimTreeBuildOrders ob = orders.x0_recursiveAdvance ?
CMetaAnimTreeBuildOrders::PreAdvanceForAll(*orders.x0_recursiveAdvance) :
CMetaAnimTreeBuildOrders::NoSpecialOrders();
auto a = x4_animA->GetAnimationTree(animSys, oa);
auto b = x8_animB->GetAnimationTree(animSys, ob);
return std::make_shared<CAnimTreeBlend>(x10_, a, b, xc_blend,
CAnimTreeBlend::CreatePrimitiveName(a, b, xc_blend));
}
} // namespace urde