Cleanup some more

This commit is contained in:
intns 2024-05-02 18:43:11 +01:00
parent abbeaa4a02
commit 496dd5fdbf
37 changed files with 261 additions and 262 deletions

View File

@ -46,8 +46,8 @@ struct J2DAnmBase {
*/
J2DAnmBase()
{
mCurrentFrame = 0.0f;
mFrameLength = 0;
mCurrentFrame = 0.0f;
mTotalFrameCount = 0;
}
/**
@ -65,7 +65,7 @@ struct J2DAnmBase {
* @brief Gets the maximum frame of the animation.
* @return The maximum frame of the animation.
*/
inline s16 getFrameMax() const { return mFrameLength; }
inline s16 getFrameMax() const { return mTotalFrameCount; }
/**
* @brief Sets the current frame of the animation.
@ -86,11 +86,11 @@ struct J2DAnmBase {
inline J2DAnmKind getKind() const { return mKind; }
// _00 = VTBL
u8 mAttribute; // _04
u8 _05; // _05
s16 mFrameLength; // _06
f32 mCurrentFrame; // _08
J2DAnmKind mKind; // _0C
u8 mAttribute; // _04
u8 _05; // _05
s16 mTotalFrameCount; // _06
f32 mCurrentFrame; // _08
J2DAnmKind mKind; // _0C
};
/**
@ -567,11 +567,11 @@ struct J2DAnmTransformKey : public J2DAnmTransform {
struct J2DAnmVisibilityFull : public J2DAnmBase {
J2DAnmVisibilityFull()
{
_10 = 0;
mTable = nullptr;
_12 = 0;
mValues = nullptr;
mKind = J2DANM_VisibilityFull;
mAnimTableNum1 = 0;
mTable = nullptr;
mAnimTableNum2 = 0;
mValues = nullptr;
mKind = J2DANM_VisibilityFull;
}
virtual ~J2DAnmVisibilityFull() { } // _08 (weak)
@ -580,8 +580,8 @@ struct J2DAnmVisibilityFull : public J2DAnmBase {
// _00 = VTBL
// _00-_10 = J2DAnmBase
u16 _10; // _10
u16 _12; // _12
u16 mAnimTableNum1; // _10
u16 mAnimTableNum2; // _12
J3DAnmVisibilityFullTable* mTable; // _14
u8* mValues; // _18
};

View File

@ -42,7 +42,7 @@ struct J3DAnmBase {
inline J3DAnmBase()
: mAttribute(0)
, _05(0)
, mFrameLength(0)
, mTotalFrameCount(0)
, mCurrentFrame(0.0f)
{
}
@ -51,26 +51,26 @@ struct J3DAnmBase {
virtual J3DAnmKind getKind() const = 0; // _0C
u8 getAttribute() const { return mAttribute; }
s16 getFrameMax() const { return mFrameLength; }
s16 getFrameMax() const { return mTotalFrameCount; }
f32 getFrame() const { return mCurrentFrame; }
void setFrame(f32 frame) { mCurrentFrame = frame; }
// _00 = VTBL
u8 mAttribute; // _04
u8 _05; // _05
s16 mFrameLength; // _06
f32 mCurrentFrame; // _08
u8 mAttribute; // _04
u8 _05; // _05
s16 mTotalFrameCount; // _06
f32 mCurrentFrame; // _08
};
/**
* @fabricated
*/
struct J3DAnmFullData : public J3DFileBlockBase {
u8 mAttribute; // _08
u8 _09; // _09
s16 mMaxFrame; // _0A
u16 mAnimTableNum1; // _0C
u16 mAnimTableNum2;
u8 mAttribute; // _08
u8 mRotationScale; // _09
s16 mTotalFrameCount; // _0A
u16 mExtraInfo1; // _0C
u16 mExtraInfo2; // _0E
};
struct J3DAnmKeyTableBase {

View File

@ -76,7 +76,7 @@ struct J3DAnmClusterKey : public J3DAnmCluster {
struct J3DAnmClusterKeyData : public J3DFileBlockBase {
u8 mAttribute; // _08
s16 mFrameLength; // _0A
s16 mTotalFrameCount; // _0A
u8 _0C[4]; // _0C - unknown/filler
void* mTableOffset; // _10
void* mWeightsOffset; // _14

View File

@ -136,7 +136,7 @@ struct J3DAnmColorKey : public J3DAnmColor {
struct J3DAnmColorKeyData : J3DFileBlockBase {
u8 mAttribute; // _08
u8 _09[3]; // _09
s16 mFrameLength; // _0C
s16 mTotalFrameCount; // _0C
u16 mUpdateMaterialNum; // _0E
u16 _10; // _10
u16 _12; // _12

View File

@ -87,7 +87,7 @@ struct J3DAnmTevRegKey : public J3DAnmBase {
struct J3DAnmTevRegKeyData : J3DFileBlockBase {
u8 mAttribute; // _08
u8 _09; // _09
s16 mFrameMax; // _0A
s16 mTotalFrameCount; // _0A
u16 mCRegUpdateMaterialNum; // _0C
u16 mKRegUpdateMaterialNum; // _0E
u16 _10; // _10

View File

@ -15,7 +15,7 @@ struct J3DAnmTextureSRTKey : public J3DAnmBase {
: mUpdateMaterialName()
, mPostUpdateMaterialName()
{
_0C = 0;
mRotationScale = 0;
mTransNum = 0;
mRotNum = 0;
mScaleNum = 0;
@ -59,7 +59,7 @@ struct J3DAnmTextureSRTKey : public J3DAnmBase {
// _00 = VTBL
// _00-_0C = J3DAnmBase
u32 _0C; // _0C
u32 mRotationScale; // _0C
J3DAnmTransformKeyTable* mTable1; // _10
u16 mTrackNum; // _14
u16 mScaleNum; // _16
@ -88,29 +88,29 @@ struct J3DAnmTextureSRTKey : public J3DAnmBase {
};
struct J3DAnmTextureSRTKeyData : J3DAnmFullData {
u16 _10; // _10
u16 _12; // _12
s32 mTableOffset; // _14
s32 mUpdateMatIDOffset; // _18
s32 mNameTab1Offset; // _1C
s32 mUpdateTexMtxIDOffset; // _20
s32 _24; // _24
s32 mScaleValOffset; // _28
s32 mRotValOffset; // _2C
s32 mTransValOffset; // _30
u16 _34; // _34
u16 _36; // _36
u16 _38; // _38
u16 _3A; // _3A
s32 mTransformKeyTableOffset; // _3C
s32 _40; // _40
u32 mNameTab2Offset; // _44
s32 _48; // _48
s32 _4C; // _4C
s32 _50; // _50
s32 _54; // _54
s32 _58; // _58
s32 _5C; // _5C
u16 mRotationNum; // _10
u16 mTranslationNum; // _12
s32 mTableOffset; // _14
s32 mUpdateMatIDOffset; // _18
s32 mNameTab1Offset; // _1C
s32 mUpdateTexMtxIDOffset; // _20
s32 mSrtCenterOffset; // _24
s32 mScaleValOffset; // _28
s32 mRotValOffset; // _2C
s32 mTransValOffset; // _30
u16 mPostTrackNum; // _34
u16 _36; // _36
u16 _38; // _38
u16 _3A; // _3A
s32 mTransformKeyTableOffset; // _3C
s32 mPostUpdateMaterialIDOffset; // _40
u32 mNameTab2Offset; // _44
s32 mPostUpdateTexMtxIDOffset; // _48
s32 mPostSRTCenterOffset; // _4C
s32 _50; // _50
s32 _54; // _54
s32 _58; // _58
s32 mTexMtxCalcType; // _5C
};
#endif

View File

@ -97,7 +97,7 @@ struct J3DAnmVtxColorKey : public J3DAnmVtxColor {
struct J3DAnmVtxColorKeyData : J3DFileBlockBase {
u8 mAttribute; // _08
u8 _09; // _09
s16 mFrameMax; // _0A
s16 mTotalFrameCount; // _0A
u16 mAnmTableNum[2]; // _0C
u8 _10[0x18 - 0x10]; // _10
s32 mTableOffsets[2]; // _18

View File

@ -11,8 +11,8 @@ struct J3DCluster {
f32 _04; // _04
int _08; // _08
int _0C; // _0C
u16 _10; // _10
u16 _12_count; // _12
u16 mSize; // _10
u16 mCount; // _12
u16 _14; // _14
u16 _16; // _16
u16 _18[2]; // _18
@ -21,11 +21,11 @@ struct J3DCluster {
};
struct J3DClusterKey {
int _00; // _00
int _04; // _04
int _08; // _08
int _0C; // _0C
int _10; // _10
int _00; // _00
int _04; // _04
int _08; // _08
int _0C; // _0C
int mWeightCount; // _10
};
#endif

View File

@ -37,11 +37,11 @@ struct HeapInfo : public Node, public JKRDisposer {
// _00-_24 = Node
// _20 = VTBL (Node)
// _24-_3C = JKRDisposer
u32 _3C; // _3C
int _40; // _40
u32 _44; // _44
HeapInfo* _48; // _48
HeapInfo* mTreeParentHeap; // _4C
u32 mUnused0; // _3C
int mUnused1; // _40
u32 mUnused2; // _44
HeapInfo* mCurrentNode; // _48
HeapInfo* mParent; // _4C
};
struct HeapStatus {

View File

@ -185,10 +185,10 @@ void J2DAnmKeyLoader_v15::readAnmTransform(const J3DAnmTransformKeyData* data)
*/
void J2DAnmKeyLoader_v15::setAnmTransform(J2DAnmTransformKey* anm, const J3DAnmTransformKeyData* data)
{
anm->_22 = data->mAnimTableNum1;
anm->mFrameLength = data->mMaxFrame;
anm->_22 = data->mExtraInfo1;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mRotationScale = data->_09;
anm->mRotationScale = data->mRotationScale;
anm->mCurrentFrame = 0;
anm->mInfoTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTableOffset);
anm->mScaleVals = JSUConvertOffsetToPtr<f32>(data, (void*)data->mScaleOffset);
@ -211,20 +211,20 @@ void J2DAnmKeyLoader_v15::readAnmTextureSRT(const J3DAnmTextureSRTKeyData* data)
*/
void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* anm, const J3DAnmTextureSRTKeyData* data)
{
anm->mUpdateMaterialNum = data->mAnimTableNum1;
anm->mFrameLength = data->mMaxFrame;
anm->mUpdateMaterialNum = data->mExtraInfo1;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->_10 = data->_09;
anm->_10 = data->mRotationScale;
anm->mCurrentFrame = 0;
anm->mUpdateMaterialNum = data->mAnimTableNum1;
anm->_1C = data->mAnimTableNum2;
anm->_1E = data->_10;
anm->_20 = data->_12;
anm->mUpdateMaterialNum = data->mExtraInfo1;
anm->_1C = data->mExtraInfo2;
anm->_1E = data->mRotationNum;
anm->_20 = data->mTranslationNum;
anm->mInfoTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTableOffset);
anm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(data, (void*)data->mUpdateMatIDOffset);
anm->mNameTab.setResource(JSUConvertOffsetToPtr<ResNTAB>(data, (void*)data->mNameTab1Offset));
anm->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(data, (void*)data->mUpdateTexMtxIDOffset);
anm->_48 = JSUConvertOffsetToPtr<Vec>(data, (void*)data->_24);
anm->_48 = JSUConvertOffsetToPtr<Vec>(data, (void*)data->mSrtCenterOffset);
anm->mScaleVals = JSUConvertOffsetToPtr<f32>(data, (void*)data->mScaleValOffset);
anm->mRotationVals = JSUConvertOffsetToPtr<s16>(data, (void*)data->mRotValOffset);
anm->mTranslationVals = JSUConvertOffsetToPtr<f32>(data, (void*)data->mTransValOffset);
@ -233,19 +233,19 @@ void J2DAnmKeyLoader_v15::setAnmTextureSRT(J2DAnmTextureSRTKey* anm, const J3DAn
anm->mNameTab2.setResource(JSUConvertOffsetToPtr<ResNTAB>(data, (void*)data->mNameTab2Offset));
}
anm->_60 = data->_34;
anm->_60 = data->mPostTrackNum;
anm->_4C = data->_36;
anm->_4E = data->_38;
anm->_50 = data->_3A;
anm->_64 = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTransformKeyTableOffset);
anm->_6C = JSUConvertOffsetToPtr<u16>(data, (void*)data->_40);
anm->_68 = JSUConvertOffsetToPtr<u8>(data, (void*)data->_48);
anm->_80 = JSUConvertOffsetToPtr<Vec>(data, (void*)data->_4C);
anm->_6C = JSUConvertOffsetToPtr<u16>(data, (void*)data->mPostUpdateMaterialIDOffset);
anm->_68 = JSUConvertOffsetToPtr<u8>(data, (void*)data->mPostUpdateTexMtxIDOffset);
anm->_80 = JSUConvertOffsetToPtr<Vec>(data, (void*)data->mPostSRTCenterOffset);
anm->_54 = JSUConvertOffsetToPtr<f32>(data, (void*)data->_50);
anm->_58 = JSUConvertOffsetToPtr<s16>(data, (void*)data->_54);
anm->_5C = JSUConvertOffsetToPtr<f32>(data, (void*)data->_58);
switch (data->_5C) {
switch (data->mTexMtxCalcType) {
case 0:
anm->_84 = 0;
break;
@ -270,7 +270,7 @@ void J2DAnmKeyLoader_v15::readAnmColor(const J3DAnmColorKeyData* data) { setAnmC
*/
void J2DAnmKeyLoader_v15::setAnmColor(J2DAnmColorKey* anm, const J3DAnmColorKeyData* data)
{
anm->mFrameLength = data->mFrameLength;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mUpdateMaterialNum = data->mUpdateMaterialNum;
@ -302,7 +302,7 @@ void J2DAnmKeyLoader_v15::readAnmVtxColor(const J3DAnmVtxColorKeyData* data)
*/
void J2DAnmKeyLoader_v15::setAnmVtxColor(J2DAnmVtxColorKey* anm, const J3DAnmVtxColorKeyData* data)
{
anm->mFrameLength = data->mFrameMax;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mAnmTableNum[0] = data->mAnmTableNum[0];
@ -418,8 +418,8 @@ void J2DAnmFullLoader_v15::readAnmTransform(const J3DAnmTransformFullData* data)
*/
void J2DAnmFullLoader_v15::setAnmTransform(J2DAnmTransformFull* anm, const J3DAnmTransformFullData* data)
{
anm->_22 = data->mAnimTableNum1;
anm->mFrameLength = data->mMaxFrame;
anm->_22 = data->mExtraInfo1;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mTable = JSUConvertOffsetToPtr<J3DAnmTransformFullTable>(data, (void*)data->mTableOffset);
@ -442,7 +442,7 @@ void J2DAnmFullLoader_v15::readAnmColor(const J3DAnmColorFullData* data) { setAn
*/
void J2DAnmFullLoader_v15::setAnmColor(J2DAnmColorFull* anm, const J3DAnmColorFullData* data)
{
anm->mFrameLength = data->mFrameMax;
anm->mTotalFrameCount = data->mFrameMax;
anm->mAttribute = data->_08;
anm->mCurrentFrame = 0;
anm->mUpdateMaterialNum = data->mUpdateMaterialNum;
@ -470,11 +470,11 @@ void J2DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* dat
*/
void J2DAnmFullLoader_v15::setAnmTexPattern(J2DAnmTexPattern* anm, const J3DAnmTexPatternFullData* data)
{
anm->mFrameLength = data->mMaxFrame;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mUpdateMaterialNum = data->mAnimTableNum1;
anm->_18 = data->mAnimTableNum2;
anm->mUpdateMaterialNum = data->mExtraInfo1;
anm->_18 = data->mExtraInfo2;
anm->mAnmTable = JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(data, (void*)data->mTableOffset);
anm->mValues = JSUConvertOffsetToPtr<u16>(data, (void*)data->mValuesOffset);
anm->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(data, (void*)data->mUpdateMaterialIDOffset);
@ -493,7 +493,7 @@ void J2DAnmKeyLoader_v15::readAnmTevReg(const J3DAnmTevRegKeyData* data) { setAn
*/
void J2DAnmKeyLoader_v15::setAnmTevReg(J2DAnmTevRegKey* anm, const J3DAnmTevRegKeyData* data)
{
anm->mFrameLength = data->mFrameMax;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mCRegUpdateMaterialNum = data->mCRegUpdateMaterialNum;
@ -537,13 +537,13 @@ void J2DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* dat
*/
void J2DAnmFullLoader_v15::setAnmVisibility(J2DAnmVisibilityFull* anm, const J3DAnmVisibilityFullData* data)
{
anm->mFrameLength = data->mMaxFrame;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->_10 = data->mAnimTableNum1;
anm->_12 = data->mAnimTableNum2;
anm->mTable = JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(data, (void*)data->mTableOffset);
anm->mValues = JSUConvertOffsetToPtr<u8>(data, (void*)data->mValuesOffset);
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mAnimTableNum1 = data->mExtraInfo1;
anm->mAnimTableNum2 = data->mExtraInfo2;
anm->mTable = JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(data, (void*)data->mTableOffset);
anm->mValues = JSUConvertOffsetToPtr<u8>(data, (void*)data->mValuesOffset);
}
/**
@ -563,11 +563,11 @@ void J2DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* data)
*/
void J2DAnmFullLoader_v15::setAnmVtxColor(J2DAnmVtxColorFull* anm, const J3DAnmVtxColorFullData* data)
{
anm->mFrameLength = data->mMaxFrame;
anm->mTotalFrameCount = data->mTotalFrameCount;
anm->mAttribute = data->mAttribute;
anm->mCurrentFrame = 0;
anm->mAnmTableNum[0] = data->mAnimTableNum1;
anm->mAnmTableNum[1] = data->mAnimTableNum2;
anm->mAnmTableNum[0] = data->mExtraInfo1;
anm->mAnmTableNum[1] = data->mExtraInfo2;
anm->mInfoTables[0] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[0]);
anm->mInfoTables[1] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[1]);
anm->mVtxColorIndexData[0] = JSUConvertOffsetToPtr<J3DAnmVtxColorIndexData>(data, (void*)data->mVtxColorIndexDataOffsets[0]);

View File

@ -348,12 +348,12 @@ void J3DAnmTextureSRTKey::calcTransform(f32 p1, u16 p2, J3DTextureSRTInfo* info)
info->mRotation = 0;
break;
case 1:
info->mRotation = mRotation1Vals[zInf->mRotationInfo.mOffset] << _0C;
info->mRotation = mRotation1Vals[zInf->mRotationInfo.mOffset] << mRotationScale;
break;
default:
info->mRotation
= static_cast<s32>(J3DGetKeyFrameInterpolation<s16>(p1, &zInf->mRotationInfo, &mRotation1Vals[zInf->mRotationInfo.mOffset]))
<< _0C;
<< mRotationScale;
}
switch (xInf->mTranslationInfo.mMaxFrame) {

View File

@ -217,8 +217,8 @@ void J3DAnmFullLoader_v15::readAnmTransform(const J3DAnmTransformFullData* data)
*/
void J3DAnmFullLoader_v15::setAnmTransform(J3DAnmTransformFull* animation, const J3DAnmTransformFullData* data)
{
animation->mUpdateMaterialNum = data->mAnimTableNum1;
animation->mFrameLength = data->mMaxFrame;
animation->mUpdateMaterialNum = data->mExtraInfo1;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
@ -240,7 +240,7 @@ void J3DAnmFullLoader_v15::readAnmColor(const J3DAnmColorFullData* data) { setAn
*/
void J3DAnmFullLoader_v15::setAnmColor(J3DAnmColorFull* animation, const J3DAnmColorFullData* data)
{
animation->mFrameLength = data->mFrameMax;
animation->mTotalFrameCount = data->mFrameMax;
animation->mAttribute = data->_08;
animation->mCurrentFrame = 0.0f;
animation->mUpdateMaterialNum = data->mUpdateMaterialNum;
@ -269,11 +269,11 @@ void J3DAnmFullLoader_v15::readAnmTexPattern(const J3DAnmTexPatternFullData* dat
*/
void J3DAnmFullLoader_v15::setAnmTexPattern(J3DAnmTexPattern* animation, const J3DAnmTexPatternFullData* data)
{
animation->mFrameLength = data->mMaxFrame;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mUpdateMaterialNum = data->mAnimTableNum1;
animation->_14 = data->mAnimTableNum2;
animation->mUpdateMaterialNum = data->mExtraInfo1;
animation->_14 = data->mExtraInfo2;
animation->mAnmTable = JSUConvertOffsetToPtr<J3DAnmTexPatternFullTable>(data, (void*)data->mTableOffset);
animation->_0C = JSUConvertOffsetToPtr<u16>(data, (void*)data->mValuesOffset);
@ -296,11 +296,11 @@ void J3DAnmFullLoader_v15::readAnmVisibility(const J3DAnmVisibilityFullData* dat
*/
void J3DAnmFullLoader_v15::setAnmVisibility(J3DAnmVisibilityFull* animation, const J3DAnmVisibilityFullData* data)
{
animation->mFrameLength = data->mMaxFrame;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->_0C = data->mAnimTableNum1;
animation->_0E = data->mAnimTableNum2;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->_0C = data->mExtraInfo1;
animation->_0E = data->mExtraInfo2;
animation->mTable = JSUConvertOffsetToPtr<J3DAnmVisibilityFullTable>(data, (void*)data->mTableOffset);
animation->mValues = JSUConvertOffsetToPtr<u8>(data, (void*)data->mValuesOffset);
@ -318,9 +318,9 @@ void J3DAnmFullLoader_v15::readAnmCluster(const J3DAnmClusterFullData* data) { s
*/
void J3DAnmFullLoader_v15::setAnmCluster(J3DAnmClusterFull* animation, const J3DAnmClusterFullData* data)
{
animation->mFrameLength = data->mMaxFrame;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mTables = JSUConvertOffsetToPtr<J3DAnmClusterFullTable>(data, data->mTablesOffset);
animation->mWeights = JSUConvertOffsetToPtr<f32>(data, data->mWeightsOffset);
@ -340,11 +340,11 @@ void J3DAnmFullLoader_v15::readAnmVtxColor(const J3DAnmVtxColorFullData* data) {
*/
void J3DAnmFullLoader_v15::setAnmVtxColor(J3DAnmVtxColorFull* animation, const J3DAnmVtxColorFullData* data)
{
animation->mFrameLength = data->mMaxFrame;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mAnmTableNum[0] = data->mAnimTableNum1;
animation->mAnmTableNum[1] = data->mAnimTableNum2;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mAnmTableNum[0] = data->mExtraInfo1;
animation->mAnmTableNum[1] = data->mExtraInfo2;
animation->mTable[0] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[0]);
animation->mTable[1] = JSUConvertOffsetToPtr<J3DAnmColorFullTable>(data, (void*)data->mTableOffsets[1]);
@ -451,10 +451,10 @@ void J3DAnmKeyLoader_v15::readAnmTransform(const J3DAnmTransformKeyData* data) {
*/
void J3DAnmKeyLoader_v15::setAnmTransform(J3DAnmTransformKey* animation, const J3DAnmTransformKeyData* data)
{
animation->mUpdateMaterialNum = data->mAnimTableNum1;
animation->mFrameLength = data->mMaxFrame;
animation->mUpdateMaterialNum = data->mExtraInfo1;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->_20 = data->_09;
animation->_20 = data->mRotationScale;
animation->mCurrentFrame = 0.0f;
animation->mTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTableOffset);
@ -480,42 +480,43 @@ void J3DAnmKeyLoader_v15::readAnmTextureSRT(const J3DAnmTextureSRTKeyData* data)
*/
void J3DAnmKeyLoader_v15::setAnmTextureSRT(J3DAnmTextureSRTKey* animation, const J3DAnmTextureSRTKeyData* data)
{
animation->mTrackNum = data->mAnimTableNum1;
animation->mFrameLength = data->mMaxFrame;
animation->mAttribute = data->mAttribute;
animation->_0C = data->_09;
animation->mCurrentFrame = 0.0f;
animation->mTrackNum = data->mAnimTableNum1; // again???
animation->mScaleNum = data->mAnimTableNum2;
animation->mRotNum = data->_10;
animation->mTransNum = data->_12;
animation->mTrackNum = data->mExtraInfo1;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mRotationScale = data->mRotationScale;
animation->mCurrentFrame = 0.0f;
animation->mTrackNum = data->mExtraInfo1;
animation->mScaleNum = data->mExtraInfo2;
animation->mRotNum = data->mRotationNum;
animation->mTransNum = data->mTranslationNum;
animation->mTable1 = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTableOffset);
animation->mUpdateMaterialID = JSUConvertOffsetToPtr<u16>(data, (void*)data->mUpdateMatIDOffset);
animation->mUpdateMaterialName.setResource(JSUConvertOffsetToPtr<ResNTAB>(data, (void*)data->mNameTab1Offset));
animation->mUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(data, (void*)data->mUpdateTexMtxIDOffset);
animation->mSRTCenter = JSUConvertOffsetToPtr<Vec>(data, (void*)data->_24);
animation->mSRTCenter = JSUConvertOffsetToPtr<Vec>(data, (void*)data->mSrtCenterOffset);
animation->mScale1Vals = JSUConvertOffsetToPtr<f32>(data, (void*)data->mScaleValOffset);
animation->mRotation1Vals = JSUConvertOffsetToPtr<s16>(data, (void*)data->mRotValOffset);
animation->mTranslation1Vals = JSUConvertOffsetToPtr<f32>(data, (void*)data->mTransValOffset);
if (data->mNameTab2Offset != nullptr) {
animation->mPostUpdateMaterialName.setResource(JSUConvertOffsetToPtr<ResNTAB>(data, (void*)data->mNameTab2Offset));
}
animation->mPostTrackNum = data->_34;
animation->mPostTrackNum = data->mPostTrackNum;
animation->_44 = data->_36;
animation->_46 = data->_38;
animation->_48 = data->_3A;
animation->mTransformKeyTable = JSUConvertOffsetToPtr<J3DAnmTransformKeyTable>(data, (void*)data->mTransformKeyTableOffset);
animation->mPostUpdateMaterialID = JSUConvertOffsetToPtr<u16>(data, (void*)data->_40);
animation->mPostUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(data, (void*)data->_48);
animation->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(data, (void*)data->_4C);
animation->mPostUpdateMaterialID = JSUConvertOffsetToPtr<u16>(data, (void*)data->mPostUpdateMaterialIDOffset);
animation->mPostUpdateTexMtxID = JSUConvertOffsetToPtr<u8>(data, (void*)data->mPostUpdateTexMtxIDOffset);
animation->mPostSRTCenter = JSUConvertOffsetToPtr<Vec>(data, (void*)data->mPostSRTCenterOffset);
animation->_4C = JSUConvertOffsetToPtr<f32>(data, (void*)data->_50);
animation->_50 = JSUConvertOffsetToPtr<s16>(data, (void*)data->_54);
animation->_54 = JSUConvertOffsetToPtr<f32>(data, (void*)data->_58);
switch (data->_5C) {
switch (data->mTexMtxCalcType) {
case 0:
case 1:
animation->mTexMtxCalcType = data->_5C;
animation->mTexMtxCalcType = data->mTexMtxCalcType;
break;
default:
animation->mTexMtxCalcType = 0;
@ -536,7 +537,7 @@ void J3DAnmKeyLoader_v15::readAnmColor(const J3DAnmColorKeyData* data) { setAnmC
*/
void J3DAnmKeyLoader_v15::setAnmColor(J3DAnmColorKey* animation, const J3DAnmColorKeyData* data)
{
animation->mFrameLength = data->mFrameLength;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mUpdateMaterialNum = data->mUpdateMaterialNum;
@ -568,11 +569,11 @@ void J3DAnmKeyLoader_v15::readAnmCluster(const J3DAnmClusterKeyData* data) { set
*/
void J3DAnmKeyLoader_v15::setAnmCluster(J3DAnmClusterKey* animation, const J3DAnmClusterKeyData* data)
{
animation->mFrameLength = data->mFrameLength;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mTables = JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(data, (void*)data->mTableOffset);
animation->mWeights = JSUConvertOffsetToPtr<f32>(data, (void*)data->mWeightsOffset);
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mTables = JSUConvertOffsetToPtr<J3DAnmClusterKeyTable>(data, (void*)data->mTableOffset);
animation->mWeights = JSUConvertOffsetToPtr<f32>(data, (void*)data->mWeightsOffset);
}
/**
@ -589,7 +590,7 @@ void J3DAnmKeyLoader_v15::readAnmTevReg(const J3DAnmTevRegKeyData* data) { setAn
*/
void J3DAnmKeyLoader_v15::setAnmTevReg(J3DAnmTevRegKey* animation, const J3DAnmTevRegKeyData* data)
{
animation->mFrameLength = data->mFrameMax;
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mCRegUpdateMaterialNum = data->mCRegUpdateMaterialNum;
@ -632,11 +633,11 @@ void J3DAnmKeyLoader_v15::readAnmVtxColor(const J3DAnmVtxColorKeyData* data) { s
*/
void J3DAnmKeyLoader_v15::setAnmVtxColor(J3DAnmVtxColorKey* animation, const J3DAnmVtxColorKeyData* data)
{
animation->mFrameLength = data->mFrameMax;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mAnmTableNum[0] = data->mAnmTableNum[0];
animation->mAnmTableNum[1] = data->mAnmTableNum[1];
animation->mTotalFrameCount = data->mTotalFrameCount;
animation->mAttribute = data->mAttribute;
animation->mCurrentFrame = 0.0f;
animation->mAnmTableNum[0] = data->mAnmTableNum[0];
animation->mAnmTableNum[1] = data->mAnmTableNum[1];
animation->mTable[0] = JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[0]);
animation->mTable[1] = JSUConvertOffsetToPtr<J3DAnmColorKeyTable>(data, (void*)data->mTableOffsets[1]);

View File

@ -43,10 +43,10 @@ void J3DDeformer::deform(J3DVertexBuffer* vtxbuffer, u16 index)
u16 size = 0;
if (mAnmCluster) {
for (u16 i = 0; i < index; i++) {
size += mDeformData->getCluster(i)->_10;
size += mDeformData->getCluster(i)->mSize;
}
u16 max = mDeformData->getCluster(index)->_10;
u16 max = mDeformData->getCluster(index)->mSize;
for (u16 i = 0; i < max; i++) {
mWeightList[i] = mAnmCluster->getWeight(size++);
}
@ -60,28 +60,28 @@ void J3DDeformer::deform(J3DVertexBuffer* vtxbuffer, u16 index)
*/
void J3DDeformer::deform_VtxPosF32(J3DVertexBuffer* vtxbuffer, J3DCluster* cluster, J3DClusterKey* key, f32* weights)
{
int n = cluster->_12_count;
u16* ind = (u16*)&mDeformData->mVtxPos;
int n2 = cluster->_10;
u16* asd = cluster->_18;
int clusterCount = cluster->mCount;
u16* vertexIndices = (u16*)&mDeformData->mVtxPos;
int clusterSize = cluster->mSize;
u16* dataUnused = cluster->_18;
f32* v = (f32*)(vtxbuffer->mVtxPos[0]);
for (int i = 0; i < n; i++) {
int j = ind[i] * 3;
f32* vertexPositions = (f32*)(vtxbuffer->mVtxPos[0]);
for (int i = 0; i < clusterCount; i++) {
int vertexIndex = vertexIndices[i] * 3;
f32* pos = &v[j];
pos[0] = 0.0f;
pos[1] = 0.0f;
pos[2] = 0.0f;
f32* position = &vertexPositions[vertexIndex];
position[0] = 0.0f;
position[1] = 0.0f;
position[2] = 0.0f;
}
f32 test[2] = { 1.0f, -1.0f };
f32* t = test;
for (u16 i = 0; i < n; i++) {
u16 j2 = 1;
f32 weightModifiers[2] = { 1.0f, -1.0f };
f32* weightModifier = weightModifiers;
for (u16 i = 0; i < clusterCount; i++) {
u16 modifierIndex = 1;
for (u16 j = 0; j < n2; j++) {
weights[j] *= t[j2];
for (u16 j = 0; j < clusterSize; j++) {
weights[j] *= weightModifier[modifierIndex];
}
}
/*
@ -619,11 +619,11 @@ void J3DDeformer::deform(J3DVertexBuffer* vtxbuffer, u16 index, f32* weights)
u16 size = 0;
for (u16 i = 0; i < index; i++) {
size += mDeformData->getCluster(i)->_10 + 1;
size += mDeformData->getCluster(i)->mSize + 1;
}
J3DClusterKey* key = mDeformData->getClusterKey(size);
normalizeWeight(key->_10, weights);
normalizeWeight(key->mWeightCount, weights);
deform_VtxPosF32(vtxbuffer, cluster, key, weights);
if ((mFlags & UseNrm) && key->_0C && mDeformData->_14 == 4) {
deform_VtxNrmF32(vtxbuffer, cluster, key, weights);

View File

@ -16,7 +16,7 @@ void init(J3DModel* model, J3DAnmTransform* transform, T* table)
data->getJointNodePointer(0)->mMtxCalc = base;
int frameCount = transform->mFrameLength;
int frameCount = transform->mTotalFrameCount;
int jointCount = data->mJointTree.mJointCnt;
for (int i = 0; i < frameCount; i++) {

View File

@ -293,8 +293,8 @@ void E2DCallBack_AnmBase::loadAnm(char* path, JKRArchive* archive, s32 frame, s3
mFrameCtrl.mFrame = (s16)frame;
mFrameCtrl.mLoop = (s16)frame;
if (mAnim->mFrameLength < maxFrame) {
maxFrame = mAnim->mFrameLength;
if (mAnim->mTotalFrameCount < maxFrame) {
maxFrame = mAnim->mTotalFrameCount;
}
mFrameCtrl.mEnd = maxFrame;
}

View File

@ -16,7 +16,7 @@ void E3DAnimRes::load(J3DModelData* modelData, JKRArchive* archive, char* resour
mAnmCalcMtx = J3DNewMtxCalcAnm((modelData->mJointTree).mFlags & 0xf, mAnimTransform);
mStartFrame = 0.0f;
mStopFrame = mAnimTransform->mFrameLength - 2.0f;
mStopFrame = mAnimTransform->mTotalFrameCount - 2.0f;
mLoopStart = mStartFrame;
mLoopEnd = mStopFrame;

View File

@ -507,8 +507,8 @@ void Pikmin::TUnit::init(ebi::title::Pikmin::TMgr* mgr, s32 color)
mModel = mManager->mAnimator->newJ3DModel(color);
mFrameControlA.init(mManager->mAnimator->mWaitAnim->mFrameLength);
mFrameControlB.init(mManager->mAnimator->mWaveAnim->mFrameLength);
mFrameControlA.init(mManager->mAnimator->mWaitAnim->mTotalFrameCount);
mFrameControlB.init(mManager->mAnimator->mWaveAnim->mTotalFrameCount);
switch (sys->mRegion) {
case System::LANG_Japanese:

View File

@ -115,11 +115,11 @@ void TMapBase::setArchive(JKRArchive* arc)
mModel = new J3DModel(mMainModelData, 0x20000, 1);
mFrameCtrlWait.init(mAnimWait->mFrameLength);
mFrameCtrlWait.init(mAnimWait->mTotalFrameCount);
mFrameCtrlWait.mAttribute = 2;
mFrameCtrlWait.mRate = sys->mDeltaTime * 60.0f * 0.5f;
mFrameCtrlWind.init(mAnimWind->mFrameLength);
mFrameCtrlWind.init(mAnimWind->mTotalFrameCount);
mFrameCtrlWind.mAttribute = 2;
mFrameCtrlWind.mRate = sys->mDeltaTime * 60.0f * 0.5f;
}
@ -213,7 +213,7 @@ void TBGEnemyBase::setArchive(JKRArchive* arc)
*/
void TBGEnemyBase::start()
{
mFrameCtrl.init(mAnim->mFrameLength);
mFrameCtrl.init(mAnim->mTotalFrameCount);
mFrameCtrl.mAttribute = 0;
mFrameCtrl.mRate = sys->mDeltaTime * 60.0f * 0.5f;
}
@ -276,11 +276,11 @@ void TBlackPlane::setArchive(JKRArchive* arc)
*/
void TBlackPlane::start()
{
mFrameCtrl.init(mAnim->mFrameLength - 2);
mFrameCtrl.init(mAnim->mTotalFrameCount - 2);
mFrameCtrl.mAttribute = 0;
mFrameCtrl.mRate = sys->mDeltaTime * 60.0f * 0.5f;
mFrameCtrlColor.init(mAnimColor->mFrameLength - 2);
mFrameCtrlColor.init(mAnimColor->mTotalFrameCount - 2);
mFrameCtrlColor.mAttribute = 0;
mFrameCtrlColor.mRate = sys->mDeltaTime * 60.0f * 0.5f;
}

View File

@ -1338,7 +1338,7 @@ void Onyon::changeMaterial()
if (animid == 4) {
f32 timer = mAnimator.mTimer;
if (mAnimator.mAnimInfo) {
anmtime = (f32)mAnimator.mAnimInfo->mAnm->mFrameLength;
anmtime = (f32)mAnimator.mAnimInfo->mAnm->mTotalFrameCount;
} else {
anmtime = 0.0f;
}

View File

@ -1378,22 +1378,22 @@ void ObjCaveResult::updateAnimation()
if (!isFlag(CAVERESFLAG_SaveOpen)) {
mAnimTimers[0] += 1.0f;
if (mAnimTimers[0] >= mMainAnim->mFrameLength) {
if (mAnimTimers[0] >= mMainAnim->mTotalFrameCount) {
mAnimTimers[0] = 0.0f;
}
mAnimTimers[2] += 1.0f;
if (mAnimTimers[2] >= mMainAnimColor->mFrameLength) {
if (mAnimTimers[2] >= mMainAnimColor->mTotalFrameCount) {
mAnimTimers[2] = 0.0f;
}
mAnimTimers[4] += 1.0f;
if (mAnimTimers[4] >= mAnimTexSRT->mFrameLength) {
if (mAnimTimers[4] >= mAnimTexSRT->mTotalFrameCount) {
mAnimTimers[4] = 0.0f;
}
mAnimTimers[5] += 1.0f;
if (mAnimTimers[5] >= mAnimTevReg->mFrameLength) {
if (mAnimTimers[5] >= mAnimTevReg->mTotalFrameCount) {
mAnimTimers[5] = 0.0f;
}
}

View File

@ -290,11 +290,11 @@ void ObjDayEndResultBase::updateCommon()
mTitleAnimTimer1 += 1.0f;
mTitleAnimTimer2 += 1.0f;
if (mTitleAnimTimer1 >= mTitleAnmTransform->mFrameLength) {
if (mTitleAnimTimer1 >= mTitleAnmTransform->mTotalFrameCount) {
mTitleAnimTimer1 = 0.0f;
}
if (mTitleAnimTimer2 >= mTitleAnmColor->mFrameLength) {
if (mTitleAnimTimer2 >= mTitleAnmColor->mTotalFrameCount) {
mTitleAnimTimer2 = 0.0f;
}
@ -305,11 +305,11 @@ void ObjDayEndResultBase::updateCommon()
mMainAnimTimer3 += 1.0f;
mMainAnimTimer4 += 1.0f;
if (mMainAnimTimer3 >= mMainAnimSRT->mFrameLength) {
if (mMainAnimTimer3 >= mMainAnimSRT->mTotalFrameCount) {
mMainAnimTimer3 = 0.0f;
}
if (mMainAnimTimer4 >= mMainAnimTev->mFrameLength) {
if (mMainAnimTimer4 >= mMainAnimTev->mTotalFrameCount) {
mMainAnimTimer4 = 0.0f;
}
@ -318,7 +318,7 @@ void ObjDayEndResultBase::updateCommon()
mMainAnimTimer2 += 1.0f;
if (mMainAnimTimer2 >= mMainAnimTrans2->mFrameLength) {
if (mMainAnimTimer2 >= mMainAnimTrans2->mTotalFrameCount) {
mMainAnimTimer2 = 0.0f;
}
@ -327,7 +327,7 @@ void ObjDayEndResultBase::updateCommon()
mStarsAnimTimer1 += 1.0f;
if (mStarsAnimTimer1 >= mStarsAnimColor->mFrameLength) {
if (mStarsAnimTimer1 >= mStarsAnimColor->mTotalFrameCount) {
mStarsAnimTimer1 = 0.0f;
}
@ -941,7 +941,7 @@ void ObjDayEndResultItem::updateCommon()
mScreenMain->search('N_3d')->animationTransform();
mMainAnimTimer5++;
if (mMainAnimTimer5 >= mMainAnimTrans3->mFrameLength) {
if (mMainAnimTimer5 >= mMainAnimTrans3->mTotalFrameCount) {
mMainAnimTimer5 = 0.0f;
}
}
@ -2907,12 +2907,12 @@ void ObjDayEndResultTitl::updateCommon()
mScreenMain->animation();
mAnimTimer1 += 1.0f;
if (mAnimTimer1 >= mMainAnimTrans->mFrameLength) {
if (mAnimTimer1 >= mMainAnimTrans->mTotalFrameCount) {
mAnimTimer1 = 0.0f;
}
mAnimTimer2 += 1.0f;
if (mAnimTimer2 >= mMainAnimSRT->mFrameLength) {
if (mAnimTimer2 >= mMainAnimSRT->mTotalFrameCount) {
mAnimTimer2 = 0.0f;
}
}

View File

@ -148,9 +148,9 @@ bool ObjFinalFloor::updateAnimation()
mScreen[i]->hide();
// Reset animation if current frame is >75% of the length.
if (mAnimTime1[i] > (mAnim1[i]->mFrameLength * 3) >> 2) {
mAnimTime1[i] = mAnim1[i]->mFrameLength;
mAnimTime2[i] = mAnim2[i]->mFrameLength;
if (mAnimTime1[i] > (mAnim1[i]->mTotalFrameCount * 3) >> 2) {
mAnimTime1[i] = mAnim1[i]->mTotalFrameCount;
mAnimTime2[i] = mAnim2[i]->mTotalFrameCount;
} else {
mAnimTime2[i] = 0.0f;
mAnimTime1[i] = 0.0f;
@ -163,7 +163,7 @@ bool ObjFinalFloor::updateAnimation()
// Update the animation times and check if the animation has finished
mAnimTime1[i] += msVal.mAnimSpeed;
mAnimTime2[i] += msVal.mAnimSpeed;
if (mAnimTime1[i] >= mAnim1[i]->mFrameLength || mAnimTime2[i] >= mAnim2[i]->mFrameLength) {
if (mAnimTime1[i] >= mAnim1[i]->mTotalFrameCount || mAnimTime2[i] >= mAnim2[i]->mTotalFrameCount) {
ret = true;
}
}
@ -189,7 +189,7 @@ void ObjFinalFloor::stopSound()
*/
void ObjFinalFloor::restartSound()
{
if (mAnimTime1[0] <= (mAnim1[0]->mFrameLength * 3) >> 2) {
if (mAnimTime1[0] <= (mAnim1[0]->mTotalFrameCount * 3) >> 2) {
PSSystem::spSysIF->playSystemSe(PSSE_FINALLEVEL_COME, &mSound, 0);
startBGM();
}

View File

@ -1314,7 +1314,7 @@ void ObjFinalResult::updateCommon()
mAnmTrans5->mCurrentFrame = mAnimTimers[2];
mAnimTimers[2] += 1.0f;
if (mAnimTimers[2] >= mAnmTrans5->mFrameLength) {
if (mAnimTimers[2] >= mAnmTrans5->mTotalFrameCount) {
mAnimTimers[2] = 0.0f;
}
@ -1337,17 +1337,17 @@ void ObjFinalResult::updateCommon()
mAnmSRT->mCurrentFrame = mAnimTimers[6];
mAnmTev->mCurrentFrame = mAnimTimers[7];
mAnimTimers[5] += 1.0f;
if (mAnimTimers[5] >= mAnmCol3->mFrameLength) {
if (mAnimTimers[5] >= mAnmCol3->mTotalFrameCount) {
mAnimTimers[5] = 0.0f;
}
mAnimTimers[6] += 1.0f;
if (mAnimTimers[6] >= mAnmSRT->mFrameLength) {
if (mAnimTimers[6] >= mAnmSRT->mTotalFrameCount) {
mAnimTimers[6] = 0.0f;
}
mAnimTimers[7] += 1.0f;
if (mAnimTimers[7] >= mAnmTev->mFrameLength) {
if (mAnimTimers[7] >= mAnmTev->mTotalFrameCount) {
mAnimTimers[7] = 0.0f;
}

View File

@ -171,7 +171,7 @@ bool ObjPayDept::updateAnimation()
mScreen->animation();
mAnimTime1 += msVal.mAnimSpeed;
mAnimTime2 += msVal.mAnimSpeed;
if (mAnimTime1 >= mAnim1->mFrameLength || mAnimTime2 >= mAnim2->mFrameLength) {
if (mAnimTime1 >= mAnim1->mTotalFrameCount || mAnimTime2 >= mAnim2->mTotalFrameCount) {
ret = true;
}
return ret;

View File

@ -154,7 +154,7 @@ bool ObjReadyGo::updateAnimation()
mAnimTime2[i] += msVal.mAnimSpeed;
// Check if the animation is complete
if (mAnimTime1[i] >= mAnim1[i]->mFrameLength - 2 || mAnimTime2[i] >= mAnim2[i]->mFrameLength - 2) {
if (mAnimTime1[i] >= mAnim1[i]->mTotalFrameCount - 2 || mAnimTime2[i] >= mAnim2[i]->mTotalFrameCount - 2) {
done = true;
}

View File

@ -171,7 +171,7 @@ bool ObjWinLose::updateAnimation()
}
// Check if the animation has finished for both the first and third animations
if (mAnimTime1[i] >= mAnim1[i]->mFrameLength || mAnimTime3[i] >= mAnim3[i]->mFrameLength) {
if (mAnimTime1[i] >= mAnim1[i]->mTotalFrameCount || mAnimTime3[i] >= mAnim3[i]->mTotalFrameCount) {
mAnimTime3[i] = 0.0f;
mAnimTime1[i] = 0.0f;
@ -193,10 +193,10 @@ bool ObjWinLose::updateAnimation()
mAnimTime4[i] += 1.0f;
// Check if the animation has finished for both the second and fourth animations
if (mAnimTime2[i] >= mAnim2[i]->mFrameLength) {
if (mAnimTime2[i] >= mAnim2[i]->mTotalFrameCount) {
mAnimTime2[i] = 0.0f;
}
if (mAnimTime4[i] >= mAnim4[i]->mFrameLength) {
if (mAnimTime4[i] >= mAnim4[i]->mTotalFrameCount) {
mAnimTime4[i] = 0.0f;
}

View File

@ -2221,47 +2221,47 @@ void WorldMap::update(::Game::WorldMap::UpdateArg& arg)
}
mAnimTimers[2] += 1.0f;
if (mAnimTimers[2] >= mKitaAnim3->mFrameLength) {
if (mAnimTimers[2] >= mKitaAnim3->mTotalFrameCount) {
mAnimTimers[2] = 0.0f;
}
mAnimTimers[3] += 1.0f;
if (mAnimTimers[3] >= mKitaAnim4->mFrameLength) {
if (mAnimTimers[3] >= mKitaAnim4->mTotalFrameCount) {
mAnimTimers[3] = 0.0f;
}
mAnimTimers[4] += 1.0f;
if (mAnimTimers[4] >= mKitaAnim5->mFrameLength) {
if (mAnimTimers[4] >= mKitaAnim5->mTotalFrameCount) {
mAnimTimers[4] = 0.0f;
}
mAnimTimers[5] += 1.0f;
if (mAnimTimers[5] >= mRocketAnim1->mFrameLength) {
if (mAnimTimers[5] >= mRocketAnim1->mTotalFrameCount) {
mAnimTimers[5] = 0.0f;
}
mAnimTimers[6] += 1.0f;
if (mAnimTimers[6] >= mRocketAnim2->mFrameLength) {
if (mAnimTimers[6] >= mRocketAnim2->mTotalFrameCount) {
mAnimTimers[6] = 0.0f;
}
mAnimTimers[7] += 0.5f;
if (mAnimTimers[7] >= mInfoAnim1->mFrameLength) {
if (mAnimTimers[7] >= mInfoAnim1->mTotalFrameCount) {
mAnimTimers[7] = 0.0f;
}
mAnimTimers[8] += 0.5f;
if (mAnimTimers[8] >= mInfoAnim2->mFrameLength) {
if (mAnimTimers[8] >= mInfoAnim2->mTotalFrameCount) {
mAnimTimers[8] = 0.0f;
}
mAnimTimers[9] += 0.5f;
if (mAnimTimers[9] >= mInfoAnim3->mFrameLength) {
if (mAnimTimers[9] >= mInfoAnim3->mTotalFrameCount) {
mAnimTimers[9] = 0.0f;
}
mAnimTimers[1] += 1.0f;
if (mAnimTimers[1] >= mKitaAnim2->mFrameLength) {
if (mAnimTimers[1] >= mKitaAnim2->mTotalFrameCount) {
mAnimTimers[1] = 0.0f;
}
@ -5759,7 +5759,7 @@ void WorldMap::changeInfo()
u64 tags2[4]
= { '8396_01', '8398_01', '8401_01', '8410_01' }; // "Hole of Beasts" "White Flower Garden" "Bulblax Kingdom" "Snagret Hole"
u64 tags3[4] = { '8397_01', '8402_01', '8403_01',
'8411_01' }; // "Citadel of Spiders" "Glutton's Kitchen" "Shower Room" "Submerged Castle"
'8411_01' }; // "Citadel of Spiders" "Glutton's Kitchen" "Shower Room" "Submerged Castle"
u64 tags4[4] = { '8412_01', '8413_01', '8414_01', 'no_data' }; // "Cavern of Chaos" "Hole of Heroes" "Dream Den"
u64* caveTags[4] = { tags1, tags2, tags3, tags4 };

View File

@ -2516,7 +2516,7 @@ void Obj::startMotionSelf(int animIdx, SysShape::MotionListener* listener)
SysShape::Animator& sysAnim = animator->getAnimator(0);
f32 frame;
if (sysAnim.mAnimInfo) {
frame = sysAnim.mAnimInfo->mAnm->mFrameLength;
frame = sysAnim.mAnimInfo->mAnm->mTotalFrameCount;
} else {
frame = 0.0f;
}

View File

@ -1390,7 +1390,7 @@ void Obj::startBlendAnimation(int animIdx, bool doBlendAnim)
f32 time;
if (animInfo) {
time = animInfo->mAnm->mFrameLength;
time = animInfo->mAnm->mTotalFrameCount;
} else {
time = 0.0f;
}

View File

@ -1224,7 +1224,7 @@ void Obj::startBlendAnimation(int animIdx, bool blendAnim)
SysShape::AnimInfo* animInfo = anim.mAnimInfo;
f32 f1;
if (animInfo) {
f1 = (f32)animInfo->mAnm->mFrameLength;
f1 = (f32)animInfo->mAnm->mTotalFrameCount;
} else {
f1 = 0.0f;
}

View File

@ -66,7 +66,7 @@ void AnimBaseBase::init(JKRArchive* archive, char* resourcePath)
JUT_ASSERTLINE(87, resource, "no name resource (%s) \n", resourcePath);
mAnm = J2DAnmLoaderDataBase::load(resource);
mLastFrame = mAnm->mFrameLength - 1;
mLastFrame = mAnm->mTotalFrameCount - 1;
mMinFrame = 0.0f;
mArea = mLastFrame;
mLength = mArea - mMinFrame;

View File

@ -3121,7 +3121,7 @@ void EnemyBase::startMotion()
* @note Address: 0x80107220
* @note Size: 0x58
*/
f32 EnemyBase::getMotionFrameMax() { return mAnimator->getAnimator().mAnimInfo->mAnm->mFrameLength; }
f32 EnemyBase::getMotionFrameMax() { return mAnimator->getAnimator().mAnimInfo->mAnm->mTotalFrameCount; }
/**
* @note Address: 0x80107278

View File

@ -497,7 +497,7 @@ bool ObjectActor::setAnim()
} else {
mMtxCalcAnm = J3DNewMtxCalcAnm(mModelData->mJointTree.mFlags & 0xf, mAnmTransform);
mModelData->mJointTree.mJoints[0]->mMtxCalc = mMtxCalcAnm;
mAnimFrameMax = mAnmTransform->mFrameLength;
mAnimFrameMax = mAnmTransform->mTotalFrameCount;
mAnimationFileId = mAnimation;
sys->endChangeCurrentHeap();
return true;

View File

@ -6,12 +6,12 @@
*/
HeapStatus::HeapStatus()
{
mHeapInfo._3C = 0;
mHeapInfo._40 = -1;
mHeapInfo._44 = 0;
mHeapInfo._48 = &mHeapInfo;
_50 = 0;
mHeapInfo.mTreeParentHeap = &mHeapInfo;
mHeapInfo.mUnused0 = 0;
mHeapInfo.mUnused1 = -1;
mHeapInfo.mUnused2 = 0;
mHeapInfo.mCurrentNode = &mHeapInfo;
_50 = 0;
mHeapInfo.mParent = &mHeapInfo;
}
/**
@ -83,30 +83,28 @@ void HeapStatus::dumpNode()
*/
HeapInfo::~HeapInfo()
{
// this is probably two calls to an inline based on the assert
// but i cannot be arsed working out which inline and this matches so WHATEVER
HeapInfo* info1 = _48->mTreeParentHeap;
HeapInfo* info0 = _48;
HeapInfo* info1 = mCurrentNode->mParent;
HeapInfo* info0 = mCurrentNode;
if (info1 == this) {
if (info1->mTree.getParent()) {
info0->mTreeParentHeap = static_cast<HeapInfo*>(info1->mTree.getParent()->getObject());
HeapInfo* info2 = info0->mTreeParentHeap;
info0->mTreeParentHeap = info0->search(info2);
if (info2 != info0->mTreeParentHeap) {
info0->mParent = static_cast<HeapInfo*>(info1->mTree.getParent()->getObject());
HeapInfo* info2 = info0->mParent;
info0->mParent = info0->search(info2);
if (info2 != info0->mParent) {
JUT_PANICLINE(277, "EXIT\n");
}
}
} else {
if (search(info1)) {
_48->mTreeParentHeap = this;
HeapInfo* info3 = _48->mTreeParentHeap;
HeapInfo* info2 = _48; // _r29
mCurrentNode->mParent = this;
HeapInfo* info3 = mCurrentNode->mParent;
HeapInfo* info2 = mCurrentNode; // _r29
if (info3->mTree.getParent()) {
info2->mTreeParentHeap = static_cast<HeapInfo*>(info3->mTree.getParent()->getObject());
HeapInfo* info4 = info2->mTreeParentHeap;
info2->mTreeParentHeap = info2->search(info4);
if (info4 != info2->mTreeParentHeap) {
info2->mParent = static_cast<HeapInfo*>(info3->mTree.getParent()->getObject());
HeapInfo* info4 = info2->mParent;
info2->mParent = info2->search(info4);
if (info4 != info2->mParent) {
JUT_PANICLINE(277, "EXIT\n");
}
}

View File

@ -431,20 +431,20 @@ void PodIconScreen::update()
{
if (mState != -1) {
mAnmTexPatternTimer += 1.0f;
if (mAnmTexPatternTimer >= mAnmTexPattern->mFrameLength) {
mAnmTexPatternTimer -= mAnmTexPattern->mFrameLength;
if (mAnmTexPatternTimer >= mAnmTexPattern->mTotalFrameCount) {
mAnmTexPatternTimer -= mAnmTexPattern->mTotalFrameCount;
}
mAnmTexPattern->mCurrentFrame = mAnmTexPatternTimer;
mAnmTransTimer += 1.0f;
if (mAnmTransTimer >= mAnmTrans->mFrameLength) {
mAnmTransTimer -= mAnmTrans->mFrameLength;
if (mAnmTransTimer >= mAnmTrans->mTotalFrameCount) {
mAnmTransTimer -= mAnmTrans->mTotalFrameCount;
}
mAnmTrans->mCurrentFrame = mAnmTransTimer;
mAnmColorTimer += 1.0f;
if (mAnmColorTimer >= mAnmColor->mFrameLength) {
mAnmColorTimer -= mAnmColor->mFrameLength;
if (mAnmColorTimer >= mAnmColor->mTotalFrameCount) {
mAnmColorTimer -= mAnmColor->mTotalFrameCount;
}
mAnmColor->mCurrentFrame = mAnmColorTimer;

View File

@ -35,7 +35,7 @@ void MatBaseAnimation::attachResource(void* resource, J3DModelData* modelData)
f32 MatBaseAnimation::getFrameMax()
{
P2ASSERTLINE(57, getAnmBase());
return getAnmBase()->mFrameLength;
return getAnmBase()->mTotalFrameCount;
}
/**

View File

@ -100,7 +100,7 @@ void Animator::setFrameByKeyType(u32 id)
JUT_ASSERTLINE(300, !(mFlags & 0x80), "ExMotionErr::setFrameByKeyType(%d)\n", id);
if (id == KEYEVENT_END) {
setCurrFrame(mAnimInfo->mAnm->mFrameLength - 1.0f);
setCurrFrame(mAnimInfo->mAnm->mTotalFrameCount - 1.0f);
} else {
KeyEvent* evt = mAnimInfo->getAnimKeyByType(id);
if (evt) {
@ -116,7 +116,7 @@ void Animator::setFrameByKeyType(u32 id)
void Animator::setLastFrame()
{
if (mAnimInfo) {
setCurrFrame(mAnimInfo->mAnm->mFrameLength - 1.0f);
setCurrFrame(mAnimInfo->mAnm->mTotalFrameCount - 1.0f);
}
}
@ -165,13 +165,13 @@ void Animator::animate(f32 deltaTime)
mCurAnimKey = mAnimInfo->getLowestAnimKey(mTimer);
}
int time = mAnimInfo->mAnm->mFrameLength;
int time = mAnimInfo->mAnm->mTotalFrameCount;
if (time >= mTimer) {
mTimer = time - 1.0f;
if (mListener && !(mFlags & 1)) {
KeyEvent event;
event.mFrame = (f32)mAnimInfo->mAnm->mFrameLength;
event.mFrame = (f32)mAnimInfo->mAnm->mTotalFrameCount;
event.mType = KEYEVENT_END;
event.mAnimIdx = mAnimInfo->mId;
mFlags |= 1;