#pragma once #include #include #include "Runtime/CToken.hpp" #include "Runtime/Character/CPoseAsTransforms.hpp" #include #include namespace metaforce { class CRandom16; class CSkinRules; class CVertexMorphEffect { zeus::CUnitVector3f x0_; float xc_ = 0.f; float x10_ = 0.f; float x14_ = 0.f; float x18_ = 0.f; float x1c_ = 0.f; float x20_diagExtent; CRandom16& x24_random; std::vector x28_; std::vector x38_; public: CVertexMorphEffect(const zeus::CUnitVector3f& v1, const zeus::CVector3f& v2, float diagExtent, float f2, CRandom16& random); void MorphVertices(std::vector>& vn, const float* magnitudes, const TLockedToken& skinRules, const CPoseAsTransforms& pose) const; void Reset(const zeus::CVector3f& dir, const zeus::CVector3f& pos, float duration) {} void Update(float) {} }; } // namespace metaforce