#pragma once #include #include #include #include "Runtime/IOStreams.hpp" #include "Runtime/RetroTypes.hpp" #include "Runtime/Character/CAdditiveAnimPlayback.hpp" #include "Runtime/Character/CAnimation.hpp" #include "Runtime/Character/CHalfTransition.hpp" #include "Runtime/Character/CTransition.hpp" namespace metaforce { class CAnimationSet { u16 x0_tableCount; std::vector x4_animations; std::vector x14_transitions; std::shared_ptr x24_defaultTransition; std::vector> x28_additiveInfo; CAdditiveAnimationInfo x38_defaultAdditiveInfo; std::vector x40_halfTransitions; std::vector> x50_animRes; public: explicit CAnimationSet(CInputStream& in); const std::vector& GetAnimations() const { return x4_animations; } const std::vector& GetTransitions() const { return x14_transitions; } const std::shared_ptr& GetDefaultTransition() const { return x24_defaultTransition; } const std::vector& GetHalfTransitions() const { return x40_halfTransitions; } const std::vector>& GetAdditiveInfo() const { return x28_additiveInfo; } const CAdditiveAnimationInfo& GetDefaultAdditiveInfo() const { return x38_defaultAdditiveInfo; } const std::vector>& GetAnimResIds() const { return x50_animRes; } }; } // namespace metaforce