mirror of
https://github.com/encounter/mkdd.git
synced 2026-03-30 11:30:02 -07:00
25 lines
770 B
C++
25 lines
770 B
C++
#include "types.h"
|
|
#include "JSystem/JParticle/JPABlock.h"
|
|
#include "JSystem/JParticle/JPAMath.h"
|
|
|
|
JPAKeyBlock::JPAKeyBlock(const u8 *data)
|
|
: mDataStart(reinterpret_cast<const JPAKeyBlockData *>(data)), mKeyFrameData(reinterpret_cast<const f32 *>(&data[0xC]))
|
|
{
|
|
}
|
|
|
|
void JPAKeyBlock::init_jpa(const u8 *, JKRHeap *)
|
|
{
|
|
// UNUSED FUNCTION
|
|
}
|
|
|
|
f32 JPAKeyBlock::calc(f32 currentFrame)
|
|
{
|
|
if (mDataStart->_0B != '\0')
|
|
{
|
|
int lastKeyFrameIndex = (int)mKeyFrameData[(mDataStart->mKeyFrameCount - 1) * 4] + 1;
|
|
int currentFrameRatio = ((int)currentFrame / lastKeyFrameIndex);
|
|
currentFrame = currentFrame - (currentFrameRatio * lastKeyFrameIndex);
|
|
}
|
|
|
|
return JPACalcKeyAnmValue(currentFrame, mDataStart->mKeyFrameCount, mKeyFrameData);
|
|
} |