rodecomp/Source/Contents/Models/ModelAnimation.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

18 lines
1.1 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_MODELS_MODELANIMATION_H
#define RAGNAROK_SOURCE_CONTENTS_MODELS_MODELANIMATION_H
#include "Resource/Models/ModelResource.h"
#include "Utility/Math/AffineMatrix.h"
#include <span>
void SampleLegacyPosition(std::span<const ModelPositionKey> keys, int frame, AffineMatrix& output);
void SampleLegacyRotation(std::span<const ModelRotationKey> keys, int frame, AffineMatrix& output);
void SampleLegacyScale(std::span<const ModelScaleKey> keys, int frame, AffineMatrix& output);
void SampleModelScale(std::span<const ModelRotationKey> keys, float frame, AffineMatrix& output);
void SampleModelPosition(std::span<const ModelRotationKey> keys, float frame, const AffineMatrix& base, AffineMatrix& output);
void SampleModelRotation(std::span<const ModelRotationKey> keys, float frame, const AffineMatrix& base, AffineMatrix& output);
void QuaternionMatrix(const ModelRotationKey& key, AffineMatrix& output);
void InterpolateModelRotation(float amount, const ModelRotationKey& first, const ModelRotationKey& second, int spins, ModelRotationKey& output);
#endif