diff options
Diffstat (limited to 'src/JSystem/JParticle/JPAKeyBlock.cpp')
| -rw-r--r-- | src/JSystem/JParticle/JPAKeyBlock.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/JSystem/JParticle/JPAKeyBlock.cpp b/src/JSystem/JParticle/JPAKeyBlock.cpp new file mode 100644 index 00000000..fdb1e8e6 --- /dev/null +++ b/src/JSystem/JParticle/JPAKeyBlock.cpp @@ -0,0 +1,25 @@ +// +// Generated By: dol2asm +// Translation Unit: JPAKeyBlock +// + +#include "JSystem/JParticle/JPAKeyBlock.h" +#include "JSystem/JParticle/JPAMath.h" + +/* 8027D730-8027D740 278070 0010+00 0/0 1/1 0/0 .text __ct__11JPAKeyBlockFPCUc */ +JPAKeyBlock::JPAKeyBlock(const u8* data) + : mDataStart(data) + , field_0x4(reinterpret_cast<const float*>(&data[0xC])) +{ +} + +/* 8027D740-8027D7D4 278080 0094+00 0/0 1/1 0/0 .text calc__11JPAKeyBlockFf */ +f32 JPAKeyBlock::calc(float p1) { + if (mDataStart[0xB] != '\0') { + int v1 = (int)field_0x4[(mDataStart[9] - 1) * 4] + 1; + // p1 -= (v1 * ((int)p1 / v1)); + int v2 = ((int)p1 / v1); + p1 = p1 - (v2 * v1); + } + return JPACalcKeyAnmValue(p1, mDataStart[9], field_0x4); +} |
