Files

25 lines
770 B
C++
Raw Permalink Normal View History

2023-09-16 02:18:41 +02:00
#include "types.h"
#include "JSystem/JParticle/JPABlock.h"
#include "JSystem/JParticle/JPAMath.h"
JPAKeyBlock::JPAKeyBlock(const u8 *data)
2024-06-01 01:29:18 +02:00
: mDataStart(reinterpret_cast<const JPAKeyBlockData *>(data)), mKeyFrameData(reinterpret_cast<const f32 *>(&data[0xC]))
2023-09-16 02:18:41 +02:00
{
}
void JPAKeyBlock::init_jpa(const u8 *, JKRHeap *)
{
// UNUSED FUNCTION
}
2024-06-01 01:29:18 +02:00
f32 JPAKeyBlock::calc(f32 currentFrame)
2023-09-16 02:18:41 +02:00
{
2024-06-01 01:29:18 +02:00
if (mDataStart->_0B != '\0')
2023-09-16 02:18:41 +02:00
{
2024-06-01 01:29:18 +02:00
int lastKeyFrameIndex = (int)mKeyFrameData[(mDataStart->mKeyFrameCount - 1) * 4] + 1;
int currentFrameRatio = ((int)currentFrame / lastKeyFrameIndex);
currentFrame = currentFrame - (currentFrameRatio * lastKeyFrameIndex);
2023-09-16 02:18:41 +02:00
}
2024-06-01 01:29:18 +02:00
return JPACalcKeyAnmValue(currentFrame, mDataStart->mKeyFrameCount, mKeyFrameData);
2023-09-16 02:18:41 +02:00
}