Files

38 lines
1.3 KiB
C++
Raw Permalink Normal View History

2020-01-15 07:07:48 -05:00
#include "Runtime/Character/CAnimationDatabaseGame.hpp"
#include "Runtime/Character/CAnimation.hpp"
#include "Runtime/Character/CPrimitive.hpp"
#include "Runtime/Character/IMetaAnim.hpp"
2016-04-12 20:07:23 -10:00
2021-04-10 01:42:06 -07:00
namespace metaforce {
2016-04-12 20:07:23 -10:00
2018-12-07 19:30:43 -10:00
CAnimationDatabaseGame::CAnimationDatabaseGame(const std::vector<CAnimation>& anims) {
x10_anims.reserve(anims.size());
for (const CAnimation& anim : anims)
x10_anims.emplace_back(anim.GetMetaAnim());
2016-04-12 20:07:23 -10:00
}
2018-12-14 20:29:41 -10:00
const std::shared_ptr<IMetaAnim>& CAnimationDatabaseGame::GetMetaAnim(s32 idx) const { return x10_anims[idx]; }
2018-12-07 19:30:43 -10:00
u32 CAnimationDatabaseGame::GetNumMetaAnims() const { return x10_anims.size(); }
2018-12-14 20:29:41 -10:00
const char* CAnimationDatabaseGame::GetMetaAnimName(s32 idx) const {
2018-12-07 19:30:43 -10:00
return "Meta-animation name unavailable in Release mode.";
2016-04-12 20:07:23 -10:00
}
2018-12-07 19:30:43 -10:00
void CAnimationDatabaseGame::GetAllUniquePrimitives(std::vector<CPrimitive>& primsOut) const {
std::set<CPrimitive> primitives;
for (const std::shared_ptr<IMetaAnim>& anim : x10_anims)
anim->GetUniquePrimitives(primitives);
primsOut.reserve(primitives.size());
for (const CPrimitive& prim : primitives)
primsOut.push_back(prim);
2016-04-12 20:07:23 -10:00
}
void CAnimationDatabaseGame::GetUniquePrimitivesFromMetaAnim(std::set<CPrimitive>& primsOut,
2018-12-07 19:30:43 -10:00
std::string_view name) const {
// Empty
2018-01-29 15:04:01 -10:00
}
2016-04-12 20:07:23 -10:00
2021-04-10 01:42:06 -07:00
} // namespace metaforce