Merge branch 'main' into 26-02-27-allocator-isolation

This commit is contained in:
PJB3005
2026-03-05 00:15:09 +01:00
5530 changed files with 252979 additions and 26830 deletions
@@ -0,0 +1,46 @@
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/J3DGraphAnimator/J3DJoint.h"
#include "JSystem/J3DGraphLoader/J3DJointFactory.h"
#include "JSystem/J3DGraphLoader/J3DModelLoader.h"
#include "JSystem/JKernel/JKRHeap.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);
#if TARGET_LITTLE_ENDIAN
for (int i = 0; i < block.mJointNum; i++) {
auto& index = mIndexTable[i];
be_swap(index);
auto initData = &mJointInitData[index];
be_swap(initData->mKind);
be_swap(initData->mTransformInfo.mScale);
be_swap(initData->mTransformInfo.mRotation);
be_swap(initData->mTransformInfo.mTranslate);
be_swap(initData->mRadius);
be_swap(initData->mMin);
be_swap(initData->mMax);
}
#endif
}
J3DJoint* J3DJointFactory::create(int no) {
J3DJoint* joint = JKR_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;
}