Files

49 lines
1.4 KiB
C++
Raw Permalink Normal View History

2020-01-15 07:07:48 -05:00
#include "Runtime/Character/CAnimationSet.hpp"
#include "Runtime/Character/CMetaTransFactory.hpp"
2016-04-10 11:22:59 -10:00
2021-04-10 01:42:06 -07:00
namespace metaforce {
2016-04-10 11:22:59 -10:00
CAnimationSet::CAnimationSet(CInputStream& in) : x0_tableCount(in.ReadShort()) {
u32 animationCount = in.ReadLong();
2018-12-07 19:30:43 -10:00
x4_animations.reserve(animationCount);
for (u32 i = 0; i < animationCount; ++i)
x4_animations.emplace_back(in);
2016-04-10 11:22:59 -10:00
u32 transitionCount = in.ReadLong();
2018-12-07 19:30:43 -10:00
x14_transitions.reserve(transitionCount);
for (u32 i = 0; i < transitionCount; ++i)
x14_transitions.emplace_back(in);
2016-04-10 11:22:59 -10:00
2018-12-07 19:30:43 -10:00
x24_defaultTransition = CMetaTransFactory::CreateMetaTrans(in);
2016-04-10 11:22:59 -10:00
2018-12-07 19:30:43 -10:00
if (x0_tableCount > 1) {
u32 additiveAnimCount = in.ReadLong();
2018-12-07 19:30:43 -10:00
x28_additiveInfo.reserve(additiveAnimCount);
for (u32 i = 0; i < additiveAnimCount; ++i) {
u32 id = in.ReadLong();
2018-12-07 19:30:43 -10:00
x28_additiveInfo.emplace_back(id, in);
2016-04-10 11:22:59 -10:00
}
2018-12-07 19:30:43 -10:00
x38_defaultAdditiveInfo.read(in);
}
2016-04-10 11:22:59 -10:00
2018-12-07 19:30:43 -10:00
if (x0_tableCount > 2) {
u32 halfTransitionCount = in.ReadLong();
2018-12-07 19:30:43 -10:00
x40_halfTransitions.reserve(halfTransitionCount);
for (u32 i = 0; i < halfTransitionCount; ++i)
x40_halfTransitions.emplace_back(in);
}
2016-04-10 11:22:59 -10:00
2018-12-07 19:30:43 -10:00
if (x0_tableCount > 3) {
u32 animResourcesCount = in.ReadLong();
2018-12-07 19:30:43 -10:00
x50_animRes.reserve(animResourcesCount);
for (u32 i = 0; i < animResourcesCount; ++i) {
2022-02-19 05:04:45 -08:00
CAssetId anim = in.Get<CAssetId>();
CAssetId evnt = in.Get<CAssetId>();
2018-12-07 19:30:43 -10:00
x50_animRes.emplace_back(anim, evnt);
2016-04-10 11:22:59 -10:00
}
2018-12-07 19:30:43 -10:00
}
2016-04-10 11:22:59 -10:00
}
2021-04-10 01:42:06 -07:00
} // namespace metaforce