mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 23:47:42 +00:00
New code style refactor
This commit is contained in:
@@ -2,47 +2,39 @@
|
||||
#include "CMetaAnimFactory.hpp"
|
||||
#include "CAnimSysContext.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
namespace urde {
|
||||
|
||||
CMetaAnimRandom::RandomData CMetaAnimRandom::CreateRandomData(CInputStream& in)
|
||||
{
|
||||
CMetaAnimRandom::RandomData ret;
|
||||
u32 randCount = in.readUint32Big();
|
||||
ret.reserve(randCount);
|
||||
CMetaAnimRandom::RandomData CMetaAnimRandom::CreateRandomData(CInputStream& in) {
|
||||
CMetaAnimRandom::RandomData ret;
|
||||
u32 randCount = in.readUint32Big();
|
||||
ret.reserve(randCount);
|
||||
|
||||
for (u32 i=0 ; i<randCount ; ++i)
|
||||
{
|
||||
std::shared_ptr<IMetaAnim> metaAnim = CMetaAnimFactory::CreateMetaAnim(in);
|
||||
ret.emplace_back(std::move(metaAnim), in.readUint32Big());
|
||||
}
|
||||
for (u32 i = 0; i < randCount; ++i) {
|
||||
std::shared_ptr<IMetaAnim> metaAnim = CMetaAnimFactory::CreateMetaAnim(in);
|
||||
ret.emplace_back(std::move(metaAnim), in.readUint32Big());
|
||||
}
|
||||
|
||||
return ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
CMetaAnimRandom::CMetaAnimRandom(CInputStream& in)
|
||||
: x4_randomData(CreateRandomData(in)) {}
|
||||
CMetaAnimRandom::CMetaAnimRandom(CInputStream& in) : x4_randomData(CreateRandomData(in)) {}
|
||||
|
||||
void CMetaAnimRandom::GetUniquePrimitives(std::set<CPrimitive>& primsOut) const
|
||||
{
|
||||
for (const auto& pair : x4_randomData)
|
||||
pair.first->GetUniquePrimitives(primsOut);
|
||||
void CMetaAnimRandom::GetUniquePrimitives(std::set<CPrimitive>& primsOut) const {
|
||||
for (const auto& pair : x4_randomData)
|
||||
pair.first->GetUniquePrimitives(primsOut);
|
||||
}
|
||||
|
||||
std::shared_ptr<CAnimTreeNode>
|
||||
CMetaAnimRandom::VGetAnimationTree(const CAnimSysContext& animSys,
|
||||
const CMetaAnimTreeBuildOrders& orders) const
|
||||
{
|
||||
s32 r = animSys.x8_random->Range(1, 100);
|
||||
const std::pair<std::shared_ptr<IMetaAnim>, u32>* useRd = nullptr;
|
||||
for (auto& rd : x4_randomData)
|
||||
{
|
||||
useRd = &rd;
|
||||
if (r <= rd.second)
|
||||
break;
|
||||
}
|
||||
std::shared_ptr<CAnimTreeNode> CMetaAnimRandom::VGetAnimationTree(const CAnimSysContext& animSys,
|
||||
const CMetaAnimTreeBuildOrders& orders) const {
|
||||
s32 r = animSys.x8_random->Range(1, 100);
|
||||
const std::pair<std::shared_ptr<IMetaAnim>, u32>* useRd = nullptr;
|
||||
for (auto& rd : x4_randomData) {
|
||||
useRd = &rd;
|
||||
if (r <= rd.second)
|
||||
break;
|
||||
}
|
||||
|
||||
return useRd->first->GetAnimationTree(animSys, orders);
|
||||
return useRd->first->GetAnimationTree(animSys, orders);
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace urde
|
||||
|
||||
Reference in New Issue
Block a user