summaryrefslogtreecommitdiff
path: root/src/JSystem/JParticle/JPAKeyBlock.cpp
blob: fdb1e8e6c5d85771f3d55c1c73eef8a46619a7d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
}