blob: dafc4ce4176e1e3a64627b5f3b0c3889af4ff0f6 (
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
26
27
28
29
|
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/J3DGraphLoader/J3DJointFactory.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/JSupport/JSupport.h"
J3DJointFactory::J3DJointFactory(J3DJointBlock const& block) {
mJointInitData = JSUConvertOffsetToPtr<J3DJointInitData>(&block, (uintptr_t)block.mpJointInitData);
mIndexTable = JSUConvertOffsetToPtr<u16>(&block, (uintptr_t)block.mpIndexTable);
}
J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* joint = new J3DJoint();
J3D_ASSERT_ALLOCMEM(50, joint);
joint->mJntNo = no;
joint->mKind = getKind(no);
joint->mScaleCompensate = getScaleCompensate(no);
joint->mTransformInfo = getTransformInfo(no);
joint->mBoundingSphereRadius = getRadius(no);
joint->mMin = getMin(no);
joint->mMax = getMax(no);
joint->mMtxCalc = NULL;
if (joint->mScaleCompensate == 0xFF)
joint->mScaleCompensate = 0;
return joint;
}
|