Use joint enums in several different places (#981)

Co-authored-by: ‎ ‎ ‎ <‎ ‎ ‎>
This commit is contained in:
123456789758
2026-06-16 14:55:36 -04:00
committed by GitHub
parent f2d931cd81
commit d61a31e7ab
82 changed files with 1693 additions and 1522 deletions
+14 -14
View File
@@ -77,19 +77,19 @@ enum dRes_ID_PZ {
dRes_ID_PZ_BTP_WAIT04_e=0x2C,
};
enum BOW_JNT {
BOW_JNT_CL_BOW_e=0x0,
BOW_JNT_BOW_JNT_e=0x1,
BOW_JNT_AA_JNT_e=0x2,
BOW_JNT_AB_JNT_e=0x3,
BOW_JNT_ACJNT_e=0x4,
BOW_JNT_LINEAA_JNT_e=0x5,
BOW_JNT_LINEAB_JNT_e=0x6,
BOW_JNT_BA_JNT_e=0x7,
BOW_JNT_BB_JNT_e=0x8,
BOW_JNT_BC_JNT_e=0x9,
BOW_JNT_LINEBA_JNT_e=0xA,
BOW_JNT_LINEBB_JNT_e=0xB,
enum PZ_BOW_JNT {
PZ_BOW_JNT_CL_BOW_e=0x0,
PZ_BOW_JNT_BOW_JNT_e=0x1,
PZ_BOW_JNT_AA_JNT_e=0x2,
PZ_BOW_JNT_AB_JNT_e=0x3,
PZ_BOW_JNT_ACJNT_e=0x4,
PZ_BOW_JNT_LINEAA_JNT_e=0x5,
PZ_BOW_JNT_LINEAB_JNT_e=0x6,
PZ_BOW_JNT_BA_JNT_e=0x7,
PZ_BOW_JNT_BB_JNT_e=0x8,
PZ_BOW_JNT_BC_JNT_e=0x9,
PZ_BOW_JNT_LINEBA_JNT_e=0xA,
PZ_BOW_JNT_LINEBB_JNT_e=0xB,
};
enum PZ_JNT {
@@ -122,4 +122,4 @@ enum PZ_JNT {
PZ_JNT_SKIRT_3_e=0x1A,
};
#endif /* !RES_PZ_H */
#endif /* !RES_PZ_H */
+14 -14
View File
@@ -77,19 +77,19 @@ enum dRes_ID_PZ {
dRes_ID_PZ_BTP_WAIT04_e=0x2C,
};
enum BOW_JNT {
BOW_JNT_CL_BOW_e=0x0,
BOW_JNT_BOW_JNT_e=0x1,
BOW_JNT_AA_JNT_e=0x2,
BOW_JNT_AB_JNT_e=0x3,
BOW_JNT_ACJNT_e=0x4,
BOW_JNT_LINEAA_JNT_e=0x5,
BOW_JNT_LINEAB_JNT_e=0x6,
BOW_JNT_BA_JNT_e=0x7,
BOW_JNT_BB_JNT_e=0x8,
BOW_JNT_BC_JNT_e=0x9,
BOW_JNT_LINEBA_JNT_e=0xA,
BOW_JNT_LINEBB_JNT_e=0xB,
enum PZ_BOW_JNT {
PZ_BOW_JNT_CL_BOW_e=0x0,
PZ_BOW_JNT_BOW_JNT_e=0x1,
PZ_BOW_JNT_AA_JNT_e=0x2,
PZ_BOW_JNT_AB_JNT_e=0x3,
PZ_BOW_JNT_ACJNT_e=0x4,
PZ_BOW_JNT_LINEAA_JNT_e=0x5,
PZ_BOW_JNT_LINEAB_JNT_e=0x6,
PZ_BOW_JNT_BA_JNT_e=0x7,
PZ_BOW_JNT_BB_JNT_e=0x8,
PZ_BOW_JNT_BC_JNT_e=0x9,
PZ_BOW_JNT_LINEBA_JNT_e=0xA,
PZ_BOW_JNT_LINEBB_JNT_e=0xB,
};
enum PZ_JNT {
@@ -122,4 +122,4 @@ enum PZ_JNT {
PZ_JNT_SKIRT_3_e=0x1A,
};
#endif /* !RES_PZ_H */
#endif /* !RES_PZ_H */
+14 -14
View File
@@ -77,19 +77,19 @@ enum dRes_ID_PZ {
dRes_ID_PZ_BTP_WAIT04_e=0x2C,
};
enum BOW_JNT {
BOW_JNT_CL_BOW_e=0x0,
BOW_JNT_BOW_JNT_e=0x1,
BOW_JNT_AA_JNT_e=0x2,
BOW_JNT_AB_JNT_e=0x3,
BOW_JNT_ACJNT_e=0x4,
BOW_JNT_LINEAA_JNT_e=0x5,
BOW_JNT_LINEAB_JNT_e=0x6,
BOW_JNT_BA_JNT_e=0x7,
BOW_JNT_BB_JNT_e=0x8,
BOW_JNT_BC_JNT_e=0x9,
BOW_JNT_LINEBA_JNT_e=0xA,
BOW_JNT_LINEBB_JNT_e=0xB,
enum PZ_BOW_JNT {
PZ_BOW_JNT_CL_BOW_e=0x0,
PZ_BOW_JNT_BOW_JNT_e=0x1,
PZ_BOW_JNT_AA_JNT_e=0x2,
PZ_BOW_JNT_AB_JNT_e=0x3,
PZ_BOW_JNT_ACJNT_e=0x4,
PZ_BOW_JNT_LINEAA_JNT_e=0x5,
PZ_BOW_JNT_LINEAB_JNT_e=0x6,
PZ_BOW_JNT_BA_JNT_e=0x7,
PZ_BOW_JNT_BB_JNT_e=0x8,
PZ_BOW_JNT_BC_JNT_e=0x9,
PZ_BOW_JNT_LINEBA_JNT_e=0xA,
PZ_BOW_JNT_LINEBB_JNT_e=0xB,
};
enum PZ_JNT {
@@ -122,4 +122,4 @@ enum PZ_JNT {
PZ_JNT_SKIRT_3_e=0x1A,
};
#endif /* !RES_PZ_H */
#endif /* !RES_PZ_H */
+14 -14
View File
@@ -77,19 +77,19 @@ enum dRes_ID_PZ {
dRes_ID_PZ_BTP_WAIT04_e=0x2C,
};
enum BOW_JNT {
BOW_JNT_CL_BOW_e=0x0,
BOW_JNT_BOW_JNT_e=0x1,
BOW_JNT_AA_JNT_e=0x2,
BOW_JNT_AB_JNT_e=0x3,
BOW_JNT_ACJNT_e=0x4,
BOW_JNT_LINEAA_JNT_e=0x5,
BOW_JNT_LINEAB_JNT_e=0x6,
BOW_JNT_BA_JNT_e=0x7,
BOW_JNT_BB_JNT_e=0x8,
BOW_JNT_BC_JNT_e=0x9,
BOW_JNT_LINEBA_JNT_e=0xA,
BOW_JNT_LINEBB_JNT_e=0xB,
enum PZ_BOW_JNT {
PZ_BOW_JNT_CL_BOW_e=0x0,
PZ_BOW_JNT_BOW_JNT_e=0x1,
PZ_BOW_JNT_AA_JNT_e=0x2,
PZ_BOW_JNT_AB_JNT_e=0x3,
PZ_BOW_JNT_ACJNT_e=0x4,
PZ_BOW_JNT_LINEAA_JNT_e=0x5,
PZ_BOW_JNT_LINEAB_JNT_e=0x6,
PZ_BOW_JNT_BA_JNT_e=0x7,
PZ_BOW_JNT_BB_JNT_e=0x8,
PZ_BOW_JNT_BC_JNT_e=0x9,
PZ_BOW_JNT_LINEBA_JNT_e=0xA,
PZ_BOW_JNT_LINEBB_JNT_e=0xB,
};
enum PZ_JNT {
@@ -122,4 +122,4 @@ enum PZ_JNT {
PZ_JNT_SKIRT_3_e=0x1A,
};
#endif /* !RES_PZ_H */
#endif /* !RES_PZ_H */
+3 -3
View File
@@ -1945,8 +1945,8 @@ public:
virtual void changeTextureAnime(u16, u16, int);
virtual f32 getGroundY() { return mAcch.GetGroundH(); }
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(0x08); } // cl_LhandA joint
virtual MtxP getRightHandMatrix() { return mpCLModel->getAnmMtx(0x0C); } // cl_RhandA joint
virtual MtxP getLeftHandMatrix() { return mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e); }
virtual MtxP getRightHandMatrix() { return mpCLModel->getAnmMtx(CL_JNT_CL_RHANDA_e); }
virtual s32 getTactMusic() const;
virtual int getTactTimerCancel() const;
virtual BOOL checkPlayerGuard() const;
@@ -2291,7 +2291,7 @@ private:
/* 0x3608 */ f32 m3608;
/* 0x360C */ f32 mSeAnmRate;
/* 0x3610 */ f32 m3610;
/* 0x3614 */ int mShadowId;
/* 0x3614 */ u32 mShadowId;
/* 0x3618 */ u32 mModeFlg;
/* 0x361C */ u32 mMtrlSndId;
/* 0x3620 */ u32 m3620;
+2 -1
View File
@@ -1,6 +1,7 @@
#ifndef D_A_PZ_H
#define D_A_PZ_H
#include "res/Object/pz.h"
#include "f_op/f_op_actor.h"
#include "d/d_npc.h"
#include "c/c_damagereaction.h"
@@ -22,7 +23,7 @@ public:
};
MtxP getRightHandMatrix() { return mpMorf->getModel()->getAnmMtx(0x13); } // hand_R1 joint
MtxP getRightHandMatrix() { return mpMorf->getModel()->getAnmMtx(PZ_JNT_HAND_R1_e); }
void isAnm(s8) {}
void isEyeAnm(s8) {}
void modeProcInit(int) {}
+5 -5
View File
@@ -1,6 +1,7 @@
#ifndef D_A_SHIP_H
#define D_A_SHIP_H
#include "res/Object/ship.h"
#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
#include "d/d_bg_s_acch.h"
@@ -127,11 +128,11 @@ public:
#if VERSION <= VERSION_JPN
bool checkCraneMode() const {
return mCurMode == 10 && mNextMode == 10;
return mCurMode == MODE_CRANE_e && mNextMode == MODE_CRANE_e;
}
#else
bool checkCraneMode() const {
return mCurMode == 10 && mNextMode == 10 && speedF < 1.0f && !checkStateFlg(daSFLG_FLY_e) && !checkForceMove();
return mCurMode == MODE_CRANE_e && mNextMode == MODE_CRANE_e && speedF < 1.0f && !checkStateFlg(daSFLG_FLY_e) && !checkForceMove();
}
#endif
#if VERSION == VERSION_DEMO
@@ -155,14 +156,14 @@ public:
void getCraneRipplePosY() const {}
void getCraneRipplePosZ() const {}
cXyz* getCraneTop() { return m0434; }
MtxP getHeadJntMtx() { return mpHeadAnm->getModel()->getAnmMtx(8); }
MtxP getHeadJntMtx() { return mpHeadAnm->getModel()->getAnmMtx(FN_HEAD_H_JNT_J_FN_ATAMA_e); }
f32 getJumpRate() { return mJumpRate; }
u8 getPart() const { return mPart; }
s16 getRopeCnt() const { return mRopeCnt; }
BOOL checkRopeDownStart() const { return mRopeCnt > 20; }
BOOL checkRopeCntMax() const { return mRopeCnt == 250; }
s16 getSailAngle() { return mSailAngle; }
void getTactJntMtx() {}
MtxP getTactJntMtx() { return mpHeadAnm->getModel()->getAnmMtx(FN_HEAD_H_JNT_J_FN_AGO2_e); }
f32 getTillerAngleRate() { return mTillerAngleRate; }
cXyz* getTillerTopPosP() { return &mTillerTopPos; }
void offCraneHookFlg() { offStateFlg(daSFLG_UNK800_e);}
@@ -181,7 +182,6 @@ public:
void onCraneHookFlg() { onStateFlg(daSFLG_UNK800_e); }
void onCrashFlg() { onStateFlg(daSFLG_UNK4_e); }
void onFantomGanonBattle() {}
//TODO: Is this right?
void onLinkSit() { onStateFlg(daSFLG_UNK4000000_e); }
void onSceneChange() { onStateFlg(daSFLG_UNK20000000_e); }
void onShortHitFlg() { onStateFlg(daSFLG_UNK20_e); }
+8 -8
View File
@@ -53,13 +53,13 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
J3DModel* model = j3dSys.getModel();
am_class* i_this = (am_class*)model->getUserArea();
if (i_this) {
if (jntNo >= 1 && jntNo <= 4) {
if (jntNo >= AM_JNT_KOSI_e && jntNo <= AM_JNT_EYE_e) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
}
cXyz offset;
switch (jntNo) {
case 1: // kosi (waist)
case AM_JNT_KOSI_e: // waist
offset.x = 0.0f;
offset.y = 240.0f;
offset.z = 60.0f;
@@ -73,18 +73,18 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
offset.z = 0.0f;
MtxPosition(&offset, &i_this->mWaistPos);
break;
case 2: // ago (jaw)
case AM_JNT_AGO_e: // jaw
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = 0.0f;
MtxPosition(&offset, &i_this->mJawPos);
break;
case 4: // eye
case AM_JNT_EYE_e:
cMtx_YrotM(*calc_mtx, i_this->mEyeRot.y);
cMtx_XrotM(*calc_mtx, i_this->mEyeRot.x);
}
if (jntNo >= 1 && jntNo <= 4) {
if (jntNo >= AM_JNT_KOSI_e && jntNo <= AM_JNT_EYE_e) {
model->setAnmMtx(jntNo, *calc_mtx);
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
}
@@ -956,10 +956,10 @@ static void action_itai_move(am_class* i_this) {
}
if (i_this->m033C) {
i_this->m033C->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
i_this->m033C->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(AM_JNT_AGO_e));
}
if (i_this->m0340) {
i_this->m0340->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
i_this->m0340->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(AM_JNT_AGO_e));
}
if (i_this->mMode == 41 || i_this->mMode == 42) {
@@ -1145,7 +1145,7 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL2_e,
/* mJointIndex */ 0x05, // hitomi (pupil) joint
/* mJointIndex */ AM_JNT_HITOMI_e, // pupil
/* mRadius */ 5.0f,
/* mpOffsets */ cyl2_eye_offset,
},
+5 -5
View File
@@ -42,19 +42,19 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
cXyz offset;
switch (jntNo) {
case 1: // coa (core/weak spot)
case AM2_JNT_COA_e: // core/weak spot
offset.x = 0.0f;
offset.y = 50.0f;
offset.z = -40.0f;
MtxPosition(&offset, &i_this->mWeakPos);
break;
case 2: // eye
case AM2_JNT_EYE_e:
offset.x = 30.0f;
offset.y = 0.0f;
offset.z = 0.0f;
MtxPosition(&offset, &i_this->mEyeballPos);
break;
case 3: // toge (needles)
case AM2_JNT_TOGE_e: // needles
offset.x = -10.0f;
offset.y = 0.0f;
offset.z = 0.0f;
@@ -1246,13 +1246,13 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL2_e,
/* mJointIndex */ 0x00, // body joint
/* mJointIndex */ AM2_JNT_BODY_e,
/* mRadius */ 20.0f,
/* mpOffsets */ cyl_eye_offset,
},
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 0x00, // body joint
/* mJointIndex */ AM2_JNT_BODY_e,
/* mRadius */ 20.0f,
/* mpOffsets */ sph_offset,
},
+8 -8
View File
@@ -228,22 +228,22 @@ void daArrow_c::setDrawShapeMaterial() {
{
/* mAtType */ AT_TYPE_NORMAL_ARROW,
/* mAtp */ 2,
/* mTipJointIdx */ 4,
/* mTipJointIdx */ ARROW_JNT_TIPNOMAL_e,
},
{
/* mAtType */ AT_TYPE_FIRE_ARROW,
/* mAtp */ 4,
/* mTipJointIdx */ 2,
/* mTipJointIdx */ ARROW_JNT_TIPFIRE_e,
},
{
/* mAtType */ AT_TYPE_ICE_ARROW,
/* mAtp */ 4,
/* mTipJointIdx */ 3,
/* mTipJointIdx */ ARROW_JNT_TIPICE_e,
},
{
/* mAtType */ AT_TYPE_LIGHT_ARROW,
/* mAtp */ 0xFF,
/* mTipJointIdx */ 0,
/* mTipJointIdx */ ARROWGLITTER_JNT_ARROWGLITTER_e,
},
};
@@ -1068,10 +1068,10 @@ BOOL daArrow_c::createInit() {
if (mArrowType != TYPE_LIGHT) {
J3DModelData* modelData = mpModel->getModelData();
modelData->getJointNodePointer(4)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(2)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(3)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(3)->getMesh()->getNext()->getShape()->hide();
modelData->getJointNodePointer(ARROW_JNT_TIPNOMAL_e)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(ARROW_JNT_TIPFIRE_e)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(ARROW_JNT_TIPICE_e)->getMesh()->getShape()->hide();
modelData->getJointNodePointer(ARROW_JNT_TIPICE_e)->getMesh()->getNext()->getShape()->hide();
}
setDrawShapeMaterial();
+31 -13
View File
@@ -154,15 +154,15 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
}
cXyz v;
if (jntNo == 0x16) {
if (jntNo == BB_JNT_ATAMA_e) {
v.x = 0.0f;
v.z = 0.0f;
v.y = 0.0f;
MtxPosition(&v, &i_this->actor.eyePos);
i_this->actor.attention_info.position = i_this->actor.eyePos;
i_this->actor.attention_info.position.y += REG0_F(8) * 10.0f + 50.0f;
} else if (jntNo == 0x1D || jntNo == 0x1E) {
if (jntNo == 0x1E) {
} else if (jntNo == BB_JNT_OA_e || jntNo == BB_JNT_OB_e) {
if (jntNo == BB_JNT_OB_e) {
v.x = REG0_F(10) * 10.0f + 10.0f;
v.y = REG0_F(11) * 10.0f;
v.z = REG0_F(12) * 10.0f;
@@ -172,21 +172,21 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
v.y = 0.0f;
}
MtxPosition(&v, &i_this->unk_BD4[jntNo - 0x1D]);
} else if (jntNo == 0x3 || jntNo == 0x8) {
MtxPosition(&v, &i_this->unk_BD4[jntNo - BB_JNT_OA_e]);
} else if (jntNo == BB_JNT_FOOTL_e || jntNo == BB_JNT_FOOTR_e) {
v.x = REG0_F(10) * 10.0f + 5.0f;
v.y = REG0_F(11) * 10.0f;
v.z = REG0_F(12) * 10.0f;
if (jntNo == 0x3) {
if (jntNo == BB_JNT_FOOTL_e) {
MtxPosition(&v, &i_this->unk_A6C[0]);
} else {
MtxPosition(&v, &i_this->unk_A6C[1]);
}
} else if (jntNo == 0x17) {
} else if (jntNo == BB_JNT_KUCHIA_e) {
cMtx_ZrotM(*calc_mtx, -i_this->unk_C4E);
model->setAnmMtx(jntNo, *calc_mtx);
} else if (jntNo == 0x18) {
} else if (jntNo == BB_JNT_KUCHIB_e) {
cMtx_YrotM(*calc_mtx, i_this->unk_C4E);
model->setAnmMtx(jntNo, *calc_mtx);
}
@@ -2787,14 +2787,32 @@ static cPhs_State daBb_Create(fopAc_ac_c* a_this) {
i_this->mEnemyFire.mpMcaMorf = i_this->mpMorf;
i_this->mEnemyFire.mpActor = a_this;
static u8 fire_j[] = {
0xB, 0xC, 0xD, 0xE, 0xF, 0x10, 0x11, 0x12, 0x15, 0x1D,
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
BB_JNT_KATAL_e,
BB_JNT_KANEAL_e,
BB_JNT_HANEBL_e,
BB_JNT_HANECL_e,
BB_JNT_KATAR_e,
BB_JNT_HANEAR_e,
BB_JNT_HANEBR_e,
BB_JNT_HANECR_e,
BB_JNT_KUBIC_e,
BB_JNT_OA_e
};
static f32 fire_sc[] = {
1.0f, 0.8f, 0.7f, 0.6f, 0.5f, 1.0f, 0.8f, 0.7f, 0.6f, 0.5f,
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
1.0f, // BB_JNT_KATAL_e
0.8f, // BB_JNT_KANEAL_e
0.7f, // BB_JNT_HANEBL_e
0.6f, // BB_JNT_HANECL_e
0.5f, // BB_JNT_KATAR_e
1.0f, // BB_JNT_HANEAR_e
0.8f, // BB_JNT_HANEBR_e
0.7f, // BB_JNT_HANECR_e
0.6f, // BB_JNT_KUBIC_e
0.5f // BB_JNT_OA_e
};
for (s32 i = 0; i < 10; i++) {
for (int i = 0; i < ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
}
+4 -4
View File
@@ -256,7 +256,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
} else {
cXyz offset;
jnt_no = (jnt_no - 0x3A) / 2;
jnt_no = (jnt_no - DK_JNT_J_DK_O_LA2_e) / 2;
offset.x = offset.y = offset.z = 0.0f;
MtxPosition(&offset, &bdk->m300[jnt_no].m0150[1]);
offset.x = -10.0f;
@@ -1940,7 +1940,7 @@ static void end(bdk_class* i_this) {
for (s32 i = 0; i <= 1; i++) {
JPABaseEmitter* emitter = i_this->m6100[i];
if (emitter) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(DK_JNT_J_DK_HANE_L2_e + i * 0xA)); // j_dk_hane_l2 joint, j_dk_hane_r2 joint
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(DK_JNT_J_DK_HANE_L2_e + i * DK_JNT_J_DK_YUBI_LC1_e));
}
}
if (i_this->m2EC[0] == 0xAA) {
@@ -2036,7 +2036,7 @@ static void end(bdk_class* i_this) {
);
if (emitter) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(DK_JNT_J_DK_HANE_L2_e + i * 0xA)); // j_dk_hane_l2 joint, j_dk_hane_r2 joint
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(DK_JNT_J_DK_HANE_L2_e + i * DK_JNT_J_DK_YUBI_LC1_e));
}
}
}
@@ -2494,7 +2494,7 @@ static void col_set(bdk_class* i_this) {
if (4 <= i_this->m8F8) {
MTXCopy(
i_this->mpMorf->getModel()->getAnmMtx(REG8_S(2) + 0x21), // j_dk_tosaka_a3 joint
i_this->mpMorf->getModel()->getAnmMtx(REG8_S(2) + (s16)DK_JNT_J_DK_TOSAKA_A3_e),
*calc_mtx
);
+67 -65
View File
@@ -124,7 +124,7 @@ static void yari_off_check(bk_class* i_this) {
dBgS_LinChk linChk;
linChk.Set(&actor->eyePos, &boko_actor->current.pos, i_this);
if (dComIfG_Bgsp()->LineCross(&linChk)) {
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(0x10); // mune (chest) joint
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BK_JNT_MUNE_e); // chest
MTXCopy(mtx, *calc_mtx);
boko->setMatrix(*calc_mtx);
offset.set(0.0f, 0.0f, 0.0f);
@@ -275,7 +275,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
bk_class* i_this = (bk_class*)model->getUserArea();
if (i_this) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
if (jntNo == 0x13) { // ago joint
if (jntNo == BK_JNT_AGO_e) {
cMtx_ZrotM(*calc_mtx, i_this->m11F4);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
@@ -292,11 +292,11 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
offset.y = 0.0f;
offset.z = 0.0f;
cXyz sp08;
if (r28 == 0x00 || r28 == 0x01 || r28 == 0x02 || r28 == 0x03 || r28 == 0x04 ||
r28 == 0x05 || r28 == 0x06 || r28 == 0x07
if (r28 == BK_JNT_KOSI_e || r28 == BK_JNT_HIP1_e || r28 == BK_JNT_KOKAL_e || r28 == BK_JNT_MOMOL_e || r28 == BK_JNT_SUNEL1_e ||
r28 == BK_JNT_SUNEL2_e || r28 == BK_JNT_ASIL_e || r28 == BK_JNT_KOKAR_e
) {
offset.x = 0.0f;
} else if (r28 == 0x12) {
} else if (r28 == BK_JNT_HEAD_e) {
offset.x = 200.0f;
offset.y = -100.0f;
MtxPosition(&offset, &sp08);
@@ -337,14 +337,14 @@ static BOOL nodeCallBack_P(J3DNode* node, int calcTiming) {
offset.x = 0.0f;
offset.z = 0.0f;
offset.y = 0.0f;
if (r30 == 0x11) {
if (r30 == BK_JNT_KUBI_e) {
offset.x = 17.5f;
offset.y = -8.75f;
offset.z = 0.0f;
MtxPosition(&offset, &i_this->m1190);
} else if (r30 == 0x10) {
} else if (r30 == BK_JNT_MUNE_e) {
MtxPosition(&offset, &i_this->m119C);
} else if (r30 == 0x0E || r30 == 0x0F) {
} else if (r30 == BK_JNT_SIPPO3_e || r30 == BK_JNT_SIPPO4_e) {
offset.y = 25.0f;
} else {
offset.y = 0.0f;
@@ -457,13 +457,13 @@ static void br_draw(bk_class* i_this) {
while (mat) {
J3DShape* shape = mat->getShape();
if (i_this->m02F4 == 0) {
if (i == 1) {
if (i == BK_KB_JNT_BLURA_e) {
shape->show();
} else {
shape->hide();
}
} else {
if (i == 2) {
if (i == BK_KB_JNT_BLURB_e) {
shape->show();
} else {
shape->hide();
@@ -473,7 +473,7 @@ static void br_draw(bk_class* i_this) {
}
}
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x2C), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(BK_JNT_BUKI_e), *calc_mtx);
MtxTrans(150.0f + l_bkHIO.m100, REG8_F(1), REG8_F(2), 1);
s16 angleX = REG8_S(6) + 0x4000;
cMtx_XrotM(*calc_mtx, angleX);
@@ -539,7 +539,7 @@ static BOOL daBk_Draw(bk_class* i_this) {
search_check_draw(i_this);
J3DModelData* modelData = model->getModelData();
J3DJoint* rootJoint = modelData->getJointNodePointer(0x00);
J3DJoint* rootJoint = modelData->getJointNodePointer(BK_JNT_KOSI_e);
J3DShape* eyeShape = modelData->getMaterialNodePointer(0x00)->getShape();
J3DShape* hatShape = modelData->getMaterialNodePointer(0x01)->getShape();
J3DShape* bodyShape = modelData->getMaterialNodePointer(0x02)->getShape();
@@ -4105,7 +4105,7 @@ static void demo_camera(bk_class* i_this) {
/* 0000CC68-0000CD00 .text tate_mtx_set__FP8bk_class */
static void tate_mtx_set(bk_class* i_this) {
if (i_this->m02D4 != 0) {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x25), *calc_mtx); // tate joint
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(BK_JNT_TATE_e), *calc_mtx);
i_this->m02D0->setBaseTRMtx(*calc_mtx);
cXyz sp08;
sp08.x = REG8_F(12);
@@ -4118,7 +4118,7 @@ static void tate_mtx_set(bk_class* i_this) {
/* 0000CD00-0000CE18 .text bou_mtx_set__FP8bk_class */
static void bou_mtx_set(bk_class* i_this) {
if (i_this->m02DC != 0) {
int jointIdx = 0x2C + REG7_S(4); // buki joint
int jointIdx = BK_JNT_BUKI_e + REG7_S(4);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(jointIdx), *calc_mtx);
s16 angleY = 0x4000 + REG7_S(0);
cMtx_YrotM(*calc_mtx, angleY);
@@ -4374,7 +4374,7 @@ static BOOL daBk_Execute(bk_class* i_this) {
if (boko != NULL) {
if (fopAcM_checkCarryNow(boko)) {
if (i_this->m0B7B == 0) {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x2C), *calc_mtx); // buki joint
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(BK_JNT_BUKI_e), *calc_mtx);
s16 angleY = 0x3E80 + REG8_S(1);
cMtx_YrotM(*calc_mtx, angleY);
s16 angleX = REG8_S(2);
@@ -4639,91 +4639,91 @@ static BOOL useHeapInit(fopAc_ac_c* i_actor) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 0x01, // hip1 joint
/* mJointIndex */ BK_JNT_HIP1_e,
/* mRadius */ 20.0f,
/* mpOffsets */ hip_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03, // momoL joint
/* mJointIndex */ BK_JNT_MOMOL_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x04, // suneL1 joint
/* mJointIndex */ BK_JNT_SUNEL1_e,
/* mRadius */ 2.5f,
/* mpOffsets */ sune_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x08, // momorR joint
/* mJointIndex */ BK_JNT_MOMORR_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09, // suneR1 joint
/* mJointIndex */ BK_JNT_SUNER1_e,
/* mRadius */ 2.5f,
/* mpOffsets */ sune_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0C, // sippo1 joint
/* mJointIndex */ BK_JNT_SIPPO1_e,
/* mRadius */ 3.0f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0D, // sippo2 joint
/* mJointIndex */ BK_JNT_SIPPO2_e,
/* mRadius */ 2.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0E, // sippo3 joint
/* mJointIndex */ BK_JNT_SIPPO3_e,
/* mRadius */ 1.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0F, // sippo4 joint
/* mJointIndex */ BK_JNT_SIPPO4_e,
/* mRadius */ 2.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x10, // mune joint
/* mJointIndex */ BK_JNT_MUNE_e,
/* mRadius */ 20.0f,
/* mpOffsets */ mune1_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x10, // mune joint
/* mJointIndex */ BK_JNT_MUNE_e,
/* mRadius */ 15.0f,
/* mpOffsets */ mune2_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x21, // udeL2 joint
/* mJointIndex */ BK_JNT_UDEL2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ udeL_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x22, // udeL3 joint
/* mJointIndex */ BK_JNT_UDEL3_e,
/* mRadius */ 3.0f,
/* mpOffsets */ udeL_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x29, // udeR2 joint
/* mJointIndex */ BK_JNT_UDER2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ udeR_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x2A, // udeR3 joint
/* mJointIndex */ BK_JNT_UDER3_e,
/* mRadius */ 3.0f,
/* mpOffsets */ udeR_offset,
},
@@ -4895,91 +4895,91 @@ static cPhs_State daBk_Create(fopAc_ac_c* i_actor) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 0x01, // hip1 joint
/* mJointIndex */ BK_JNT_HIP1_e,
/* mRadius */ 20.0f,
/* mpOffsets */ hip_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03, // momoL joint
/* mJointIndex */ BK_JNT_MOMOL_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x04, // suneL1 joint
/* mJointIndex */ BK_JNT_SUNEL1_e,
/* mRadius */ 2.5f,
/* mpOffsets */ sune_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x08, // momorR joint
/* mJointIndex */ BK_JNT_MOMORR_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09, // suneR1 joint
/* mJointIndex */ BK_JNT_SUNER1_e,
/* mRadius */ 2.5f,
/* mpOffsets */ sune_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0C, // sippo1 joint
/* mJointIndex */ BK_JNT_SIPPO1_e,
/* mRadius */ 3.0f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0D, // sippo2 joint
/* mJointIndex */ BK_JNT_SIPPO2_e,
/* mRadius */ 2.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0E, // sippo3 joint
/* mJointIndex */ BK_JNT_SIPPO3_e,
/* mRadius */ 1.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0F, // sippo4 joint
/* mJointIndex */ BK_JNT_SIPPO4_e,
/* mRadius */ 2.5f,
/* mpOffsets */ shipo_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x10, // mune joint
/* mJointIndex */ BK_JNT_MUNE_e,
/* mRadius */ 20.0f,
/* mpOffsets */ mune1_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x10, // mune joint
/* mJointIndex */ BK_JNT_MUNE_e,
/* mRadius */ 15.0f,
/* mpOffsets */ mune2_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x21, // udeL2 joint
/* mJointIndex */ BK_JNT_UDEL2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ udeL_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x22, // udeL3 joint
/* mJointIndex */ BK_JNT_UDEL3_e,
/* mRadius */ 3.0f,
/* mpOffsets */ udeL_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x29, // udeR2 joint
/* mJointIndex */ BK_JNT_UDER2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ udeR_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x2A, // udeR3 joint
/* mJointIndex */ BK_JNT_UDER3_e,
/* mRadius */ 3.0f,
/* mpOffsets */ udeR_offset,
},
@@ -5274,30 +5274,32 @@ static cPhs_State daBk_Create(fopAc_ac_c* i_actor) {
i_this->mEnemyFire.mpMcaMorf = i_this->mpMorf;
i_this->mEnemyFire.mpActor = i_this;
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
0x12,
0x10,
0x29,
0x2A,
0x21,
0x22,
0x08,
0x09,
0x03,
0x04,
BK_JNT_HEAD_e,
BK_JNT_MUNE_e,
BK_JNT_UDER2_e,
BK_JNT_UDER3_e,
BK_JNT_UDEL2_e,
BK_JNT_UDEL3_e,
BK_JNT_MOMORR_e,
BK_JNT_SUNER1_e,
BK_JNT_MOMOL_e,
BK_JNT_SUNEL1_e
};
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
2.0f,
2.0f,
1.2f,
1.0f,
1.2f,
1.0f,
1.2f,
1.0f,
1.2f,
1.0f,
2.0f, // BK_JNT_HEAD_e
2.0f, // BK_JNT_MUNE_e
1.2f, // BK_JNT_UDER2_e
1.0f, // BK_JNT_UDER3_e
1.2f, // BK_JNT_UDEL2_e
1.0f, // BK_JNT_UDEL3_e
1.2f, // BK_JNT_MOMORR_e
1.0f, // BK_JNT_SUNER1_e
1.2f, // BK_JNT_MOMOL_e
1.0f // BK_JNT_SUNEL1_e
};
for (int i = 0; i < ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
+8 -8
View File
@@ -55,9 +55,9 @@ static BOOL core_nodeCallBack(J3DNode* node, int calcTiming) {
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
bmd_class* i_this = (bmd_class*)model->getUserArea();
if (((i_this != 0) && (jntNo != 0)) && (jntNo != 5)) {
if (((i_this != 0) && (jntNo != BKM_COA_JNT_KUBI1_e)) && (jntNo != BKM_COA_JNT_SITAAGO_e)) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
if (jntNo < 7) {
if (jntNo < BKM_COA_JNT_TOSAKA1_e) {
cMtx_XrotM(*calc_mtx, i_this->m90C[0].x);
cMtx_ZrotM(*calc_mtx, i_this->m90C[0].z);
} else {
@@ -77,7 +77,7 @@ void mk_draw(bmd_class* i_this) {
if (i_this->m2DC != 0) {
g_env_light.setLightTevColorType(i_this->mpBodyMorf->getModel(), &actor->tevStr);
i_this->mpMakarMorf->entryDL();
i_this->mpMakarFaceModel->setBaseTRMtx(i_this->mpMakarMorf->getModel()->getAnmMtx(1));
i_this->mpMakarFaceModel->setBaseTRMtx(i_this->mpMakarMorf->getModel()->getAnmMtx(CB_JNT_BACKBONE_e));
g_env_light.setLightTevColorType(i_this->mpMakarFaceModel, &actor->tevStr);
mDoExt_modelUpdateDL(i_this->mpMakarFaceModel);
}
@@ -141,7 +141,7 @@ void damage(bmd_class* i_this) {
fopAc_ac_c* actor = &i_this->actor;
cXyz local_40;
cXyz local_4c;
static s32 jno[] = {0x1A, 0x23, 0x2C, 0x35, 0x3E};
static s32 jno[] = {BKM_JNT_HANAA5_e, BKM_JNT_HANAB5_e, BKM_JNT_HANAC5_e, BKM_JNT_HANAD5_e, BKM_JNT_HANAE5_e};
#if VERSION > VERSION_DEMO
s8 bVar1 = false;
@@ -510,7 +510,7 @@ void start(bmd_class* i_this) {
/* 00001B48-00001EFC .text end__FP9bmd_class */
void end(bmd_class* i_this) {
fopAc_ac_c* actor = &i_this->actor;
static s32 jno[] = {0x19, 0x22, 0x2B, 0x34, 0x3D};
static s32 jno[] = {BKM_JNT_HANAA4_e, BKM_JNT_HANAB4_e, BKM_JNT_HANAC4_e, BKM_JNT_HANAD4_e, BKM_JNT_HANAE4_e};
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
i_this->m940 = 0;
@@ -737,7 +737,7 @@ void core_move(bmd_class* i_this) {
if ((int)i_this->mpHeadDeadMorf->getFrame() == 37) {
pJVar7 = dComIfGp_particle_set(dPa_name::ID_AK_SN_BKMCORESIGH00, &actor->current.pos);
if (pJVar7 != NULL) {
pJVar7->setGlobalRTMatrix(i_this->mpHeadDeadMorf->getModel()->getAnmMtx(5));
pJVar7->setGlobalRTMatrix(i_this->mpHeadDeadMorf->getModel()->getAnmMtx(BKM_COA_DEADMODEL_JNT_UWAAGO_e));
}
fopAcM_monsSeStart(actor, JA_SE_CV_BKM_DIE, 0);
}
@@ -789,7 +789,7 @@ void core_move(bmd_class* i_this) {
pJVar11->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->mpHeadMorf->play(&actor->eyePos, 0, 0);
i_this->mpHeadMorf->calc();
MTXCopy(pJVar11->getAnmMtx(6), *calc_mtx);
MTXCopy(pJVar11->getAnmMtx(BKM_COA_JNT_UWAAGO_e), *calc_mtx);
local_40.x = 0.0f;
local_40.y = -20.0f;
local_40.z = 30.0f;
@@ -812,7 +812,7 @@ void core_move(bmd_class* i_this) {
pJVar11->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->mpHeadDeadMorf->play(&actor->eyePos, 0, 0);
i_this->mpHeadDeadMorf->calc();
MTXCopy(pJVar11->getAnmMtx(REG0_S(4) + 1), *calc_mtx);
MTXCopy(pJVar11->getAnmMtx(REG0_S(4) + (s16)BKM_COA_DEADMODEL_JNT_KOUTOUBU_e), *calc_mtx);
local_40.z = 0.0f;
local_40.y = 0.0f;
local_40.x = 0.0f;
+7 -7
View File
@@ -101,7 +101,7 @@ void housi_off(bmdfoot_class* i_this) {
void wait(bmdfoot_class* i_this) {
fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->actor;
cXyz local_98;
static int eff_id[] = {0x0A, 0x0C, 0x11};
static int eff_id[] = {ASI_JNT_ASI11_e, ASI_JNT_ASI13_e, ASI_JNT_ASI18_e};
int frame = i_this->mpBodyVineMorf->getFrame();
local_98.setall(0.0f);
@@ -175,8 +175,8 @@ void attack_1(bmdfoot_class* i_this) {
fopAc_ac_c* actor = (fopAc_ac_c*)&i_this->actor;
cXyz local_5c;
cXyz cStack_68;
static int jno[] = {0x0A, 0x0C, 0x11};
static int col_joint[] = {0x01, 0x03, 0x05, 0x07, 0x09};
static int jno[] = {ASI_JNT_ASI11_e, ASI_JNT_ASI13_e, ASI_JNT_ASI18_e};
static int col_joint[] = {ASI_JNT_ASI2_e, ASI_JNT_ASI4_e, ASI_JNT_ASI6_e, ASI_JNT_ASI8_e, ASI_JNT_ASI10_e};
bool bVar2 = false;
local_5c.setall(0.0f);
@@ -329,7 +329,7 @@ void attack_2(bmdfoot_class* i_this) {
J3DAnmTransform* pBck;
cXyz local_3c;
cXyz local_48;
static int col_joint[] = {0x11, 0x0F, 0x0C, 0x09};
static int col_joint[] = {ASI_JNT_ASI18_e, ASI_JNT_ASI16_e, ASI_JNT_ASI13_e, ASI_JNT_ASI10_e};
local_3c.z = 0.0f;
local_3c.y = 0.0f;
@@ -350,7 +350,7 @@ void attack_2(bmdfoot_class* i_this) {
break;
case 2:
if ((int)i_this->mpBodyVineMorf->getFrame() == 49) {
MTXCopy(i_this->mpBodyVineMorf->getModel()->getAnmMtx(0x11), *calc_mtx);
MTXCopy(i_this->mpBodyVineMorf->getModel()->getAnmMtx(ASI_JNT_ASI18_e), *calc_mtx);
MtxPosition(&local_3c, &local_48);
dComIfGp_particle_setSimple(dPa_name::ID_AK_SN_O_BKMSATTACKHOUSHI00, &local_48, 0xFF, g_whiteColor, g_whiteColor, 0);
dComIfGp_particle_setSimple(dPa_name::ID_AK_SN_O_BKMSATTACKSOIL00, &local_48, 0xFF, g_whiteColor, g_whiteColor, 0);
@@ -441,7 +441,7 @@ void attack_2(bmdfoot_class* i_this) {
i_this->m2BC = 0;
}
}
MTXCopy(i_this->mpBodyVineMorf->getModel()->getAnmMtx(4), *calc_mtx);
MTXCopy(i_this->mpBodyVineMorf->getModel()->getAnmMtx(ASI_JNT_ASI5_e), *calc_mtx);
MtxPosition(&local_3c, &local_48);
i_this->mSph[4].SetC(local_48);
i_this->mSph[4].SetR(50.0f);
@@ -632,7 +632,7 @@ static BOOL daBmdfoot_Execute(bmdfoot_class* i_this) {
sVar1 = sVar1 % 30;
}
i_this->btk->setFrame(sVar1);
MTXCopy(model->getAnmMtx(REG14_S(6) + 0x10), *calc_mtx);
MTXCopy(model->getAnmMtx(REG14_S(6) + (s16)ASI_JNT_ASI17_e), *calc_mtx);
local_68.z = 0.0f;
local_68.y = 0.0f;
local_68.x = 0.0f;
+4 -1
View File
@@ -6,6 +6,7 @@
#include "d/dolzel_rel.h" // IWYU pragma: keep
#include "d/actor/d_a_bmdhand.h"
#include "d/d_s_play.h"
#include "res/Object/Bmd.h"
#include "res/Object/Bmdhand.h"
#include "d/actor/d_a_bmd.h"
#include "d/d_cc_d.h"
@@ -34,7 +35,9 @@ static bmd_class* boss;
static bool hio_set;
static daBmdhand_HIO_c l_HIO;
static int boss_joint_d[] = {0x1C, 0x1C, 0x1C, 0x1C, 0x25, 0x25, 0x25, 0x25, 0x2E, 0x2E, 0x2E, 0x2E, 0x40, 0x40, 0x40, 0x40, 0x37, 0x37, 0x37, 0x37};
static int boss_joint_d[] = {BKM_JNT_HANAA7_e, BKM_JNT_HANAA7_e, BKM_JNT_HANAA7_e, BKM_JNT_HANAA7_e, BKM_JNT_HANAB7_e, BKM_JNT_HANAB7_e, BKM_JNT_HANAB7_e,
BKM_JNT_HANAB7_e, BKM_JNT_HANAC7_e, BKM_JNT_HANAC7_e, BKM_JNT_HANAC7_e, BKM_JNT_HANAC7_e, BKM_JNT_HANAE7_e, BKM_JNT_HANAE7_e,
BKM_JNT_HANAE7_e, BKM_JNT_HANAE7_e, BKM_JNT_HANAD7_e, BKM_JNT_HANAD7_e, BKM_JNT_HANAD7_e, BKM_JNT_HANAD7_e};
static f32 boss_joint_xad[] = {60.0f, 20.0f, -20.0f, -60.0f};
/* 00000118-000001CC .text hand_draw__FP13bmdhand_class */
+1 -1
View File
@@ -995,7 +995,7 @@ cPhs_State daBoko_c::create() {
mStts.Init(10, 0xff, this);
if (type == Type_BOKO_STICK_e) {
mpModel->getModelData()->getJointNodePointer(2)->getMesh()->getShape()->hide();
mpModel->getModelData()->getJointNodePointer(BOKO_JNT_CL_BOKOPIECEA_e)->getMesh()->getShape()->hide();
}
mSph.Set(sph_src);
mSph.SetStts(&mStts);
+18 -14
View File
@@ -66,10 +66,12 @@ static BOOL body_nodeCallBack(J3DNode* node, int calcTiming) {
J3DModel* model = j3dSys.getModel();
bpw_class* i_this = (bpw_class*)model->getUserArea();
if (i_this != NULL) {
if ((((jntNo == 0) || (jntNo == 2)) || (jntNo - 0x1d <= (u32)1)) || (jntNo == 0x25)) {
if (jntNo == BPW_JNT_BPW_ALLROOT_e || jntNo == BPW_JNT_J_BPW_KOSI1_e || jntNo == BPW_JNT_J_BPW_UDE_R3_e || jntNo == BPW_JNT_J_BPW_ITEM_e ||
jntNo == BPW_JNT_J_BPW_AGO1_e)
{
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
}
if (jntNo == 0) {
if (jntNo == BPW_JNT_BPW_ALLROOT_e) {
local_28.x = 0.0f;
local_28.y = i_this->m4A0;
local_28.z = 0.0f;
@@ -79,31 +81,33 @@ static BOOL body_nodeCallBack(J3DNode* node, int calcTiming) {
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->m370);
}
if (jntNo == 2) {
if (jntNo == BPW_JNT_J_BPW_KOSI1_e) {
local_28.x = 0.0f;
local_28.y = 0.0f;
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->m394);
}
if (jntNo == 0x1d) {
if (jntNo == BPW_JNT_J_BPW_UDE_R3_e) {
local_28.x = 0.0f;
local_28.y = 0.0f;
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->m3B8);
}
if (jntNo == 0x1e) {
if (jntNo == BPW_JNT_J_BPW_ITEM_e) {
local_28.x = 0.0f;
local_28.y = 0.0f;
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->mChildActorPos);
}
if (jntNo == 0x25) {
if (jntNo == BPW_JNT_J_BPW_AGO1_e) {
local_28.x = 0.0f;
local_28.y = 0.0f;
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->m3C4);
}
if (((jntNo == 0) || (jntNo == 2)) || (jntNo - 0x1d <= (u32)1 || (jntNo == 0x25))) {
if (jntNo == BPW_JNT_BPW_ALLROOT_e || jntNo == BPW_JNT_J_BPW_KOSI1_e || jntNo == BPW_JNT_J_BPW_UDE_R3_e || jntNo == BPW_JNT_J_BPW_ITEM_e ||
jntNo == BPW_JNT_J_BPW_AGO1_e)
{
model->setAnmMtx(jntNo, *calc_mtx);
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
}
@@ -121,10 +125,10 @@ static BOOL kantera_nodeCallBack(J3DNode* node, int calcTiming) {
J3DModel* model = j3dSys.getModel();
bpw_class* i_this = (bpw_class*)model->getUserArea();
if (i_this != NULL) {
if ((jntNo == 0) || (jntNo == 1)) {
if ((jntNo == BPW_KAN1_JNT_TOTTE_e) || (jntNo == BPW_KAN1_JNT_KANTERA_e)) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
}
if (jntNo == 1) {
if (jntNo == BPW_KAN1_JNT_KANTERA_e) {
cMtx_YrotM(*calc_mtx, i_this->mKanteraDousaRot.y);
cMtx_XrotM(*calc_mtx, i_this->mKanteraDousaRot.x);
cMtx_ZrotM(*calc_mtx, i_this->mKanteraDousaRot.z);
@@ -133,7 +137,7 @@ static BOOL kantera_nodeCallBack(J3DNode* node, int calcTiming) {
local_28.z = 0.0f;
MtxPosition(&local_28, &i_this->m358);
}
if ((jntNo == 0) || (jntNo == 1)) {
if ((jntNo == BPW_KAN1_JNT_TOTTE_e) || (jntNo == BPW_KAN1_JNT_KANTERA_e)) {
model->setAnmMtx(jntNo, *calc_mtx);
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
}
@@ -1339,13 +1343,13 @@ void action_kougeki(bpw_class* i_this) {
}
#else
if (i_this->m540.getEmitter() != NULL) {
i_this->m540.getEmitter()->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
i_this->m540.getEmitter()->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPW_JNT_J_BPW_KOSI1_e));
}
#endif
if (i_this->mSomeCountdownTimers[1] == 0) {
JPABaseEmitter* emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPWINHALE00, &i_this->m394, &actor->shape_angle);
if (emitter != NULL) {
emitter->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
emitter->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPW_JNT_J_BPW_KOSI1_e));
}
i_this->mSomeCountdownTimers[1] = 6;
}
@@ -1412,11 +1416,11 @@ void action_kougeki(bpw_class* i_this) {
search_get_skull(i_this, 1);
#if VERSION == VERSION_DEMO
if (i_this->m50C_demo != NULL) {
i_this->m50C_demo->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
i_this->m50C_demo->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPW_JNT_J_BPW_KOSI1_e));
}
#else
if (i_this->m52C.getEmitter() != NULL) {
i_this->m52C.getEmitter()->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2));
i_this->m52C.getEmitter()->setGlobalSRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPW_JNT_J_BPW_KOSI1_e));
}
#endif
i_this->mFire1DousaPos = actor->current.pos;
+19 -19
View File
@@ -129,13 +129,13 @@ static BOOL nodeCallBackHead(J3DNode* node, int calcTiming) {
if (i_this != NULL) {
MtxP mtx = model->getAnmMtx(jnt_no);
cMtx_copy(mtx, *calc_mtx);
if (jnt_no == 9) {
if (jnt_no == BST_JNT_MABURTAR1_e) {
cMtx_YrotM(*calc_mtx, -i_this->m2E78[1]);
} else if (jnt_no == 12) {
} else if (jnt_no == BST_JNT_MABUTAR2_e) {
cMtx_YrotM(*calc_mtx, i_this->m2E78[1]);
} else if (jnt_no == 10) {
} else if (jnt_no == BST_JNT_MABUTAL1_e) {
cMtx_YrotM(*calc_mtx, -i_this->m2E78[0]);
} else if (jnt_no == 11) {
} else if (jnt_no == BST_JNT_MABUTAL2_e) {
cMtx_YrotM(*calc_mtx, i_this->m2E78[0]);
}
model->setAnmMtx(jnt_no, *calc_mtx);
@@ -184,7 +184,7 @@ static BOOL daBst_Draw(bst_class* i_this) {
for (u16 i = 0; i < model_2B8->getModelData()->getWEvlpMtxNum(); i++) {
model_388->setWeightAnmMtx(i, model_2B8->getWeightAnmMtx(i));
}
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(0);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e);
cMtx_copy(mtx, *calc_mtx);
temp.setall(0.0f);
MtxPosition(&temp, &shadow_pos);
@@ -928,7 +928,7 @@ static void beam_set(bst_class* i_this) {
continue;
}
i_this->m04E4[i] = 1;
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(REG0_S(5) + 3);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(REG0_S(5) + (s16)BST_JNT_BUKI2_e);
cMtx_copy(mtx, *calc_mtx);
cXyz vec(0.0f, 0.0f, 0.0f);
MtxPosition(&vec, &i_this->m03B8[i]);
@@ -1028,7 +1028,7 @@ static void beam_attack(bst_class* i_this) {
for (s32 i = 0; i < 2; i++) {
JPABaseEmitter* emitter = i_this->m2ED8[i];
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(0));
emitter->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e));
}
}
}
@@ -1262,7 +1262,7 @@ static void head_damage(bst_class* i_this) {
i_this->m2EE0[i]->becomeInvalidEmitter();
i_this->m2EE0[i] = NULL;
} else {
i_this->m2EE0[i]->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(0));
i_this->m2EE0[i]->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e));
}
}
}
@@ -1310,7 +1310,7 @@ static void col_set(bst_class* i_this) {
cXyz vec;
cXyz pos_vec;
if (i_this->mBstPartType == bst_class::Type_HEAD_e) {
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(8);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_KUTI_e);
cMtx_copy(mtx, *calc_mtx);
vec.x = REG0_F(0) + (-30.0f);
vec.y = REG0_F(1);
@@ -1333,7 +1333,7 @@ static void col_set(bst_class* i_this) {
MtxPosition(&vec, &actor->eyePos);
vec.setall(0.0f);
for (s32 i = 0; i < 2; i++) {
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(i + 4);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(i + BST_JNT_EYEL_e);
cMtx_copy(mtx, *calc_mtx);
MtxPosition(&vec, &pos_vec);
if (i_this->m2E74[i] != 0 || i_this->mEyeHealth[i] <= 0) {
@@ -1575,12 +1575,12 @@ static void hana_demo(bst_class* i_this) {
int itemNo;
if (dComIfGs_getArrowNum() == 0) {
itemNo = dItemNo_ARROW_10_e;
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(6);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HANAL_e);
cMtx_copy(mtx, *calc_mtx);
i_this->m2E9E = 0;
} else {
itemNo = dItemNo_BOMB_5_e;
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(7);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HANAR_e);
cMtx_copy(mtx, *calc_mtx);
i_this->m2E9E = 1;
}
@@ -1591,7 +1591,7 @@ static void hana_demo(bst_class* i_this) {
MtxPosition(&vec, &pos_vec);
i_this->mCreatedItemId = fopAcM_createItem(&pos_vec, itemNo, -1, fopAcM_GetRoomNo(actor), 0, NULL, 0xB, NULL);
mDoAud_seStart(JA_SE_CM_BST_ITEM_OUT_NOSE, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(0);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e);
cMtx_copy(mtx, *calc_mtx);
vec.setall(0.0f);
MtxPosition(&vec, &pos_vec);
@@ -1624,7 +1624,7 @@ static void end_demo(bst_class* i_this) {
i_this->mDamage++;
i_this->m2EF4 = dComIfGp_particle_set(dPa_name::ID_AK_SN_BSTHALO00, &actor->current.pos);
if (i_this->m2EF4 != NULL) {
i_this->m2EF4->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(0));
i_this->m2EF4->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e));
}
break;
case 3:
@@ -1653,7 +1653,7 @@ static void end_demo(bst_class* i_this) {
i_this->m2EE0[i + 1]->becomeInvalidEmitter();
i_this->m2EE0[i + 1] = NULL;
} else {
i_this->m2EE0[i + 1]->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(0));
i_this->m2EE0[i + 1]->setGlobalRTMatrix(i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e));
}
}
}
@@ -2497,7 +2497,7 @@ void demo_camera(bst_class* i_this) {
#endif
}
if ((s32)i_this->m02B8->getFrame() == 26) {
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(7);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HANAR_e);
cMtx_copy(mtx, *calc_mtx);
spB0.set(REG0_F(2) + 60.0f, REG0_F(3), REG0_F(4));
mDoAud_seStart(JA_SE_OBJ_BOMB_EXPLODE, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
@@ -2507,7 +2507,7 @@ void demo_camera(bst_class* i_this) {
item_angle.y += (s16)(REG0_S(7) + -300);
i_this->mCreatedItemId = fopAcM_createItemForBoss(&spA4, 0, fopAcM_GetRoomNo(actor), &item_angle, &item_scale, 1);
mDoAud_seStart(JA_SE_CM_BST_ITEM_OUT_NOSE, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
MtxP mtx2 = i_this->m02B8->getModel()->getAnmMtx(0);
MtxP mtx2 = i_this->m02B8->getModel()->getAnmMtx(BST_JNT_HEAD_e);
cMtx_copy(mtx2, *calc_mtx);
spB0.set(0.0f, 0.0f, 0.0f);
MtxPosition(&spB0, &spA4);
@@ -2765,7 +2765,7 @@ static BOOL daBst_Execute(bst_class* i_this) {
for (i = 0; i < 2; i++) {
fopAc_ac_c* att_actor = (fopAc_ac_c*)fopAcM_SearchByID(i_this->m2E90[i]);
if (att_actor != NULL) {
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(i + 4);
MtxP mtx = i_this->m02B8->getModel()->getAnmMtx(i + BST_JNT_EYEL_e);
cMtx_copy(mtx, *calc_mtx);
MtxPosition(&vec, &att_actor->current.pos);
att_actor->max_health = 2;
@@ -2844,7 +2844,7 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
}
if (i_this->mBstPartType == bst_class::Type_HEAD_e) {
for (u16 i = 0; i < i_this->m02B8->getModel()->getModelData()->getJointNum(); i++) {
if (i >= 9 && i <= 12) {
if (i >= BST_JNT_MABURTAR1_e && i <= BST_JNT_MABUTAR2_e) {
i_this->m02B8->getModel()->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBackHead);
}
}
+45 -11
View File
@@ -587,7 +587,20 @@ static s32 damage(btd_class* i_this)
dPa_name::ID_AK_SN_BTDBREAKSHELLBODY,
dPa_name::ID_AK_SN_BTDBREAKSHELLBODY
};
static s32 hahen_eff_index[] = {0x2E, 0x21, 0x24, 0x42, 0x31, 0x27, 0x2A, 0x46, 0x37, 0x20, 0x2D, 0x34};
static s32 hahen_eff_index[] = {
BTD_JNT_ASIL11_e,
BTD_JNT_ASIL21_e,
BTD_JNT_ASIL31_e,
BTD_JNT_UDEL2_e,
BTD_JNT_ASIR11_e,
BTD_JNT_ASIR21_e,
BTD_JNT_ASIR31_e,
BTD_JNT_UDER2_e,
BTD_JNT_HEAD_e,
BTD_JNT_MUNE1_e,
BTD_JNT_MUNE2_e,
BTD_JNT_MUNE3_e
};
fopAc_ac_c* actor = &i_this->actor;
cXyz local_58;
@@ -677,7 +690,7 @@ static s32 damage(btd_class* i_this)
for (int i = 0, j = 0; i < 3; i++, j++) {
JPABaseEmitter* emitter = dComIfGp_particle_set(hibi_eff_name[j], &actor->current.pos);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(morf->getModel()->getAnmMtx(0x37));
emitter->setGlobalRTMatrix(morf->getModel()->getAnmMtx(BTD_JNT_HEAD_e));
}
}
if (l_HIO.m06 != 0) {
@@ -859,7 +872,28 @@ static void end(btd_class* i_this) {
dPa_name::ID_AK_SN_BTDBREAKDOWNARMR,
dPa_name::ID_AK_SN_BTDBREAKDOWNARMR
};
static s32 last_eff_index[] = {0x20, 0x2D, 0x34, 0x42, 0x43, 0x2E, 0x2F, 0x21, 0x22, 0x24, 0x25, 0x46, 0x47, 0x31, 0x32, 0x27, 0x28, 0x2A, 0x2B};
static s32 last_eff_index[] = {
SOTAI_JNT_MUNE1_e,
SOTAI_JNT_MUNE2_e,
SOTAI_JNT_MUNE3_e,
SOTAI_JNT_UDEL2_e,
SOTAI_JNT_UDEL3_e,
SOTAI_JNT_ASIL11_e,
SOTAI_JNT_ASHIL12_e,
SOTAI_JNT_ASIL21_e,
SOTAI_JNT_ASIL22_e,
SOTAI_JNT_ASIL31_e,
SOTAI_JNT_ASIL32_e,
SOTAI_JNT_UDER2_e,
SOTAI_JNT_UDER3_e,
SOTAI_JNT_ASIR11_e,
SOTAI_JNT_ASIR12_e,
SOTAI_JNT_ASIR21_e,
SOTAI_JNT_ASIR22_e,
SOTAI_JNT_ASIR31_e,
SOTAI_JNT_ASIR32_e
};
fopAc_ac_c* actor = &i_this->actor;
J3DModel* model;
f32 fVar13;
@@ -1030,7 +1064,7 @@ static void end(btd_class* i_this) {
i_this->m6E74.z += REG0_S(4) + 0x5dc;
kubi_calc(i_this);
if (i_this->m6038 != NULL) {
i_this->m6038->setGlobalRTMatrix(i_this->mpDeadHeadMorf->getModel()->getAnmMtx(0));
i_this->m6038->setGlobalRTMatrix(i_this->mpDeadHeadMorf->getModel()->getAnmMtx(NAMAKUBI_JNT_CENT_e));
}
break;
case 0x36:
@@ -1485,7 +1519,7 @@ static void fire_attack(btd_class* i_this) {
if (i_this->m02EC[0] <= 1) {
i_this->mKankyoState = 2;
mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
MTXCopy(morf->getModel()->getAnmMtx(0x3a), *calc_mtx);
MTXCopy(morf->getModel()->getAnmMtx(BTD_JNT_KUTI_e), *calc_mtx);
local_2c.x = 0.0f;
local_2c.y = i_this->m5E80 * -200.0f;
local_2c.z = i_this->m5E80 * 1000.0f;
@@ -1568,7 +1602,7 @@ static void up_fire_attack(btd_class* i_this) {
if (i_this->m02EC[0] == 0) {
i_this->mKankyoState = 2;
mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
MTXCopy(morf->getModel()->getAnmMtx(0x3a), *calc_mtx);
MTXCopy(morf->getModel()->getAnmMtx(BTD_JNT_KUTI_e), *calc_mtx);
local_2c.x = 0.0f;
local_2c.y = i_this->m5E80 * -200.0f;
local_2c.z = i_this->m5E80 * 1000.0f;
@@ -1640,7 +1674,7 @@ static void yoko_fire_attack(btd_class* i_this) {
if (i_this->m02EC[0] == 0) {
i_this->mKankyoState = 2;
mDoAud_seStart(JA_SE_CM_BTD_HIFUKI, &actor->eyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
MTXCopy(morf->getModel()->getAnmMtx(0x3a), *calc_mtx);
MTXCopy(morf->getModel()->getAnmMtx(BTD_JNT_KUTI_e), *calc_mtx);
local_2c.x = 0.0f;
local_2c.y = i_this->m5E80 * -200.0f;
local_2c.z = i_this->m5E80 * 1000.0f;
@@ -2249,7 +2283,7 @@ static f32 at_size[] = {
/* 000072BC-00007608 .text btd_effect__FP9btd_class */
static void btd_effect(btd_class* i_this) {
static s32 eff_index[] = {0x43, 0x47, 0x20, 0x2D, 0x34};
static s32 eff_index[] = {BTD_JNT_UDEL3_e, BTD_JNT_UDER3_e, BTD_JNT_MUNE1_e, BTD_JNT_MUNE2_e, BTD_JNT_MUNE3_e};
static u16 eff_name[] = {
dPa_name::ID_AK_SN_ARMFIRECHIP,
dPa_name::ID_AK_SN_ARMFIRECHIP,
@@ -2295,12 +2329,12 @@ static void btd_effect(btd_class* i_this) {
if (i_this->m600C[i] != NULL) {
if (i >= 4) {
if (i_this->m02EA != 0) {
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(0x48));
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(BTD_JNT_UDER4BUKI_e));
} else {
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(0x44));
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(BTD_JNT_UDEL4BUKI_e));
}
} else {
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(0x3a));
i_this->m600C[i]->setGlobalRTMatrix(morf->getModel()->getAnmMtx(BTD_JNT_KUTI_e));
}
} else if (i == 6) {
userID = dPa_name::ID_AK_ST_BTDCLAWSMOKEL00;
+14 -4
View File
@@ -594,7 +594,7 @@ void sita_hit(bwd_class* i_this) {
i_this->m3964->becomeInvalidEmitter();
i_this->m3964 = NULL;
} else {
i_this->m3964->setGlobalRTMatrix(i_this->mpHeadMorf->getModel()->getAnmMtx(0xe));
i_this->m3964->setGlobalRTMatrix(i_this->mpHeadMorf->getModel()->getAnmMtx(BWD_JNT_HEAD_e));
}
}
i_this->m1BB6 = 1;
@@ -1058,7 +1058,7 @@ void end(bwd_class* i_this) {
i_this->m3968->becomeInvalidEmitter();
i_this->m3968 = NULL;
} else {
i_this->m3968->setGlobalRTMatrix(i_this->mpHeadMorf->getModel()->getAnmMtx(0xe));
i_this->m3968->setGlobalRTMatrix(i_this->mpHeadMorf->getModel()->getAnmMtx(BWD_JNT_HEAD_e));
}
}
if ((int)i_this->mpHeadMorf->getFrame() == 30) {
@@ -1198,7 +1198,7 @@ void control1(bwd_class* i_this) {
cXyz local_11c;
cXyz local_128;
MTXCopy(i_this->mpHeadMorf->getModel()->getAnmMtx(0x1d), *calc_mtx);
MTXCopy(i_this->mpHeadMorf->getModel()->getAnmMtx(BWD_JNT_SITA_e), *calc_mtx);
local_104.set(REG0_F(2) + -50.0f, REG0_F(3), REG0_F(4));
MtxPosition(&local_104, &i_this->mTongueSegments[0].m04);
int i = 1;
@@ -1863,7 +1863,17 @@ void bwd_kankyo(bwd_class* i_this) {
/* 000074A4-00008C24 .text daBwd_Execute__FP9bwd_class */
static BOOL daBwd_Execute(bwd_class* i_this) {
static int jno[] = {0x10, 0x12, 0x13, 0x17, 0x19, 0x1A, 0x04, 0x07, 0x0B};
static int jno[] = {
BWD_JNT_KUTIL2_e,
BWD_JNT_KUTIL3_e,
BWD_JNT_KUTIL4_e,
BWD_JNT_KUTIR2_e,
BWD_JNT_KUTIR3_e,
BWD_JNT_KUTIR4_e,
BWD_JNT_HIP_e,
BWD_JNT_HIREL3_e,
BWD_JNT_HIRER3_e
};
static f32 jsize[] = {180.0f, 120.0f, 90.0f, 180.0f, 120.0f, 90.0f, 230.0f, 150.0f, 150.0f};
static s16 demo_ang[] = {0x3E80, 0xBB80};
int i;
+3 -9
View File
@@ -14,19 +14,13 @@
#include "res/Object/Bwd.h"
#include "d/actor/d_a_player.h"
enum ActionStatus {
enum Action {
ACTION_UG_MOVE = 0,
ACTION_HOOK_ON = 1,
ACTION_HOOK_CHANCE = 2,
ACTION_FAIL = 5,
};
enum KOBOSS_HEAD_JOINT {
JNT_KUBI,
JNT_AGO,
JNT_HEAD,
};
static GXColor eff_col;
static u8 hio_set;
static daBwds_HIO_c l_HIO;
@@ -95,7 +89,7 @@ static void body_control(bwds_class* i_this) {
f32 fVar1 = 0.0f;
f32 fVar4;
J3DModel* model = i_this->mpMorf->getModel();
MTXCopy(model->getAnmMtx(JNT_HEAD), *calc_mtx);
MTXCopy(model->getAnmMtx(KOBOSS_HEAD_JNT_HEAD_e), *calc_mtx);
cXyz vec1((REG0_F(0) + 60.0f) * l_HIO.m008, REG0_F(1), REG0_F(2));
cXyz vec2;
cXyz vec3;
@@ -657,7 +651,7 @@ static BOOL daBwds_Execute(bwds_class* i_this) {
pJVar8->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->mpMorf->calc();
MTXCopy(pJVar8->getAnmMtx(JNT_HEAD), *calc_mtx);
MTXCopy(pJVar8->getAnmMtx(KOBOSS_HEAD_JNT_HEAD_e), *calc_mtx);
local_bc.set(REG0_F(0), REG0_F(1), REG0_F(2));
MtxPosition(&local_bc, &actor->eyePos);
+52 -30
View File
@@ -27,30 +27,30 @@ static int target_info_count;
static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 iVar4 = joint->getJntNo();
J3DModel* pJVar2 = j3dSys.getModel();
cc_class* pvVar4 = (cc_class*)pJVar2->getUserArea();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
cc_class* i_this = (cc_class*)model->getUserArea();
if (pvVar4 != NULL) {
if (iVar4 == 0) {
MTXCopy(pJVar2->getAnmMtx(iVar4), *calc_mtx);
cMtx_ZrotM(*calc_mtx, pvVar4->m3BA);
pJVar2->setAnmMtx(iVar4, *calc_mtx);
if (i_this != NULL) {
if (jntNo == CC_JNT_CENTER_e) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_ZrotM(*calc_mtx, i_this->m3BA);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
if (iVar4 <= 3) {
MTXCopy(pJVar2->getAnmMtx(iVar4), *calc_mtx);
f32 fVar1 = iVar4 * 0.5f;
cMtx_YrotM(*calc_mtx, pvVar4->m310.y * fVar1);
cMtx_XrotM(*calc_mtx, pvVar4->m310.x * fVar1);
cMtx_ZrotM(*calc_mtx, pvVar4->m310.z * fVar1);
if (jntNo <= CC_JNT_BODY03_e) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
f32 fVar1 = jntNo * 0.5f;
cMtx_YrotM(*calc_mtx, i_this->m310.y * fVar1);
cMtx_XrotM(*calc_mtx, i_this->m310.x * fVar1);
cMtx_ZrotM(*calc_mtx, i_this->m310.z * fVar1);
if (iVar4 == 3) {
if (jntNo == CC_JNT_BODY03_e) {
cXyz sp08(0.0f, 0.0f, 0.0f);
MtxPosition(&sp08, &pvVar4->m470);
MtxPosition(&sp08, &i_this->m470);
}
pJVar2->setAnmMtx(iVar4, *calc_mtx);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
@@ -2177,7 +2177,7 @@ static BOOL daCC_Execute(cc_class* i_this) {
if (i_this->mColorType == 2 || i_this->mColorType == 4) {
#if VERSION > VERSION_DEMO
MtxP mtx = i_this->m2B4->getModel()->getAnmMtx(3);
MtxP mtx = i_this->m2B4->getModel()->getAnmMtx(CC_JNT_BODY03_e);
i_this->m3A4.x = mtx[0][3];
i_this->m3A4.y = mtx[1][3];
i_this->m3A4.z = mtx[2][3];
@@ -2223,19 +2223,19 @@ static BOOL daCC_Execute(cc_class* i_this) {
case 2:
#if VERSION == VERSION_DEMO
if (i_this->mpEmitter1 != NULL) {
i_this->mpEmitter1->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(3));
i_this->mpEmitter1->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(CC_JNT_BODY03_e));
}
if (i_this->mpEmitter2 != NULL) {
i_this->mpEmitter2->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(3));
i_this->mpEmitter2->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(CC_JNT_BODY03_e));
}
#else
if (i_this->m368.getEmitter() != NULL) {
i_this->m368.getEmitter()->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(3));
i_this->m368.getEmitter()->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(CC_JNT_BODY03_e));
}
if (i_this->m37C.getEmitter() != NULL) {
i_this->m37C.getEmitter()->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(3));
i_this->m37C.getEmitter()->setGlobalRTMatrix(i_this->m2B4->getModel()->getAnmMtx(CC_JNT_BODY03_e));
}
#endif
@@ -2551,15 +2551,12 @@ static cPhs_State daCC_Create(fopAc_ac_c* a_this) {
}},
};
static s8 fire_j[] = {0, 1, 2, 3, 4, 5, -1, -1, -1, -1};
static f32 fire_sc[] = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f};
cc_class* i_this = (cc_class*)a_this;
fopAcM_ct(a_this, cc_class);
cPhs_State PVar3 = dComIfG_resLoad(&i_this->mPhase, "CC");
if (PVar3 == cPhs_COMPLEATE_e) {
cPhs_State res = dComIfG_resLoad(&i_this->mPhase, "CC");
if (res == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x47a0)) {
return cPhs_ERROR_e;
}
@@ -2679,7 +2676,32 @@ static cPhs_State daCC_Create(fopAc_ac_c* a_this) {
i_this->mEnemyFire.mpMcaMorf = i_this->m2B4;
i_this->mEnemyFire.mpActor = a_this;
for (s32 i = 0; i < ARRAY_SSIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
CC_JNT_CENTER_e,
CC_JNT_BODY01_e,
CC_JNT_BODY02_e,
CC_JNT_BODY03_e,
CC_JNT_DODAI_e,
CC_JNT_PETA_e,
0xFF,
0xFF,
0xFF,
0xFF
};
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
1.0f, // CC_JNT_CENTER_e
1.0f, // CC_JNT_BODY01_e
1.0f, // CC_JNT_BODY02_e
1.0f, // CC_JNT_BODY03_e
1.0f, // CC_JNT_DODAI_e
1.0f, // CC_JNT_PETA_e
1.0f,
1.0f,
1.0f,
1.0f
};
for (int i = 0; i < ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
}
@@ -2698,7 +2720,7 @@ static cPhs_State daCC_Create(fopAc_ac_c* a_this) {
i_this->m2F5 = 0x3c;
i_this->m2B4->getModel()->setBaseTRMtx(i_this->m7EC);
draw_SUB(i_this);
return PVar3;
return res;
}
i_this->m340 = a_this->current.angle.z * 10.0f;
@@ -2743,7 +2765,7 @@ static cPhs_State daCC_Create(fopAc_ac_c* a_this) {
i_this->actor.setBtAttackData(0.0f, 10.0f, REG8_F(6) + 500.0f, fopEn_enemy_c::OPENING_JUMP_PARRY);
i_this->actor.setBtNowFrame(1000.0f);
}
return PVar3;
return res;
}
static actor_method_class l_daCC_Method = {
+37 -37
View File
@@ -197,35 +197,35 @@ void daDaiocta_c::_nodeControl(J3DNode* i_nodeP, J3DModel* i_modelP) {
cXyz base;
switch (jnt_no) {
case 30:
case DO_MAIN1_JNT_J_DO_TE_L6_e:
base.set(450.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21A0);
break;
case 36:
case DO_MAIN1_JNT_J_DO_TE_R6_e:
base.set(450.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21AC);
break;
case 20:
case DO_MAIN1_JNT_J_DO_KUTI2_e:
base.set(l_HIO.m094, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m2434);
break;
case 6:
case DO_MAIN1_JNT_J_DO_BODY5_e:
base.set(450.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21B8);
break;
case 9:
case DO_MAIN1_JNT_J_DO_HIRE_L1_e:
base.set(300.0f, -200.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21C4);
break;
case 7:
case DO_MAIN1_JNT_J_DO_HIRE_L2_e:
base.set(300.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21D0);
break;
case 10:
case DO_MAIN1_JNT_J_DO_HIRE_R1_e:
base.set(300.0f, 200.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21DC);
break;
case 8:
case DO_MAIN1_JNT_J_DO_HIRE_R2_e:
base.set(300.0f, 0.0f, 0.0f);
mDoMtx_stack_c::multVec(&base, &m21E8);
break;
@@ -384,103 +384,103 @@ BOOL daDaiocta_c::createArrowHitHeap() {
static __jnt_hit_data_c search_data[17] = {
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 2,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_BODY1_e,
/* mRadius */ 550.0f,
/* mpOffsets */ body_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 3,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_BODY2_e,
/* mRadius */ 450.0f,
/* mpOffsets */ body_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 4,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_BODY3_e,
/* mRadius */ 400.0f,
/* mpOffsets */ body_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 5,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_BODY4_e,
/* mRadius */ 300.0f,
/* mpOffsets */ body_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 6,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_BODY5_e,
/* mRadius */ 200.0f,
/* mpOffsets */ body_top_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 7,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_HIRE_L2_e,
/* mRadius */ 150.0f,
/* mpOffsets */ body_top_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 8,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_HIRE_R2_e,
/* mRadius */ 150.0f,
/* mpOffsets */ body_top_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 9,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_HIRE_L1_e,
/* mRadius */ 100.0f,
/* mpOffsets */ hire_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 10,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_HIRE_R1_e,
/* mRadius */ 100.0f,
/* mpOffsets */ hire_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 30,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_L6_e,
/* mRadius */ 40.0f,
/* mpOffsets */ te_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 29,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_L5_e,
/* mRadius */ 40.0f,
/* mpOffsets */ ude_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 28,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_L4_e,
/* mRadius */ 40.0f,
/* mpOffsets */ ude_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 27,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_L3_e,
/* mRadius */ 40.0f,
/* mpOffsets */ ude_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 36,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_R6_e,
/* mRadius */ 40.0f,
/* mpOffsets */ te_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 35,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_R5_e,
/* mRadius */ 40.0f,
/* mpOffsets */ te_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 34,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_R4_e,
/* mRadius */ 40.0f,
/* mpOffsets */ ude_cyl_offset
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 33,
/* mJointIndex */ DO_MAIN1_JNT_J_DO_TE_R3_e,
/* mRadius */ 40.0f,
/* mpOffsets */ ude_cyl_offset
}
@@ -1605,18 +1605,18 @@ void daDaiocta_c::createInit() {
attention_info.flags = 0;
shape_angle = current.angle;
mAnmMtxIndices[0] = 21;
mAnmMtxIndices[1] = 22;
mAnmMtxIndices[2] = 15;
mAnmMtxIndices[3] = 23;
mAnmMtxIndices[4] = 24;
mAnmMtxIndices[5] = 16;
mAnmMtxIndices[6] = 17;
mAnmMtxIndices[7] = 18;
mAnmMtxIndices[8] = 14;
mAnmMtxIndices[9] = 11;
mAnmMtxIndices[10] = 12;
mAnmMtxIndices[11] = 13;
mAnmMtxIndices[0] = DO_MAIN1_JNT_J_DO_ME1_e;
mAnmMtxIndices[1] = DO_MAIN1_JNT_J_DO_ME2_e;
mAnmMtxIndices[2] = DO_MAIN1_JNT_J_DO_ME3_e;
mAnmMtxIndices[3] = DO_MAIN1_JNT_J_DO_ME4_e;
mAnmMtxIndices[4] = DO_MAIN1_JNT_J_DO_ME5_e;
mAnmMtxIndices[5] = DO_MAIN1_JNT_J_DO_ME6_e;
mAnmMtxIndices[6] = DO_MAIN1_JNT_J_DO_ME7_e;
mAnmMtxIndices[7] = DO_MAIN1_JNT_J_DO_ME8_e;
mAnmMtxIndices[8] = DO_MAIN1_JNT_J_DO_ME9_e;
mAnmMtxIndices[9] = DO_MAIN1_JNT_J_DO_ME10_e;
mAnmMtxIndices[10] = DO_MAIN1_JNT_J_DO_ME11_e;
mAnmMtxIndices[11] = DO_MAIN1_JNT_J_DO_ME12_e;
static const int NUM_JOINT_NODES = 37;
for (int i = 0; i < NUM_JOINT_NODES; i++) {
+3 -3
View File
@@ -86,7 +86,7 @@ void daDaiocta_Eye_c::_nodeControl(J3DNode* i_nodeP, J3DModel* i_modelP) {
cXyz dummy(0.0f, 0.0f, 0.0f);
mDoMtx_stack_c::copy(i_modelP->getAnmMtx(jnt_no));
if (jnt_no == 2) {
if (jnt_no == DO_EYE1_JNT_J_DO_EYE2_e) {
mDoMtx_stack_c::ZXYrotM(mCurEyeRot);
mDoMtx_stack_c::scaleM(mEyeScale);
}
@@ -109,7 +109,7 @@ BOOL daDaiocta_Eye_c::_createHeap() {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 2,
/* mJointIndex */ DO_EYE1_JNT_J_DO_EYE2_e,
/* mRadius */ 110.0f,
/* mpOffsets */ eye_sph_offset
}
@@ -159,7 +159,7 @@ BOOL daDaiocta_Eye_c::_createHeap() {
}
for (int i = 0; i < 3; i++) {
if (i == 2) modelData->getJointNodePointer(i)->setCallBack(nodeControl_CB);
if (i == DO_EYE1_JNT_J_DO_EYE2_e) modelData->getJointNodePointer(i)->setCallBack(nodeControl_CB);
}
mpJntHit = JntHit_create(mpModel, search_data, ARRAY_SSIZE(search_data));
+3 -3
View File
@@ -40,7 +40,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (a_this != NULL) {
MTXCopy(model->getAnmMtx(jnt_no), *calc_mtx);
s32 tail_idx = ((jnt_no - 58) / 2);
s32 tail_idx = ((jnt_no - DK_JNT_J_DK_O_LA2_e) / 2);
cXyz pos_vec;
pos_vec.x = pos_vec.y = pos_vec.z = 0.0f;
@@ -166,7 +166,7 @@ static void tail_draw(dk_class* a_this, tail_s* tail) {
static void kamen_draw(dk_class* a_this) {
J3DModel* model = a_this->mpModelKamen;
MTXCopy(a_this->field_0x2B8->getModel()->getAnmMtx(24), *calc_mtx);
MTXCopy(a_this->field_0x2B8->getModel()->getAnmMtx(DK_JNT_J_DK_ATAMA1_e), *calc_mtx);
cMtx_YrotM(*calc_mtx, 0x4000);
cMtx_ZrotM(*calc_mtx, -0x4000);
MtxTrans(REG0_F(0) * 0.01f,
@@ -331,7 +331,7 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) {
}
for (u16 i = 0; i < a_this->field_0x2B8->getModel()->getModelData()->getJointNum(); i++) {
if (i == 58 || i == 60 || i == 62 || i == 64) {
if (i == DK_JNT_J_DK_O_LA2_e || i == DK_JNT_J_DK_O_LB2_e || i == DK_JNT_J_DK_O_RA2_e || i == DK_JNT_J_DK_O_RB2_e) {
a_this->field_0x2B8->getModel()->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
}
}
+4 -4
View File
@@ -117,7 +117,7 @@ static void move(dr_class* i_this) {
cXyz rootPos;
cXyz offset(0.0f, 0.0f, 0.0f);
MtxP rootJntMtx = i_this->mpMorf->getModel()->getAnmMtx(0x00); // dr_all_root joint
MtxP rootJntMtx = i_this->mpMorf->getModel()->getAnmMtx(DR1_JNT_DR_ALL_ROOT_e);
cMtx_copy(rootJntMtx, *calc_mtx);
MtxPosition(&offset, &rootPos);
dComIfGp_particle_set(dPa_name::ID_AK_SN_DRSPLASHMAGMA00, &rootPos);
@@ -133,13 +133,13 @@ static void move(dr_class* i_this) {
}
if (i_this->mpBreathEmitter) {
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(0x20); // j_dr_sita2 (tongue) joint
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(DR1_JNT_J_DR_SITA2_e); // tongue
i_this->mpBreathEmitter->setGlobalRTMatrix(tongueJntMtx);
}
break;
case 12:
if (i_this->mpBreathEmitter) {
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(0x20); // j_dr_sita2 (tongue) joint
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(DR1_JNT_J_DR_SITA2_e); // tongue
i_this->mpBreathEmitter->setGlobalRTMatrix(tongueJntMtx);
}
@@ -199,7 +199,7 @@ static BOOL daDr_Execute(dr_class* i_this) {
daDr_setMtx(i_this);
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(0x20); // j_dr_sita2 (tongue) joint
MtxP tongueJntMtx = i_this->mpMorf->getModel()->getAnmMtx(DR1_JNT_J_DR_SITA2_e); // tongue
cMtx_copy(tongueJntMtx, *calc_mtx);
cXyz offset(0.0f, 0.0f, 0.0f);
MtxPosition(&offset, &i_this->eyePos);
+21 -10
View File
@@ -65,9 +65,13 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
if (i_this->unk_40A == 3) {
if ((jntNo - 3 <= 8u) || (jntNo == 2)) {
cMtx_YrotM(*calc_mtx, i_this->unk_400[jntNo - 0x22]);
cMtx_ZrotM(*calc_mtx, i_this->unk_400[jntNo - 0x16]);
if ((jntNo == DR_JNT_J_DR_ASHI_L1_e || jntNo == DR_JNT_J_DR_ASHI_L2_e || jntNo == DR_JNT_J_DR_ASHI_L3_e || jntNo == DR_JNT_J_DR_ASHI_R1_e ||
jntNo == DR_JNT_J_DR_ASHI_R2_e || jntNo == DR_JNT_J_DR_ASI_R3_e || jntNo == DR_JNT_J_DR_MUNE_e || jntNo == DR_JNT_J_DR_HANE_L1_e ||
jntNo == DR_JNT_J_DR_HANE_L2_e) ||
jntNo == DR_JNT_J_DR_KOSHI_e)
{
cMtx_YrotM(*calc_mtx, i_this->unk_400[jntNo - DR_JNT_J_DR_HOHO_R_e]);
cMtx_ZrotM(*calc_mtx, i_this->unk_400[jntNo - DR_JNT_J_DR_KUBI7_e]);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
@@ -75,25 +79,32 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
MtxScale(i_this->unk_40C, 1.0f, 1.0f, true);
model->setAnmMtx(jntNo, *calc_mtx);
if ((jntNo <= 3u) || (jntNo == 4)) {
MtxRotY(i_this->unk_3EC,1);
MtxRotZ(i_this->unk_3F0,1);
if ((jntNo == DR_JNT_DR_ALL_ROOT_e || jntNo == DR_JNT_DR_SKL_ROOT_e || jntNo == DR_JNT_J_DR_KOSHI_e || jntNo == DR_JNT_J_DR_ASHI_L1_e) ||
(jntNo == DR_JNT_J_DR_ASHI_L2_e))
{
MtxRotY(i_this->unk_3EC, 1);
MtxRotZ(i_this->unk_3F0, 1);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
} else if ((jntNo - 5 <= 6u) || (jntNo == 4)) {
} else if (
(jntNo == DR_JNT_J_DR_ASHI_L3_e || jntNo == DR_JNT_J_DR_ASHI_R1_e || jntNo == DR_JNT_J_DR_ASHI_R2_e || jntNo == DR_JNT_J_DR_ASI_R3_e ||
jntNo == DR_JNT_J_DR_MUNE_e || jntNo == DR_JNT_J_DR_HANE_L1_e || jntNo == DR_JNT_J_DR_HANE_L2_e) ||
(jntNo == DR_JNT_J_DR_ASHI_L2_e)
)
{
if (i_this->unk_40A == 2) {
cMtx_YrotM(*calc_mtx, i_this->unk_3BC[0]);
cMtx_ZrotM(*calc_mtx, i_this->unk_3D4[0]);
} else {
MtxRotY(i_this->unk_3EC,1);
MtxRotZ(i_this->unk_3F0,1);
MtxRotY(i_this->unk_3EC, 1);
MtxRotZ(i_this->unk_3F0, 1);
}
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
if (jntNo == 11) {
if (jntNo == DR_JNT_J_DR_HANE_L2_e) {
cXyz sp08;
sp08.x = REG0_F(0) + 210.0f + 5.0f;
sp08.y = REG0_F(1);
+14 -14
View File
@@ -602,7 +602,7 @@ void shot2(fganon_class* i_this) {
fopAcM_seStart(a_this, JA_SE_CM_PG_EBALL_MAKING_L, 0);
for (int i = 0; i < 2; i++) {
if (i_this->mEmitters2[i] != NULL) {
i_this->mEmitters2[i]->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(0x1A));
i_this->mEmitters2[i]->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_ATAMA1_e));
}
}
if (i_this->mpMorf->isStop()) {
@@ -650,7 +650,7 @@ void shot2(fganon_class* i_this) {
}
for (int i = 0; i < 2; i++) {
if (i_this->mEmitters2[i] != NULL) {
i_this->mEmitters2[i]->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx((i * 9) + 14));
i_this->mEmitters2[i]->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx((i * BPG_JNT_J_BPG_MUNE1_e) + BPG_JNT_J_BPG_UDE_L3_e));
}
}
if (i_this->mpMorf->isStop()) {
@@ -975,7 +975,7 @@ void fail(fganon_class* i_this) {
linChk.Set(&offset, &transformedPos, a_this);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(0x18);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_ITEM1_e);
cMtx_copy(mtx, *calc_mtx);
offset.x = 0.0f;
@@ -1365,12 +1365,12 @@ void damage_check(fganon_class* i_this) {
emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPGLIGHTARROW00, &a_this->current.pos, NULL);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(10));
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_MUNE2_e));
}
emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPGLIGHTARROW01, &a_this->current.pos, NULL);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(10));
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_MUNE2_e));
}
a_this->speedF = 0.0f;
@@ -1441,7 +1441,7 @@ void damage_check(fganon_class* i_this) {
if ((i_this->mCyl.ChkTgHit()) || (master->mAction == 8)) {
emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPGVANISHSMOKE00, &a_this->current.pos, NULL);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(0));
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_BPG_ALLROOT_e));
}
fopAcM_delete(a_this);
}
@@ -2099,7 +2099,7 @@ void energy_ball_move(fganon_class* i_this) {
i_this->m408 = 2;
}
if (i_this->m408 == 2) {
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(0xE);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_UDE_L3_e);
cMtx_copy(mtx, *calc_mtx);
MtxTrans(REG12_F(0) + 30.0f, REG12_F(1) + 30.0f, REG12_F(2), TRUE);
MtxPosition(&local_50, &i_this->m3E0);
@@ -2452,7 +2452,7 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
model->setBaseTRMtx(mDoMtx_stack_c::get());
i_this->mpMorf->calc();
MtxP mtx = model->getAnmMtx(27);
MtxP mtx = model->getAnmMtx(BPG_JNT_J_BPG_AGO1_e);
cMtx_copy(mtx, *calc_mtx);
MtxPosition(&local_70, &a_this->eyePos);
@@ -2461,7 +2461,7 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
a_this->attention_info.position.y += 30.0f;
if (i_this->m2D0 == 0) {
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(24);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_ITEM1_e);
cMtx_copy(mtx, *calc_mtx);
cMtx_YrotM(*calc_mtx, REG8_S(1) - 400);
@@ -2503,7 +2503,7 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
for (int i = 0; i < 2; i++) {
if ((i_this->mbIsMaterialized != 0) && (i_this->mAction != 22)) {
if (i_this->mEmitters1[i] != NULL) {
static u32 jno[2] = {0x7, 0xD};
static u32 jno[2] = {BPG_JNT_J_BPG_ASI_R2_e, BPG_JNT_J_BPG_UDE_L2_e};
i_this->mEmitters1[i]->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(jno[i]));
}
else {
@@ -2519,7 +2519,7 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
}
}
if (i_this->mbIsMaterialized != 0) {
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(10);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_MUNE2_e);
cMtx_copy(mtx, *calc_mtx);
local_70.x = 0.0f;
local_70.y = 0.0f;
@@ -2553,7 +2553,7 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
if (i_this->m685 != 0) {
i_this->mWeponSph.SetR(REG0_F(13) + 60.0f);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(24);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(BPG_JNT_J_BPG_ITEM1_e);
cMtx_copy(mtx, *calc_mtx);
local_70.x = 0.0f;
local_70.y = 0.0f;
@@ -2575,13 +2575,13 @@ static BOOL daFganon_Execute(fganon_class* i_this) {
i_this->m686 = 0;
mant_class* cape = (mant_class*)fopAcM_SearchByID(i_this->mCapeID);
if (cape != NULL) {
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(DEMO_SELECT(REG6_S(5), REG0_S(5)) + 20);
MtxP mtx = i_this->mpMorf->getModel()->getAnmMtx(DEMO_SELECT(REG6_S(5), REG0_S(5)) + (s16)BPG_JNT_J_BPG_KATA_R1_e);
cMtx_copy(mtx, *calc_mtx);
local_70.x = DEMO_SELECT(REG13_F(0), REG0_F(0)) + 35.0f;
local_70.y = DEMO_SELECT(REG13_F(1), REG0_F(1));
local_70.z = DEMO_SELECT(REG13_F(2), REG0_F(2)) + -30.0f;
MtxPosition(&local_70, &cape->m1BE0);
mtx = i_this->mpMorf->getModel()->getAnmMtx(DEMO_SELECT(REG6_S(6), REG0_S(6)) + 11);
mtx = i_this->mpMorf->getModel()->getAnmMtx(DEMO_SELECT(REG6_S(6), REG0_S(6)) + (s16)BPG_JNT_J_BPG_KATA_L1_e);
cMtx_copy(mtx, *calc_mtx);
local_70.x = DEMO_SELECT(REG13_F(3), REG0_F(3)) + 35.0f;
local_70.y = DEMO_SELECT(REG13_F(4), REG0_F(4));
+3 -3
View File
@@ -213,9 +213,9 @@ static void move(fgmahou_class* i_this) {
i_this->health = 1;
JPABaseEmitter* pEmtr = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPGHITDARKSHOT00, &i_this->current.pos);
pEmtr->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(1));
pEmtr->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(YDKSP00_JNT_HEAD_e));
JPABaseEmitter* pEmtr2 = dComIfGp_particle_set(dPa_name::ID_AK_SN_BPGHITDARKSHOT01, &i_this->current.pos);
pEmtr2->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(1));
pEmtr2->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(YDKSP00_JNT_HEAD_e));
fopAcM_seStartCurrent(i_this, JA_SE_OBJ_PG_EBALL_EXP_L, 0);
}
@@ -267,7 +267,7 @@ static BOOL daFgmahou_Execute(fgmahou_class* i_this) {
i_this->mpMorf->calc();
if(i_this->mpEmitter) {
i_this->mpEmitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(1));
i_this->mpEmitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(YDKSP00_JNT_HEAD_e));
if(i_this->field_0x780 != 0 && i_this->field_0x780 == 0x32) {
i_this->mpEmitter->becomeInvalidEmitter();
+28 -28
View File
@@ -317,12 +317,12 @@ void daFm_c::_nodeControl(J3DNode* node, J3DModel* model) {
mtx[1][3] = 0.0f;
mtx[0][3] = 0.0f;
mDoMtx_stack_c::transS(temp);
if (jntNo < 6 && jntNo >= field_0x390 && l_HIO.field_0x00F[jntNo] == true) {
if (jntNo < FM_JNT_CYUBIA_e && jntNo >= field_0x390 && l_HIO.field_0x00F[jntNo] == true) {
mDoMtx_stack_c::quatM(&field_0x330[jntNo]);
}
mDoMtx_stack_c::concat(mtx);
if (jntNo == 5) {
if (jntNo == FM_JNT_TE_e) {
if(cLib_calcTimer(&field_0x64C) != 0) {
field_0x68A += REG12_S(2) + 0x1830;
cLib_addCalcAngleS2(&field_0x68C, 0, 10, 0x1C8);
@@ -338,7 +338,7 @@ void daFm_c::_nodeControl(J3DNode* node, J3DModel* model) {
temp2 = l_HIO.field_0x104;
mDoMtx_stack_c::multVec(&temp2, &field_0x63C);
}
if (jntNo < 6) {
if (jntNo < FM_JNT_CYUBIA_e) {
mDoMtx_stack_c::multVecZero(&field_0x2E8[jntNo]);
}
@@ -428,91 +428,91 @@ bool daFm_c::jntHitCreateHeap() {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL2_e,
/* mJointIndex */ 0x05,
/* mJointIndex */ FM_JNT_TE_e,
/* mRadius */ 22.0f,
/* mpOffsets */ te_cyl2_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ FM_JNT_UDEA_e,
/* mRadius */ 8.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x02,
/* mJointIndex */ FM_JNT_UDEB_e,
/* mRadius */ 8.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03,
/* mJointIndex */ FM_JNT_UDEC_e,
/* mRadius */ 8.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x04,
/* mJointIndex */ FM_JNT_UDED_e,
/* mRadius */ 8.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x06,
/* mJointIndex */ FM_JNT_CYUBIA_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x07,
/* mJointIndex */ FM_JNT_CYUBIB_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x08,
/* mJointIndex */ FM_JNT_HYUBIA_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09,
/* mJointIndex */ FM_JNT_HYUBIB_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0A,
/* mJointIndex */ FM_JNT_KYUBIA_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0B,
/* mJointIndex */ FM_JNT_KYUBIB_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0C,
/* mJointIndex */ FM_JNT_NYUBIA_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0D,
/* mJointIndex */ FM_JNT_NYUBIB_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0E,
/* mJointIndex */ FM_JNT_OYUBIA_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0F,
/* mJointIndex */ FM_JNT_OYUBIB_e,
/* mRadius */ 4.0f,
/* mpOffsets */ yubi_cyl_offset,
},
@@ -2679,7 +2679,7 @@ void daFm_c::grabBomb() {
if (fopAcM_GetName(mpActorTarget) == fpcNm_BOMB_e) {
cXyz temp_pos(5.0f, -10.0f, 5.0f);
cXyz pos = l_HIO.field_0x038 + temp_pos;
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(5));
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(FM_JNT_TE_e));
mDoMtx_stack_c::multVec(&pos, &mpActorTarget->current.pos);
mpActorTarget->gravity = 0.0f;
mpActorTarget->speedF = 0.0f;
@@ -2722,7 +2722,7 @@ void daFm_c::grabTsubo() {
cXyz pos2 = l_HIO.field_0x038 + pos;
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(5));
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(FM_JNT_TE_e));
mDoMtx_stack_c::transM(pos2);
mDoMtx_stack_c::ZXYrotM(angle);
MTXCopy(mDoMtx_stack_c::get(), field_0x6BC);
@@ -2752,7 +2752,7 @@ void daFm_c::grabPlayer() {
temp2 = l_HIO.field_0x038 + temp;
temp2.y -= offset2.abs();
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(5));
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(FM_JNT_TE_e));
mDoMtx_stack_c::ZXYrotM(angle.x, angle.y, angle.z);
mDoMtx_stack_c::transM(temp2);
MTXCopy(mDoMtx_stack_c::get(), field_0x6BC);
@@ -2783,7 +2783,7 @@ void daFm_c::grabNPC() {
angle.z = -4000;
}
cXyz temp2 = l_HIO.field_0x038 + temp;
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(5));
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(FM_JNT_TE_e));
mDoMtx_stack_c::transM(temp2);
mDoMtx_stack_c::ZXYrotM(angle.x, angle.y, angle.z);
MTXCopy(mDoMtx_stack_c::get(), field_0x6BC);
@@ -3255,7 +3255,7 @@ void daFm_c::debugDraw() {
dLib_debugDrawAxis(field_0x6BC, 100.0f);
}
if (l_HIO.field_0x007) {
MTXCopy(fopAcM_GetModel(this)->getAnmMtx(5), mtx);
MTXCopy(fopAcM_GetModel(this)->getAnmMtx(FM_JNT_TE_e), mtx);
dLib_debugDrawAxis(mtx, 100.0f);
}
if (l_HIO.field_0x005) {
@@ -3359,11 +3359,11 @@ void daFm_c::createInit() {
J3DModelData* modelData = mpMorf->getModel()->getModelData();
for(u16 i = 0; i < modelData->getJointNum(); i++) {
switch(i) {
case 0:
case 1:
case 2:
case 3:
case 5:
case FM_JNT_CENTER_e:
case FM_JNT_UDEA_e:
case FM_JNT_UDEB_e:
case FM_JNT_UDEC_e:
case FM_JNT_TE_e:
modelData->getJointNodePointer(i)->setCallBack(nodeControl_CB);
break;
+6 -6
View File
@@ -1679,7 +1679,7 @@ static BOOL daHimo2_Execute(himo2_class* i_this) {
int iVar5;
cXyz local_c8;
daPy_py_c* apdVar1 = (daPy_py_c*)daPy_getPlayerActorClass();
daPy_py_c* player = (daPy_py_c*)daPy_getPlayerActorClass();
#if VERSION > VERSION_DEMO
if (btd == NULL) {
btd = (btd_class*)fpcM_Search(b_a_sub, i_this);
@@ -1693,15 +1693,15 @@ static BOOL daHimo2_Execute(himo2_class* i_this) {
local_c8.x = 4.0f;
local_c8.y = 0.0f;
local_c8.z = 0.0f;
if (apdVar1->getRopeGrabRightHand()) {
MTXCopy(apdVar1->getLeftHandMatrix(), *calc_mtx);
if (player->getRopeGrabRightHand()) {
MTXCopy(player->getLeftHandMatrix(), *calc_mtx);
MtxPosition(&local_c8, &i_this->m02EC[1]);
MTXCopy(apdVar1->getRightHandMatrix(), *calc_mtx);
MTXCopy(player->getRightHandMatrix(), *calc_mtx);
MtxPosition(&local_c8, &i_this->m02EC[0]);
} else {
MTXCopy(apdVar1->getLeftHandMatrix(), *calc_mtx);
MTXCopy(player->getLeftHandMatrix(), *calc_mtx);
MtxPosition(&local_c8, &i_this->m02EC[0]);
MTXCopy(apdVar1->getRightHandMatrix(), *calc_mtx);
MTXCopy(player->getRightHandMatrix(), *calc_mtx);
MtxPosition(&local_c8, &i_this->m02EC[1]);
}
i_this->m02B4 = i_this->m02EC[0];
+1 -1
View File
@@ -162,7 +162,7 @@ void daItemBase_c::settingBeforeDraw() {
if (isBomb(m_itemNo)) {
daPy_lk_c* link = daPy_getPlayerLinkActorClass();
link->getBombBrk()->setFrame(0.0f);
mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(NULL);
mpModel->getModelData()->getJointNodePointer(BOMB_JNT_VBOMB_MODEL_e)->setMtxCalc(NULL);
}
if (m_itemNo == dItemNo_BOMB_BAG_e || m_itemNo == dItemNo_SKULL_HAMMER_e || m_itemNo == dItemNo_SMALL_KEY_e) {
+1 -1
View File
@@ -26,7 +26,7 @@ static BOOL nodeCallBack(J3DNode* i_node, int i_calcTiming) {
J3DJoint* joint = reinterpret_cast<J3DJoint*>(i_node);
s32 jntNo = joint->getJntNo();
jbo_class* jbo = reinterpret_cast<jbo_class*>(j3dSys.getModel()->getUserArea());
if (jbo != NULL && jntNo == 9) {
if (jbo != NULL && jntNo == JH_JNT_J_JH_ME_E_e) {
MTXCopy(j3dSys.getModel()->getAnmMtx(jntNo), *calc_mtx);
cXyz pos;
pos.x = 0;
+7 -7
View File
@@ -128,14 +128,14 @@ fopAc_ac_c* search_imouto(kamome_class* i_this) {
static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar1 = joint->getJntNo();
J3DModel* pJVar2 = j3dSys.getModel();
kamome_class* pKamome = (kamome_class*)pJVar2->getUserArea();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
kamome_class* pKamome = (kamome_class*)model->getUserArea();
if (pKamome != NULL) {
MTXCopy(pJVar2->getAnmMtx(uVar1), *calc_mtx);
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, pKamome->mJointRotY);
cMtx_ZrotM(*calc_mtx, pKamome->mJointRotZ);
pJVar2->setAnmMtx(uVar1, *calc_mtx);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
@@ -1336,9 +1336,9 @@ void daKamome_setMtx(kamome_class* i_this) {
J3DModel* pJVar1 = i_this->mpMorf->getModel();
pJVar1->setBaseTRMtx(*calc_mtx);
pJVar1->getModelData()->getJointNodePointer(8)->setCallBack(nodeCallBack);
pJVar1->getModelData()->getJointNodePointer(KA_JNT_J_KA_HEAD1_e)->setCallBack(nodeCallBack);
i_this->mpMorf->calc();
pJVar1->getModelData()->getJointNodePointer(8)->setCallBack(NULL);
pJVar1->getModelData()->getJointNodePointer(KA_JNT_J_KA_HEAD1_e)->setCallBack(NULL);
}
/* 00004768-000049F8 .text daKamome_Execute__FP12kamome_class */
+7 -7
View File
@@ -16,15 +16,15 @@
static BOOL kantera_nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar2 = joint->getJntNo();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
kantera_class* i_this = (kantera_class*)model->getUserArea();
if ((i_this != NULL) && (uVar2 == 0 || (uVar2 == 1))) {
MTXCopy(model->getAnmMtx(uVar2), *calc_mtx);
cMtx_XrotM(*calc_mtx, i_this->mJointBaseRot.x + i_this->mJointRot[uVar2].x);
cMtx_ZrotM(*calc_mtx, i_this->mJointBaseRot.z + i_this->mJointRot[uVar2].z);
model->setAnmMtx(uVar2, *calc_mtx);
if ((i_this != NULL) && (jntNo == MK_KANTERA_JNT_TOTTE_e || (jntNo == MK_KANTERA_JNT_KANTERA_e))) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_XrotM(*calc_mtx, i_this->mJointBaseRot.x + i_this->mJointRot[jntNo].x);
cMtx_ZrotM(*calc_mtx, i_this->mJointBaseRot.z + i_this->mJointRot[jntNo].z);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
@@ -254,7 +254,7 @@ static BOOL daKantera_Execute(kantera_class* i_this) {
i_this->actor.eyePos = i_this->actor.current.pos;
MTXCopy(model->getAnmMtx(1), *calc_mtx);
MTXCopy(model->getAnmMtx(MK_KANTERA_JNT_KANTERA_e), *calc_mtx);
i_this->m2E4 = i_this->mBonPos;
+31 -9
View File
@@ -98,12 +98,12 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
J3DJoint* joint = (J3DJoint*)node;
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
ki_class* pvVar3 = (ki_class*)model->getUserArea();
ki_class* i_this = (ki_class*)model->getUserArea();
if (pvVar3 != NULL) {
if (i_this != NULL) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, pvVar3->m328);
cMtx_ZrotM(*calc_mtx, pvVar3->m326);
cMtx_YrotM(*calc_mtx, i_this->m328);
cMtx_ZrotM(*calc_mtx, i_this->m326);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
@@ -216,7 +216,7 @@ static BOOL daKi_Draw(ki_class* i_this) {
f32 fVar1 = 30.0f;
if (i_this->mDamageType == 0) {
J3DModelData* pModelData = pModel->getModelData();
J3DJoint* joint = pModelData->getJointNodePointer(0);
J3DJoint* joint = pModelData->getJointNodePointer(KI_JNT_KI_ALLROOT_e);
J3DMaterial* material = pModelData->getMaterialNodePointer(0);
J3DShape* shape = material->getShape();
@@ -1257,7 +1257,7 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
}
for (u16 i = 0; i < model->getModelData()->getJointNum(); i++) {
if (i == 14) {
if (i == KI_JNT_J_KI_HEAD_e) {
model->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
}
}
@@ -1469,10 +1469,32 @@ static cPhs_State daKi_Create(fopAc_ac_c* a_this) {
i_this->mEnemyFire.mpMcaMorf = i_this->mpMorf;
i_this->mEnemyFire.mpActor = a_this;
for (s32 i = 0; i < 10; i++) {
static s8 fire_j[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
static f32 fire_sc[] = { 1.0f, 0.8f, 0.7f, 0.6f, 0.5f, 1.0f, 0.8f, 0.7f, 0.6f, 0.5f };
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
KI_JNT_J_KI_ARM_L1_e,
KI_JNT_J_KI_ARM_L2_e,
KI_JNT_J_KI_ARM_LE_e,
KI_JNT_J_KI_FINGER1_L_e,
KI_JNT_J_KI_FINGER2_L_e,
KI_JNT_J_KI_ARM_R1_e,
KI_JNT_J_KI_ARM_R2_e,
KI_JNT_J_KI_ARM_RE_e,
KI_JNT_J_KI_FINGER1_R_e,
KI_JNT_J_KI_FINGER2_R_e
};
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
1.0f, // KI_JNT_J_KI_ARM_L1_e
0.8f, // KI_JNT_J_KI_ARM_L2_e
0.7f, // KI_JNT_J_KI_ARM_LE_e
0.6f, // KI_JNT_J_KI_FINGER1_L_e
0.5f, // KI_JNT_J_KI_FINGER2_L_e
1.0f, // KI_JNT_J_KI_ARM_R1_e
0.8f, // KI_JNT_J_KI_ARM_R2_e
0.7f, // KI_JNT_J_KI_ARM_RE_e
0.6f, // KI_JNT_J_KI_FINGER1_R_e
0.5f // KI_JNT_J_KI_FINGER2_R_e
};
for (int i = 0; i < ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
}
+15 -16
View File
@@ -1677,22 +1677,20 @@ static cPhs_State daKS_Create(fopAc_ac_c* i_this) {
a_this->mEnemyFire.mpMcaMorf = a_this->mpBodyMorf;
a_this->mEnemyFire.mpActor = i_this;
static s8 fire_j[10] = {
0,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
-1,
static u8 fire_j[ARRAY_SIZE(a_this->mEnemyFire.mFlameJntIdxs)] = {
KS_BODY_JNT_KARADA_e,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
};
static f32 fire_sc[10] = {
1.0f,
1.0f,
static f32 fire_sc[ARRAY_SIZE(a_this->mEnemyFire.mParticleScale)] = {
1.0f, // KS_BODY_JNT_KARADA_e
1.0f,
1.0f,
1.0f,
@@ -1701,9 +1699,10 @@ static cPhs_State daKS_Create(fopAc_ac_c* i_this) {
1.0f,
1.0f,
1.0f,
1.0f
};
for (int i = 0; i < 10; i++) {
for (int i = 0; i < ARRAY_SIZE(a_this->mEnemyFire.mFlameJntIdxs); i++) {
a_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
a_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
}
+45 -22
View File
@@ -160,7 +160,7 @@ static void yari_off_check(mo2_class* i_this) {
if (i_this->mSpawnWeaponActor != 0) {
i_this->m05AE = l_mo2HIO.m08A;
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x16), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(MO_JNT_MO_YARI_e), *calc_mtx);
local_48.setall(0.0f);
MtxPosition(&local_48, &cStack_54);
i_this->mWeaponPcId = fopAcM_create(fpcNm_BOKO_e, daBoko_c::Type_MOBLIN_SPEAR_e, &cStack_54, fopAcM_GetRoomNo(actor));
@@ -328,7 +328,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
fopAc_ac_c* actor = &i_this->actor;
if (i_this) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
if (jntNo == 0x1D) {
if (jntNo == MO_JNT_JAWA_J_e) {
cMtx_ZrotM(*calc_mtx, i_this->m2952);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
@@ -632,7 +632,7 @@ static void br_draw(mo2_class* i_this) {
}
}
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x16), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(MO_JNT_MO_YARI_e), *calc_mtx);
MtxTrans(l_mo2HIO.m138 + 150.0f, 0.0f, 0.0f, true);
cMtx_ZrotM(*calc_mtx, 0x4000);
MtxScale(l_mo2HIO.m014 * i_this->m0590, l_mo2HIO.m014, l_mo2HIO.m014, true);
@@ -3741,91 +3741,91 @@ static u8 useArrowHeapInit(fopAc_ac_c* a_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ MO_JNT_CENTER_e,
/* mRadius */ 25.0f,
/* mpOffsets */ kosi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x02,
/* mJointIndex */ MO_JNT_HARA_J_e,
/* mRadius */ 25.0f,
/* mpOffsets */ mata_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03,
/* mJointIndex */ MO_JNT_MUNE_J_e,
/* mRadius */ 35.0f,
/* mpOffsets */ mune_cyl_offset,
},
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 0x0A,
/* mJointIndex */ MO_JNT_UDELA_J_e,
/* mRadius */ 20.0f,
/* mpOffsets */ kata_l_sph_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0A,
/* mJointIndex */ MO_JNT_UDELA_J_e,
/* mRadius */ 10.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0B,
/* mJointIndex */ MO_JNT_UDELB_J_e,
/* mRadius */ 5.0f,
/* mpOffsets */ te_cyl_offset,
},
{
/* mShapeType */ JntHitType_SPH_e,
/* mJointIndex */ 0x11,
/* mJointIndex */ MO_JNT_UDERA_J_e,
/* mRadius */ 20.0f,
/* mpOffsets */ kata_l_sph_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x11,
/* mJointIndex */ MO_JNT_UDERA_J_e,
/* mRadius */ 10.0f,
/* mpOffsets */ ude_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x12,
/* mJointIndex */ MO_JNT_UDERB_J_e,
/* mRadius */ 5.0f,
/* mpOffsets */ te_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x27,
/* mJointIndex */ MO_JNT_ASHILA_J_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x28,
/* mJointIndex */ MO_JNT_ASHILB_J_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x29,
/* mJointIndex */ MO_JNT_ASHILC_J_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x2C,
/* mJointIndex */ MO_JNT_ASHIRA_J_e,
/* mRadius */ 5.0f,
/* mpOffsets */ momo_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x2D,
/* mJointIndex */ MO_JNT_ASHIRB_J_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x2E,
/* mJointIndex */ MO_JNT_ASHIRC_J_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi_cyl_offset,
},
@@ -4072,10 +4072,7 @@ static cPhs_State daMo2_Create(fopAc_ac_c* a_this) {
}},
};
static u8 fire_j[] = {0x1A, 0x03, 0x11, 0x12, 0x0A, 0x0B, 0x2C, 0x2D, 0x27, 0x28};
static f32 fire_sc[] = {2.3f, 2.3f, 1.4f, 1.2f, 1.4f, 1.2f, 1.4f, 1.2f, 1.4f, 1.2f};
fopAcM_SetupActor(a_this, mo2_class);
fopAcM_ct(a_this, mo2_class);
mo2_class* i_this = (mo2_class*)a_this;
cPhs_State res = dComIfG_resLoad(&i_this->mPhsSpear, "Spear");
if (res != cPhs_COMPLEATE_e) {
@@ -4202,6 +4199,32 @@ static cPhs_State daMo2_Create(fopAc_ac_c* a_this) {
i_this->mEnemyIce.mDeathSwitch = i_this->mDeathSwitch;
i_this->mEnemyFire.mpMcaMorf = i_this->mpMorf;
i_this->mEnemyFire.mpActor = a_this;
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
MO_JNT_KAO_J_e,
MO_JNT_MUNE_J_e,
MO_JNT_UDERA_J_e,
MO_JNT_UDERB_J_e,
MO_JNT_UDELA_J_e,
MO_JNT_UDELB_J_e,
MO_JNT_ASHIRA_J_e,
MO_JNT_ASHIRB_J_e,
MO_JNT_ASHILA_J_e,
MO_JNT_ASHILB_J_e
};
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
2.3f, // MO_JNT_KAO_J_e
2.3f, // MO_JNT_MUNE_J_e
1.4f, // MO_JNT_UDERA_J_e
1.2f, // MO_JNT_UDERB_J_e
1.4f, // MO_JNT_UDELA_J_e
1.2f, // MO_JNT_UDELB_J_e
1.4f, // MO_JNT_ASHIRA_J_e
1.2f, // MO_JNT_ASHIRB_J_e
1.4f, // MO_JNT_ASHILA_J_e
1.2f // MO_JNT_ASHILB_J_e
};
for (s32 i = 0; i < 10; i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
+1 -1
View File
@@ -214,7 +214,7 @@ cPhs_State daMozo_c::CreateInit() {
mAnimMorf->getModel()->setUserArea((u32)this);
for (u16 i = 0; i < mdlData->getJointNum(); i++) {
if (i == 2) {
if (i == MOZ_JNT_ATAMA_J_e) {
mdlData->getJointNodePointer(i)->setCallBack(daMozo_nodeCallBack);
}
}
+2 -2
View File
@@ -1470,7 +1470,7 @@ void daNpc_Ji1_c::set_mtx() {
#endif
field_0xB90 = field_0xB78;
mDoMtx_stack_c::copy(mpSpearMorf->getModel()->getAnmMtx(1));
mDoMtx_stack_c::copy(mpSpearMorf->getModel()->getAnmMtx(JI_YARI_JNT_JI_YARI_e));
mDoMtx_stack_c::multVec(&temp, &field_0xB78);
mDoMtx_stack_c::multVec(&temp2, &field_0xB84);
}
@@ -5262,7 +5262,7 @@ void daNpc_Ji1_c::BackSlide(f32 param_1, f32 param_2) {
/* 0001173C-000118E0 .text harpoonRelease__11daNpc_Ji1_cFP4cXyz */
void daNpc_Ji1_c::harpoonRelease(cXyz* param_1) {
MTXCopy(mpSpearMorf->getModel()->getAnmMtx(1), field_0xCA0);
MTXCopy(mpSpearMorf->getModel()->getAnmMtx(JI_YARI_JNT_JI_YARI_e), field_0xCA0);
mpSpearMorf->setFrame(0.0f);
field_0xCD0.x = field_0xCA0[0][3];
field_0xCD0.y = field_0xCA0[1][3];
+4 -4
View File
@@ -198,7 +198,7 @@ BOOL daNpc_Nz_c::_createHeap() {
if(i == m_jnt.getHeadJntNum() || i == m_jnt.getBackboneJntNum()) {
modelData->getJointNodePointer(i)->setCallBack(daNpcNz_NodeCallBack);
}
if(i == 1 || i == 9) {
if(i == NZ_JNT_HIP_e || i == NZ_JNT_SHIPPO_e) {
modelData->getJointNodePointer(i)->setCallBack(daNpcNz_TailNodeCallBack);
}
}
@@ -413,10 +413,10 @@ void daNpc_Nz_c::setMtx() {
pScale->y = scaleY;
J3DModel* pModel = mpMorf->getModel();
mDoMtx_stack_c::copy(pModel->getAnmMtx(0x12));
mDoMtx_stack_c::copy(pModel->getAnmMtx(NZ_JNT_UDEL3_e));
cXyz temp;
mDoMtx_stack_c::multVec(&cXyz::Zero, &temp);
mDoMtx_stack_c::copy(pModel->getAnmMtx(0x15));
mDoMtx_stack_c::copy(pModel->getAnmMtx(NZ_JNT_UDER3_e));
cXyz temp2;
mDoMtx_stack_c::multVec(&cXyz::Zero, &temp2);
cXyz temp3 = temp + temp2;
@@ -835,7 +835,7 @@ bool daNpc_Nz_c::_draw() {
J3DModel* pModel = mpMorf->getModel();
J3DModelData* pModelData = pModel->getModelData();
J3DJoint* rootJoint = pModelData->getJointNodePointer(0);
J3DJoint* rootJoint = pModelData->getJointNodePointer(NZ_JNT_KOSI_e);
J3DShape* matShape = pModelData->getMaterialNodePointer(0)->getShape();
J3DShape* matShape2 = pModelData->getMaterialNodePointer(1)->getShape();
J3DShape* matShape3 = pModelData->getMaterialNodePointer(2)->getShape();
+4 -4
View File
@@ -1889,14 +1889,14 @@ BOOL daNpc_Tc_c::_createHeap() {
if (mpMorf == NULL || mpMorf->getModel() == NULL) {
return FALSE;
}
m_jnt.setHeadJntNum(2);
m_jnt.setHeadJntNum(TC_JNT_HEAD_e);
JUT_ASSERT(DEMO_SELECT(0xA36, 0xA40), m_jnt.getHeadJntNum() >= 0);
m_jnt.setBackboneJntNum(1);
m_jnt.setBackboneJntNum(TC_JNT_BACKBONE_e);
JUT_ASSERT(DEMO_SELECT(0xA38, 0xA42), m_jnt.getBackboneJntNum() >= 0);
modelData->getJointNodePointer(2)->setCallBack(nodeCallBack);
modelData->getJointNodePointer(1)->setCallBack(nodeCallBack);
modelData->getJointNodePointer(TC_JNT_HEAD_e)->setCallBack(nodeCallBack);
modelData->getJointNodePointer(TC_JNT_BACKBONE_e)->setCallBack(nodeCallBack);
mpMorf->getModel()->setUserArea(reinterpret_cast<u32>(this));
mTexPatternNum = 0;
+1 -1
View File
@@ -175,7 +175,7 @@ bool daObjYboil_c::_draw() {
g_env_light.settingTevStruct(TEV_TYPE_BG0, &current.pos, &tevStr);
for (s32 i = 0; i < 50; i++) {
g_env_light.setLightTevColorType(mModel[i], &tevStr);
set_sea_material(mModel[i]->getModelData()->getJointNodePointer(0)->getMesh());
set_sea_material(mModel[i]->getModelData()->getJointNodePointer(YBOIL00_JNT_BOIL_e)->getMesh());
mBckAnm[i].entry(mModel[i]->getModelData());
mBtkAnm[i].entry(mModel[i]->getModelData());
mBrkAnm[i].entry(mModel[i]->getModelData());
+6 -1
View File
@@ -142,7 +142,12 @@ static f32 l_daObjAjav_cyl_h[6] = {
};
static const s32 l_daObjAjav_idx_table[6] = {
4, 5 ,6 ,7, 8, 9
dRes_INDEX_AJAV_BDL_AJAVA_e,
dRes_INDEX_AJAV_BDL_AJAVB_e,
dRes_INDEX_AJAV_BDL_AJAVC_e,
dRes_INDEX_AJAV_BDL_AJAVD_e,
dRes_INDEX_AJAV_BDL_AJAVE_e,
dRes_INDEX_AJAV_BDL_AJAVF_e
};
static const char* const l_daObjAjav_ev_name[] = {
+1 -1
View File
@@ -277,7 +277,7 @@ bool daObjAuzu::Act_c::_draw() {
J3DModelData* model_data_p = mpModel->getModelData();
u8 alpha = u8(mScaleAnimFactor * 255.5f) & 0xFF;
set_material(
model_data_p->getJointNodePointer(0)->getMesh(),
model_data_p->getJointNodePointer(AUZU_JNT_AUZU_e)->getMesh(),
alpha
);
mDoExt_modelUpdateDL(mpModel);
+5 -5
View File
@@ -135,7 +135,7 @@ BOOL daObj_Canon_c::_createHeap() {
#endif
mpModel->setUserArea((u32)this);
modelData->getJointNodePointer(3)->setCallBack(nodeControl_CB);
modelData->getJointNodePointer(WALLBOM_JNT_SHOT_e)->setCallBack(nodeControl_CB);
return TRUE;
}
@@ -485,12 +485,12 @@ bool daObj_Canon_c::_execute() {
temp.x = l_HIO.field_0x14;
temp.y = l_HIO.field_0x18 * scale.x;
temp.z = l_HIO.field_0x1C;
mDoMtx_multVec(mpModel->getAnmMtx(3), &temp, &field_0x450);
mDoMtx_multVec(mpModel->getAnmMtx(WALLBOM_JNT_SHOT_e), &temp, &field_0x450);
Vec temp2 = {0.0f, 0.0f, 0.0f};
temp2.x = REG12_F(0);
temp2.y = (REG12_F(1) + 60.0f) * scale.x;
temp2.z = REG12_F(2);
mDoMtx_multVec(mpModel->getAnmMtx(3), &temp2, &field_0x45C);
mDoMtx_multVec(mpModel->getAnmMtx(WALLBOM_JNT_SHOT_e), &temp2, &field_0x45C);
if(field_0x470.getEmitter()) {
if(cLib_calcTimer(&field_0x484) == 0) {
@@ -518,10 +518,10 @@ bool daObj_Canon_c::_draw() {
}
if(mCurMode == 2 || mCurMode == 3) {
mpModel->getModelData()->getJointNodePointer(3)->getMesh()->getShape()->hide();
mpModel->getModelData()->getJointNodePointer(WALLBOM_JNT_SHOT_e)->getMesh()->getShape()->hide();
}
else {
mpModel->getModelData()->getJointNodePointer(3)->getMesh()->getShape()->show();
mpModel->getModelData()->getJointNodePointer(WALLBOM_JNT_SHOT_e)->getMesh()->getShape()->show();
}
g_env_light.settingTevStruct(TEV_TYPE_ACTOR, &current.pos, &tevStr);
+7 -7
View File
@@ -1071,12 +1071,12 @@ void linkDraw(mDoExt_McaMorf* pMorf) {
J3DModelData* modelData = model->getModelData();
#endif
J3DJoint* link_root_joint = modelData->getJointNodePointer(0x00); // link_root joint
J3DJoint* cl_eye_joint = modelData->getJointNodePointer(0x13); // cl_eye joint
J3DJoint* cl_mayu_joint = modelData->getJointNodePointer(0x15); // cl_mayu joint
J3DJoint* link_root_joint = modelData->getJointNodePointer(VF_064L_JNT_LINK_ROOT_e);
J3DJoint* cl_eye_joint = modelData->getJointNodePointer(VF_064L_JNT_CL_EYE_e);
J3DJoint* cl_mayu_joint = modelData->getJointNodePointer(VF_064L_JNT_CL_MAYU_e);
J3DMaterial* mtl;
mtl = modelData->getJointNodePointer(0x13)->getMesh(); // cl_eye joint
mtl = modelData->getJointNodePointer(VF_064L_JNT_CL_EYE_e)->getMesh();
int zoff_blend_cnt = 0;
int zoff_none_cnt = 0;
int zon_cnt = 0;
@@ -1098,7 +1098,7 @@ void linkDraw(mDoExt_McaMorf* pMorf) {
}
mtl = mtl->getNext();
}
mtl = modelData->getJointNodePointer(0x15)->getMesh(); // cl_mayu joint
mtl = modelData->getJointNodePointer(VF_064L_JNT_CL_MAYU_e)->getMesh();
}
dComIfGd_setListP0();
@@ -1169,8 +1169,8 @@ void linkDraw(mDoExt_McaMorf* pMorf) {
mtl->getShape()->show();
}
modelData->getJointNodePointer(0x14)->getMesh()->getShape()->show(); // cl_hana joint
modelData->getJointNodePointer(0x29)->getMesh()->getShape()->show(); // cl_back joint
modelData->getJointNodePointer(VF_064L_JNT_CL_HANA_e)->getMesh()->getShape()->show();
modelData->getJointNodePointer(VF_064L_JNT_CL_BACK_e)->getMesh()->getShape()->show();
#if VERSION == VERSION_DEMO
dComIfGd_setList();
+3 -3
View File
@@ -24,10 +24,10 @@ static BOOL nodeCallBack(J3DNode *node, int calcTiming) {
J3DJoint *joint = (J3DJoint *)node;
s32 jntNo = joint->getJntNo();
J3DModel *model = j3dSys.getModel();
daObjHami3::Act_c *userArea = (daObjHami3::Act_c *)model->getUserArea();
if (userArea != NULL) {
daObjHami3::Act_c* i_this = (daObjHami3::Act_c *)model->getUserArea();
if (i_this != NULL) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, userArea->field_0x2C8);
cMtx_YrotM(*calc_mtx, i_this->field_0x2C8);
model->setAnmMtx(jntNo, *calc_mtx);
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
}
+14 -14
View File
@@ -111,9 +111,9 @@ daObj_Ikada_HIO_c::daObj_Ikada_HIO_c() {
}
/* 000002D8-00000324 .text nodeControl_CB__FP7J3DNodei */
static BOOL nodeControl_CB(J3DNode* node, int arg1) {
static BOOL nodeControl_CB(J3DNode* node, int calcTiming) {
J3DJoint* joint = (J3DJoint*)node;
if (arg1 == 0) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
daObj_Ikada_c* i_this = (daObj_Ikada_c*)j3dSys.getModel()->getUserArea();
if (i_this != NULL) {
i_this->_nodeControl(joint, j3dSys.getModel());
@@ -125,14 +125,14 @@ static BOOL nodeControl_CB(J3DNode* node, int arg1) {
/* 00000324-00000458 .text _nodeControl__13daObj_Ikada_cFP7J3DNodeP8J3DModel */
void daObj_Ikada_c::_nodeControl(J3DNode* node, J3DModel* model) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar1 = joint->getJntNo();
mDoMtx_stack_c::copy(model->getAnmMtx(uVar1));
mDoMtx_stack_c::ZXYrotM(mJointRot[uVar1].x, mJointRot[uVar1].y, mJointRot[uVar1].z);
if (uVar1 == 1) {
s32 jntNo = joint->getJntNo();
mDoMtx_stack_c::copy(model->getAnmMtx(jntNo));
mDoMtx_stack_c::ZXYrotM(mJointRot[jntNo].x, mJointRot[jntNo].y, mJointRot[jntNo].z);
if (jntNo == VSVSP_JNT_SV_CREAN_e) {
mDoMtx_stack_c::XrotM(m115A + m115E * (REG12_S(5) + 5) * cM_ssin(m115C));
}
MTXCopy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
model->setAnmMtx(uVar1, mDoMtx_stack_c::get());
model->setAnmMtx(jntNo, mDoMtx_stack_c::get());
}
/* 00000458-00000494 .text pathMove_CB__FP4cXyzP4cXyzP4cXyzPv */
@@ -463,7 +463,7 @@ void daObj_Ikada_c::setRopePos() {
spBC = *pcVar6;
mDoMtx_stack_c::copy(mpModel->getAnmMtx(1));
mDoMtx_stack_c::copy(mpModel->getAnmMtx(VSVSP_JNT_SV_CREAN_e));
mDoMtx_stack_c::transM(m_crane_offset.x, m_crane_offset.y, m_crane_offset.z);
mDoMtx_stack_c::multVecZero(pcVar6);
@@ -513,7 +513,7 @@ void daObj_Ikada_c::setRopePos() {
iVar3 = 0;
iVar4 = 0;
} else {
mDoMtx_stack_c::copy(mpModel->getAnmMtx(1));
mDoMtx_stack_c::copy(mpModel->getAnmMtx(VSVSP_JNT_SV_CREAN_e));
mDoMtx_stack_c::transM(m_crane_offset.x, m_crane_offset.y, m_crane_offset.z);
cMtx_copy(mDoMtx_stack_c::get(), ropeEndMtx);
spA4.set(pcVar7->x - ropeEndMtx[0][3], pcVar7->y - ropeEndMtx[1][3], pcVar7->z - ropeEndMtx[2][3]);
@@ -1246,7 +1246,7 @@ bool daObj_Ikada_c::_draw() {
J3DModelData* modelData = mpModel->getModelData();
mBckAnm.entry(modelData);
mDoExt_modelUpdateDL(mpModel);
mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(NULL);
mpModel->getModelData()->getJointNodePointer(VSVSP_JNT_SV_SHIP_ROOT_e)->setMtxCalc(NULL);
} else {
mDoExt_modelUpdateDL(mpModel);
}
@@ -1384,7 +1384,7 @@ void daObj_Ikada_c::createInit() {
cXyz* pcVar8 = &mRopeLine.getPos(0)[m07D8] - 1;
cXyz* pcVar7 = &m07DC[m07D8 - 1];
mDoMtx_stack_c::copy(mpModel->getAnmMtx(1));
mDoMtx_stack_c::copy(mpModel->getAnmMtx(VSVSP_JNT_SV_CREAN_e));
mDoMtx_stack_c::transM(m_crane_offset.x, m_crane_offset.y, m_crane_offset.z);
mDoMtx_stack_c::multVecZero(pcVar8);
@@ -1452,9 +1452,9 @@ BOOL daObj_Ikada_c::_createHeap() {
if (mType == 4) {
for (u16 i = 0; i < modelData->getJointNum(); i++) {
switch (i) {
case 1:
case 2:
case 3:
case VSVSP_JNT_SV_CREAN_e:
case VSVSP_JNT_SV_REEL_e:
case VSVSP_JNT_SV_HANDLE_1_e:
modelData->getJointNodePointer(i)->setCallBack(nodeControl_CB);
break;
}
+2 -2
View File
@@ -23,11 +23,11 @@ static BOOL nodeCallBack(J3DNode* joint, int calcTiming) {
J3DModel* model = j3dSys.getModel();
s32 jntNo = ((J3DJoint*)joint)->getJntNo();
daObjLpalm_c* i_this = (daObjLpalm_c*)model->getUserArea();
if (calcTiming == J3DNodeCBCalcTiming_In && (jntNo == 2 || jntNo == 3)) {
if (calcTiming == J3DNodeCBCalcTiming_In && (jntNo == OYASHI_JNT_J_HAPPA1_e || jntNo == OYASHI_JNT_J_HAPPA2_e)) {
mDoMtx_stack_c::copy(model->getAnmMtx(jntNo));
mDoMtx_stack_c::ZrotM(-0x4000);
mDoMtx_stack_c::quatM(&i_this->mBaseQuat);
if (jntNo == 2)
if (jntNo == OYASHI_JNT_J_HAPPA1_e)
mDoMtx_stack_c::quatM(&i_this->mAnmMtxQuat[0]);
else
mDoMtx_stack_c::quatM(&i_this->mAnmMtxQuat[1]);
+1 -1
View File
@@ -406,7 +406,7 @@ void daObj_Pfall_c::nz_draw() {
J3DModel* pModel = mpMorf->getModel();
J3DModelData* pModelData = pModel->getModelData();
J3DJoint* rootJoint = pModelData->getJointNodePointer(0);
J3DJoint* rootJoint = pModelData->getJointNodePointer(NZ_JNT_KOSI_e);
J3DShape* matShape = pModelData->getMaterialNodePointer(0)->getShape();
J3DShape* matShape2 = pModelData->getMaterialNodePointer(1)->getShape();
+1 -1
View File
@@ -182,7 +182,7 @@ BOOL daObjShmrgrd_c::create_heap() {
if (mdl_data != NULL) {
mpModel = mDoExt_J3DModel__create(mdl_data, 0, 0x11020203);
if (mpModel) {
mdl_data->getJointNodePointer(2)->setCallBack(jnodeCB);
mdl_data->getJointNodePointer(SHMRGRD_JNT_HIT_e)->setCallBack(jnodeCB);
mpModel->setUserArea((u32) this);
mpBgW = dBgW_NewSet((cBgD_t *)dComIfG_getObjectRes(M_arcname, dRes_INDEX_SHMRGRD_DZB_HGBASE_e), cBgW::MOVE_BG_e, &mMtx);
if (mpBgW) {
+1 -1
View File
@@ -117,7 +117,7 @@ BOOL daObjSwhammer::Act_c::CreateHeap() {
JUT_ASSERT(0x18b, modelData != NULL);
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000022);
if (mpModel) {
modelData->getJointNodePointer(1)->setCallBack(jnodeCB);
modelData->getJointNodePointer(MHMRSW_JNT_HIT_e)->setCallBack(jnodeCB);
mpModel->setUserArea((u32) this);
}
return mpModel != NULL;
+7 -7
View File
@@ -66,11 +66,11 @@ bool Act_c::create_heap() {
m298 = mDoExt_J3DModel__create(modelData, 0x80000, 0x31000202);
if (m298 != NULL) {
modelData->getJointNodePointer(1)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(2)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(3)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(4)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(5)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(MSUSW_JNT_AFTER_FACE_e)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(MSUSW_JNT_AFTER_FIRE1_e)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(MSUSW_JNT_AFTER_FIRE2_e)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(MSUSW_JNT_BEFORE_FACE_e)->setCallBack(jnodeCB_moon);
modelData->getJointNodePointer(MSUSW_JNT_BEFORE_MIRROR_e)->setCallBack(jnodeCB_moon);
m298->setUserArea((u32)this);
}
@@ -455,8 +455,8 @@ bool Act_c::_draw() {
pJVar1 = 0xff - pJVar1;
setMaterial(pJVar5->getJointNodePointer(4)->getMesh(), pJVar1);
setMaterial_Before_mirror(pJVar5->getJointTree().getJointNodePointer(5)->getMesh(), pJVar1);
setMaterial(pJVar5->getJointNodePointer(MSUSW_JNT_BEFORE_FACE_e)->getMesh(), pJVar1);
setMaterial_Before_mirror(pJVar5->getJointTree().getJointNodePointer(MSUSW_JNT_BEFORE_MIRROR_e)->getMesh(), pJVar1);
mDoExt_modelUpdateDL(m298);
dComIfGd_setList();
+1 -1
View File
@@ -351,7 +351,7 @@ int daObjTpost_c::getMsgXY() {
col.r = REG12_S(0) + 0x80;
col.g = REG12_S(1) + 0x80;
col.b = REG12_S(2) + 0x80;
mDoMtx_stack_c::copy(mMorf->getModel()->getAnmMtx(2));
mDoMtx_stack_c::copy(mMorf->getModel()->getAnmMtx(VPOST_JNT_MOUTH_e));
mDoMtx_stack_c::multVec(&pos, &pos);
dComIfGp_particle_set(dPa_name::ID_IT_JN_LK_GEPPU00, &pos, &shape_angle, &scale, 0xFF, NULL, -1, &col);
+2 -2
View File
@@ -460,8 +460,8 @@ BOOL daObjVolcano::Act_c::Draw() {
dComIfGd_setListBG();
u8 tmp = (s8)(field_0x4F8 * 255.5f);
J3DModelData* model_data = field_0x2F8->getModelData();
set_material(model_data->getJointNodePointer(2)->getMesh(), tmp);
set_material(model_data->getJointNodePointer(1)->getMesh(), tmp);
set_material(model_data->getJointNodePointer(QKZYG_JNT_YG_e)->getMesh(), tmp);
set_material(model_data->getJointNodePointer(QKZYG_JNT_AA_e)->getMesh(), tmp);
mDoExt_modelUpdateDL(field_0x2F8);
if (field_0x4F4 != 0) {
+6 -6
View File
@@ -115,10 +115,10 @@ void daOship_c::_nodeControl(J3DNode* i_nodeP, J3DModel* i_modelP) {
csXyz aim_rot(0, 0, 0);
switch (jnt_no) {
case 1:
case VBTSP_JNT_HEAD_e:
aim_rot.x = mAimRotY;
break;
case 2:
case VBTSP_JNT_CANON_e:
mDoMtx_stack_c::ZrotM(l_HIO.mNode2RotZ);
aim_rot.z = -mAimRotX;
break;
@@ -842,10 +842,10 @@ bool daOship_c::_execute() {
Vec bomb_offset = { 0.0f, 0.0f, 0.0f };
bomb_offset = l_HIO.mBombOffset;
cMtx_multVec(mpModel->getAnmMtx(2), &bomb_offset, &mBombSpawnPos);
cMtx_multVec(mpModel->getAnmMtx(VBTSP_JNT_CANON_e), &bomb_offset, &mBombSpawnPos);
Vec smoke_offset = { 0.0f, 0.0f, 0.0f };
cMtx_multVec(mpModel->getAnmMtx(1), &smoke_offset, &mSmokePos);
cMtx_multVec(mpModel->getAnmMtx(VBTSP_JNT_HEAD_e), &smoke_offset, &mSmokePos);
setAttention();
setCollision();
@@ -977,8 +977,8 @@ BOOL daOship_c::_createHeap() {
mpModel->setUserArea((u32) this);
for (u16 i = 0; i < modelData->getJointNum(); i++) {
switch (i) {
case 1:
case 2:
case VBTSP_JNT_HEAD_e:
case VBTSP_JNT_CANON_e:
modelData->getJointNodePointer(i)->setCallBack(nodeControl_CB);
break;
default:
+5 -5
View File
@@ -182,7 +182,7 @@ BOOL daPy_lk_c::procBottleDrink() {
p_Var3 = &blue;
}
m33A8.makeEmitterColor(
dPa_name::ID_IT_JN_LK_GEPPU00, mpCLModel->getAnmMtx(0x12), &current.pos, &shape_angle, p_Var3, NULL
dPa_name::ID_IT_JN_LK_GEPPU00, mpCLModel->getAnmMtx(CL_JNT_CHIN_JNT_e), &current.pos, &shape_angle, p_Var3, NULL
);
}
} else {
@@ -273,7 +273,7 @@ BOOL daPy_lk_c::procBottleOpen() {
}
} else if (frameCtrl.checkPass(32.0f)) {
m355E = 0;
mRightHandIdx = 8;
mRightHandIdx = HANDS_JNT_CL_RHANDC_e;
}
} else {
if (m32E4.getEmitter() && mProcVar2.m34D4 == 0 && m32E4.getEmitter()->getParticleList() && m32E4.getEmitter()->getParticleList()->getLast()) {
@@ -343,7 +343,7 @@ BOOL daPy_lk_c::procBottleOpen() {
} else {
sp64.y = temp.y;
}
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x08), &sp58);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), &sp58);
sp40 = sp64 - sp58;
mAtCps[0].SetStartEnd(sp58, sp64);
mAtCps[0].SetAtVec(sp40);
@@ -364,7 +364,7 @@ BOOL daPy_lk_c::procBottleOpen() {
(frameCtrl.checkPass(9.0f))
) {
seStartOnlyReverb(JA_SE_LK_SPRINKLE_WATER);
m32E4.makeEmitterColor(dPa_name::ID_AK_JN_SPILLWATER00, mpCLModel->getAnmMtx(0x08), &current.pos, &tevStr.mColorK0, &tevStr.mColorK0);
m32E4.makeEmitterColor(dPa_name::ID_AK_JN_SPILLWATER00, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), &current.pos, &tevStr.mColorK0, &tevStr.mColorK0);
dCcG_At_Spl spl;
if (mEquipItem == dItemNo_WATER_BOTTLE_e) {
spl = dCcG_At_Spl_UNK0;
@@ -430,7 +430,7 @@ BOOL daPy_lk_c::procBottleSwing_init(int param_0) {
fopAc_ac_c* catch_target = dComIfGp_att_getCatghTarget();
BOOL bVar1;
if (catch_target != 0) {
if (catch_target->current.pos.y > mpCLModel->getAnmMtx(0)[1][3]) {
if (catch_target->current.pos.y > mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e)[1][3]) {
bVar1 = false;
} else {
bVar1 = true;
+5 -5
View File
@@ -24,10 +24,10 @@ BOOL daPy_lk_c::bowJointCB(int param_0) {
if (param_0 == 6) {
mDoMtx_stack_c::transS(0.0f, 4.5f, 4.5f);
mDoMtx_stack_c::revConcat(mpEquipItemModel->getAnmMtx(6));
mDoMtx_stack_c::revConcat(mpEquipItemModel->getAnmMtx(BOW_JNT_LINEAB_JNT_e));
mpEquipItemModel->setAnmMtx(param_0, mDoMtx_stack_c::get());
} else {
mpEquipItemModel->setAnmMtx(11, mpEquipItemModel->getAnmMtx(6));
mpEquipItemModel->setAnmMtx(BOW_JNT_LINEBB_JNT_e, mpEquipItemModel->getAnmMtx(BOW_JNT_LINEAB_JNT_e));
}
return true;
}
@@ -223,12 +223,12 @@ void daPy_lk_c::setBowModel() {
}
mDoExt_setCurrentHeap(oldHeap);
m35EC = 0.0f;
J3DMaterial* lineMat_mtl = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext();
J3DMaterial* lineMat_mtl = mpEquipItemModel->getModelData()->getJointNodePointer(BOW_JNT_CL_BOW_e)->getMesh()->getNext();
J3DMaterial* lineDamMAT_mtl = lineMat_mtl->getNext();
lineMat_mtl->getShape()->show();
lineDamMAT_mtl->getShape()->hide();
tmp_modelData->getJointNodePointer(6)->setCallBack(daPy_bowJointCB);
tmp_modelData->getJointNodePointer(11)->setCallBack(daPy_bowJointCB);
tmp_modelData->getJointNodePointer(BOW_JNT_LINEAB_JNT_e)->setCallBack(daPy_bowJointCB);
tmp_modelData->getJointNodePointer(BOW_JNT_LINEBB_JNT_e)->setCallBack(daPy_bowJointCB);
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
}
+10 -10
View File
@@ -858,7 +858,7 @@ BOOL daPy_lk_c::dProcLavaDamage_init() {
commonProcInit(daPyProc_DEMO_LAVA_DAMAGE_e);
mNormalSpeed = 0.0f;
setSingleMoveAnime(ANM_LAVADAM, m_HIO->mRestart.m.field_0x0, 0.0f, -1, m_HIO->mRestart.m.field_0x4);
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(0), &current.pos, NULL);
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), &current.pos, NULL);
if (dComIfGp_event_compulsory(this)) {
dProcLavaDamage_init_sub();
} else {
@@ -886,11 +886,11 @@ extern GXColor l_freeze_fade_color;
/* 8012EF78-8012F0DC .text dProcFreezeDamage_init_sub__9daPy_lk_cFi */
void daPy_lk_c::dProcFreezeDamage_init_sub(int param_0) {
static const u16 eff_joint[] = {
0x0007,
0x000B,
0x001A,
0x000E,
0x001E,
CL_JNT_LARMB_JNT_e,
CL_JNT_RARMB_JNT_e,
CL_JNT_HATA_JNT_e,
CL_JNT_NECK_JNT_e,
CL_JNT_WAIST_JNT_e,
};
if (param_0 != 0) {
@@ -1252,8 +1252,8 @@ BOOL daPy_lk_c::dProcTalismanWait_init() {
mNormalSpeed = 0.0f;
setTalismanModel();
m32E4.makeEmitter(dPa_name::ID_IT_JN_OMAMORI_TSUBU00, mpEquipItemModel->getBaseTRMtx(), &current.pos, NULL);
mpEquipItemModel->setBaseTRMtx(mpCLModel->getAnmMtx(12));
mDoMtx_stack_c::copy(mpCLModel->getAnmMtx(12));
mpEquipItemModel->setBaseTRMtx(mpCLModel->getAnmMtx(CL_JNT_CL_RHANDA_e));
mDoMtx_stack_c::copy(mpCLModel->getAnmMtx(CL_JNT_CL_RHANDA_e));
f32 adjust = cM_ssin(g_Counter.mTimer * 1512);
mDoMtx_stack_c::transM(7.0f, 0.0f, 15.0f + 3.0f * adjust);
mDoMtx_stack_c::multVecZero(&m338C.getPos());
@@ -1268,7 +1268,7 @@ BOOL daPy_lk_c::dProcTalismanWait() {
setShipRidePos(1);
}
cXyz* pcVar1 = &m338C.getPos();
mDoMtx_stack_c::copy(mpCLModel->getAnmMtx(12));
mDoMtx_stack_c::copy(mpCLModel->getAnmMtx(CL_JNT_CL_RHANDA_e));
f32 adjust = cM_ssin(g_Counter.mTimer * 1512);
mDoMtx_stack_c::transM(7.0f, 0.0f, 15.0f + 3.0f * adjust);
mDoMtx_stack_c::multVecZero(pcVar1);
@@ -1787,7 +1787,7 @@ BOOL daPy_lk_c::dProcVorcanoFail_init() {
speed.y = 18.0f;
gravity = 0.0f;
setSingleMoveAnime(ANM_LAVADAM, m_HIO->mRestart.m.field_0x0, 0.0f, -1, m_HIO->mRestart.m.field_0x4);
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(0), &current.pos, NULL);
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), &current.pos, NULL);
return true;
}
+16 -16
View File
@@ -29,13 +29,13 @@ BOOL daPy_lk_c::fanWindCrashEffectDraw() {
/* 8014BB38-8014BBE8 .text fanJointCB__9daPy_lk_cFi */
BOOL daPy_lk_c::fanJointCB(int param_0) {
if (param_0 == 2) {
if (param_0 == FANSMALL_JNT_FANSMA_JNT_e) {
mDoMtx_stack_c::ZrotS(m3558);
} else {
mDoMtx_stack_c::ZrotS(m355A);
}
mDoMtx_stack_c::revConcat(mpEquipItemModel->getAnmMtx(param_0));
mpEquipItemModel->setAnmMtx(1 * param_0, mDoMtx_stack_c::get());
mpEquipItemModel->setAnmMtx(FANSMALL_JNT_FANSMROOT_JNT_e * param_0, mDoMtx_stack_c::get());
mDoMtx_copy(mDoMtx_stack_c::get(), j3dSys.mCurrentMtx);
return true;
}
@@ -54,15 +54,15 @@ BOOL daPy_fanJointCallback(J3DNode* node, int calcTiming) {
/* 8014BC2C-8014BD08 .text parachuteJointCB__9daPy_lk_cFi */
BOOL daPy_lk_c::parachuteJointCB(int param_0) {
if (param_0 == 3 || param_0 == 9) {
if (param_0 == FANB_JNT_LARMB_e || param_0 == FANB_JNT_RARMB_e) {
mDoMtx_stack_c::transS(m3600, 0.0f, 0.0f);
} else if (param_0 == 1 || param_0 == 7) {
} else if (param_0 == FANB_JNT_LROOT_e || param_0 == FANB_JNT_RROOT_e) {
mDoMtx_stack_c::YrotS(m355E);
} else {
return true;
}
mDoMtx_stack_c::revConcat(mpEquipItemModel->getAnmMtx(param_0));
mpEquipItemModel->setAnmMtx(1 * param_0, mDoMtx_stack_c::get());
mpEquipItemModel->setAnmMtx(FANB_JNT_LROOT_e * param_0, mDoMtx_stack_c::get());
mDoMtx_copy(mDoMtx_stack_c::get(), j3dSys.mCurrentMtx);
return true;
}
@@ -83,7 +83,7 @@ BOOL daPy_parachuteJointCallback(J3DNode* node, int calcTiming) {
int daPy_lk_c::setShapeFanLeaf() {
J3DMaterial* mtl;
if (mpEquipItemModel != NULL) {
mtl = mpEquipItemModel->getModelData()->getJointNodePointer(0x00)->getMesh()->getNext();
mtl = mpEquipItemModel->getModelData()->getJointNodePointer(FAN_JNT_CL_FAN_e)->getMesh()->getNext();
}
m355C = m355C + 0x82f;
m3558 = 1536.0f * cM_ssin(m355C);
@@ -140,8 +140,8 @@ void daPy_lk_c::setSmallFanModel() {
}
mDoExt_setCurrentHeap(oldHeap);
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
tmp_modelData->getJointNodePointer(0x02)->setCallBack(daPy_fanJointCallback);
tmp_modelData->getJointNodePointer(0x03)->setCallBack(daPy_fanJointCallback);
tmp_modelData->getJointNodePointer(FANSMALL_JNT_FANSMA_JNT_e)->setCallBack(daPy_fanJointCallback);
tmp_modelData->getJointNodePointer(FANSMALL_JNT_FANSMB_JNT_e)->setCallBack(daPy_fanJointCallback);
m355C = 0;
}
@@ -173,10 +173,10 @@ void daPy_lk_c::setParachuteFanModel(f32 f31) {
mpEquipItemModel = mpParachuteFanMorf->getModel();
mDoExt_setCurrentHeap(oldHeap);
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
modelData->getJointNodePointer(0x01)->setCallBack(daPy_parachuteJointCallback); // Lroot joint
modelData->getJointNodePointer(0x07)->setCallBack(daPy_parachuteJointCallback); // Rroot joint
modelData->getJointNodePointer(0x03)->setCallBack(daPy_parachuteJointCallback); // LarmB joint
modelData->getJointNodePointer(0x09)->setCallBack(daPy_parachuteJointCallback); // RarmB joint
modelData->getJointNodePointer(FANB_JNT_LROOT_e)->setCallBack(daPy_parachuteJointCallback);
modelData->getJointNodePointer(FANB_JNT_RROOT_e)->setCallBack(daPy_parachuteJointCallback);
modelData->getJointNodePointer(FANB_JNT_LARMB_e)->setCallBack(daPy_parachuteJointCallback);
modelData->getJointNodePointer(FANB_JNT_RARMB_e)->setCallBack(daPy_parachuteJointCallback);
}
/* 8014C254-8014C34C .text procFanSwing_init__9daPy_lk_cFv */
@@ -228,7 +228,7 @@ BOOL daPy_lk_c::procFanSwing() {
if (mFanSwingCb.getEmitter() != NULL) {
mFanSwingCb.deleteCallBack();
}
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0), &local_6c);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), &local_6c);
dComIfGp_particle_setP1(dPa_name::ID_AK_JN_LEAFFAN00, &local_6c, &shape_angle, NULL, 0xff, &mFanSwingCb, -1);
}
@@ -265,7 +265,7 @@ BOOL daPy_lk_c::procFanSwing() {
}
mpYuchw00Brk->setFrame(0.0f);
m33E8.end();
m33E8.makeEmitter(dPa_name::ID_AK_JN_UCHIWAWIND00, mpYuchw00Model->getAnmMtx(2), &local_60, NULL);
m33E8.makeEmitter(dPa_name::ID_AK_JN_UCHIWAWIND00, mpYuchw00Model->getAnmMtx(YUCHW00_JNT_LWIND_e), &local_60, NULL);
pJVar5 = m33E8.getEmitter();
if (pJVar5 != NULL) {
pJVar5->setGlobalPrmColor(tevStr.mColorC0.r, tevStr.mColorC0.g, tevStr.mColorC0.b);
@@ -372,11 +372,11 @@ BOOL daPy_lk_c::procFanGlide() {
if (frameCtrl.checkPass(4.0f)) {
JPABaseEmitter* emitter = dComIfGp_particle_setP1(dPa_name::ID_AK_JN_LEAFPARACHUTE00, &current.pos);
if (emitter) {
emitter->setGlobalRTMatrix(mpCLModel->getAnmMtx(0xf));
emitter->setGlobalRTMatrix(mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e));
}
}
if (frameCtrl.getRate() < 0.01f && mProcVar6.m3570 == 0 && m32E4.getEmitter() == NULL) {
m32E4.makeEmitter(dPa_name::ID_AK_JN_LEAFPARACHUTE01, mpCLModel->getAnmMtx(0xf), &current.pos, NULL);
m32E4.makeEmitter(dPa_name::ID_AK_JN_LEAFPARACHUTE01, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), &current.pos, NULL);
}
if (frameCtrl.getFrame() > 2.0f || mProcVar6.m3570 != 0) {
+1 -1
View File
@@ -105,7 +105,7 @@ BOOL daPy_lk_c::changeHangMoveProc(int i_direction) {
/* 801342D8-80134440 .text changeHangEndProc__9daPy_lk_cFi */
int daPy_lk_c::changeHangEndProc(int param_0) {
MtxP mtx = mpCLModel->getAnmMtx(0);
MtxP mtx = mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e);
cXyz pos;
pos.x = mtx[0][3] - cM_ssin(shape_angle.y) * 4.0f;
pos.y = mtx[1][3];
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+44 -44
View File
@@ -471,24 +471,24 @@ void daPy_dmEcallBack_c::execute(JPABaseEmitter* emitter) {
/* 8012A288-8012A8D8 .text setAuraEffect__9daPy_lk_cFv */
void daPy_lk_c::setAuraEffect() {
static const u16 aura_emitter_joint[] = {
0x0007,
0x000B,
0x0008,
0x000C,
0x0021,
0x0026,
0x0022,
0x0027,
0x0000,
0x000F,
CL_JNT_LARMB_JNT_e,
CL_JNT_RARMB_JNT_e,
CL_JNT_CL_LHANDA_e,
CL_JNT_CL_RHANDA_e,
CL_JNT_LLEGB_JNT_e,
CL_JNT_RLEGB_JNT_e,
CL_JNT_LFOOT_JNT_e,
CL_JNT_RFOOT_JNT_e,
CL_JNT_LINK_ROOT_e,
CL_JNT_HEAD_JNT_e,
};
static const u16 aura_model_joint[] = {
0x0000,
0x000F,
0x0008,
0x000C,
0x0021,
0x0026,
CL_JNT_LINK_ROOT_e,
CL_JNT_HEAD_JNT_e,
CL_JNT_CL_LHANDA_e,
CL_JNT_CL_RHANDA_e,
CL_JNT_LLEGB_JNT_e,
CL_JNT_RLEGB_JNT_e,
};
J3DAnmTevRegKey* curYaura00Brk = mYaura00rBrk.getBrkAnm();
@@ -685,7 +685,7 @@ void daPy_lk_c::setWaterRipple() {
mSwimTailEcallBack[1].setSpeedRate(std::fabsf(mNormalSpeed / mMaxNormalSpeed));
}
cXyz local_1c;
cMtx_multVec(mpCLModel->getAnmMtx(15), &wave_offset, &local_1c);
cMtx_multVec(mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), &wave_offset, &local_1c);
local_1c.y = mWaterY;
@@ -702,7 +702,7 @@ void daPy_lk_c::setWaterRipple() {
mSwimTailEcallBack[1].setWaterFlatY(mAcch.m_wtr.GetHeight());
cXyz local_40;
cMtx_multVec(mpCLModel->getAnmMtx(15), &swim_offset, &local_40);
cMtx_multVec(mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), &swim_offset, &local_40);
MtxP suimenMunyaMtx = mpSuimenMunyaModel->getBaseTRMtx();
cXyz local_4c;
@@ -726,12 +726,12 @@ void daPy_lk_c::setWaterRipple() {
}
if (dPa_control_c::isStatus(0x01)) {
MtxP mtx = mpCLModel->getAnmMtx(15);
MtxP head_jnt_mtx = mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e);
cXyz local_5c;
mDoMtx_multVecZero(mtx, &local_5c);
mDoMtx_multVecZero(head_jnt_mtx, &local_5c);
cXyz local_68;
cMtx_multVec(mtx, &swim_side_offset, &local_68);
cMtx_multVec(head_jnt_mtx, &swim_side_offset, &local_68);
cXyz local_74(local_5c.x * 2.0f - local_68.x, local_5c.y, local_5c.z * 2.0f - local_68.z);
cXyz local_80(local_5c.x * 2.0f - local_40.x, local_5c.y, local_5c.z * 2.0f - local_40.z);
@@ -763,7 +763,7 @@ void daPy_lk_c::setWaterRipple() {
if (((mAcch.ChkGroundHit() || checkModeFlg(ModeFlg_SWIM)) && mCurrAttributeCode == dBgS_Attr_WATERFALL_e) || (checkModeFlg(ModeFlg_HANG) && m3588 == 0x17)) {
if (m3400.getEmitter() == NULL) {
m3400.makeEmitter(dPa_name::ID_AK_JN_ELEMENTSHIBUKI00, mpCLModel->getAnmMtx(15), &current.pos, NULL);
m3400.makeEmitter(dPa_name::ID_AK_JN_ELEMENTSHIBUKI00, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), &current.pos, NULL);
JPABaseEmitter* emitter = m3400.getEmitter();
if (emitter != NULL) {
@@ -775,7 +775,7 @@ void daPy_lk_c::setWaterRipple() {
if (m34CD == 0) {
cXyz local_ac;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0), &local_ac);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), &local_ac);
dComIfGp_particle_setSingleRipple(dPa_name::ID_IT_JN_WP_HAMON03, &local_ac, NULL, (cXyz*)&waterfall_ripple_scale);
m34CD = 15;
@@ -933,12 +933,12 @@ void daPy_lk_c::setFootEffect() {
cXyz pos;
if (getFootOnGround()) {
if (getRightFootOnGround()) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x27), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_RFOOT_JNT_e), &pos);
setFootMark(&pos);
}
if (getLeftFootOnGround()) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x22), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LFOOT_JNT_e), &pos);
setFootMark(&pos);
}
}
@@ -1016,7 +1016,7 @@ void daPy_lk_c::setFootEffect() {
if (mCurProc == daPyProc_DEMO_LAST_COMBO_e) {
f32 rnd = cM_rndFX(17.5f);
cXyz sp44 = m370C;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x1), &m370C);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_CENTER_e), &m370C);
if (mProcVar6.m3570 != 0) {
current.angle.y = shape_angle.y - 0x4000;
@@ -1038,25 +1038,25 @@ void daPy_lk_c::setFootEffect() {
setFootEffectType(effectID, &pos, 0, var_r29);
} else if (mFootEffectPosType == 3) {
if (mCurrAttributeCode == dBgS_Attr_GRASS_e || mCurrAttributeCode == dBgS_Attr_WATER_e) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x27), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_RFOOT_JNT_e), &pos);
setFootEffectType(effectID, &pos, 0, var_r29);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x22), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LFOOT_JNT_e), &pos);
setFootEffectType(effectID, &pos, 1, var_r29);
} else {
setFootEffectType(effectID, &current.pos, 0, var_r29);
}
} else if (mFootEffectPosType == 1) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x22), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LFOOT_JNT_e), &pos);
setFootEffectType(effectID, &pos, 0, var_r29);
} else if (mFootEffectPosType == 2) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x27), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_RFOOT_JNT_e), &pos);
setFootEffectType(effectID, &pos, 0, var_r29);
} else if (mFootEffectPosType == 5) {
setFootEffectType(effectID, &current.pos, 0, 1);
} else if (mFootEffectPosType == 6) {
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), &pos);
mGndChk.SetPos(&pos);
@@ -1099,7 +1099,7 @@ void daPy_lk_c::setSwimTail() {
void daPy_lk_c::setCutWaterSplash() {
if (m336C.getEmitter() != NULL) {
cXyz pos;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(4), &pos);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_CHEST_JNT_e), &pos);
dComIfGp_particle_setP1(dPa_name::ID_IT_JN_LK_NURE_SHIBUKI00, &pos);
}
@@ -1129,12 +1129,12 @@ void daPy_lk_c::setSwimWaterDrop(daPy_waterDropEcallBack_c* callBack) {
/* 8012C45C-8012C620 .text setWaterDrop__9daPy_lk_cFv */
void daPy_lk_c::setWaterDrop() {
MtxP mtx = mpCLModel->getAnmMtx(0x0E);
MtxP neck_jnt_mtx = mpCLModel->getAnmMtx(CL_JNT_NECK_JNT_e);
cXyz tmp;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x0E), &tmp);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_NECK_JNT_e), &tmp);
m334C.setPos(&tmp);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x02), &tmp);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_BODY_CHN_e), &tmp);
m336C.setPos(&tmp);
if (checkModeFlg(ModeFlg_00000001)) {
@@ -1158,11 +1158,11 @@ void daPy_lk_c::setWaterDrop() {
mAcch.GetRoofHeight() == G_CM3D_F_INF
) {
if (m3460[0].getEmitter() == NULL) {
m3460[0].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(0x0E), &current.pos, NULL);
m3460[0].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(CL_JNT_NECK_JNT_e), &current.pos, NULL);
}
if (m3460[1].getEmitter() == NULL) {
m3460[1].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(0x02), &current.pos, NULL);
m3460[1].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(CL_JNT_BODY_CHN_e), &current.pos, NULL);
}
m334C.end();
@@ -1180,10 +1180,10 @@ void daPy_lk_c::setWaterDrop() {
void daPy_lk_c::setDamageFlameEmitter() {
static JGeometry::TVec3<f32> arm_flame_scale(0.6f, 0.6f, 0.6f);
static const u16 flame_joint[ARRAY_SIZE(mDmEcallBack)] = {
0x000F, // head_jnt
0x0003, // stomach_jnt
0x0007, // LarmB_jnt
0x000B, // RarmB_jnt
CL_JNT_HEAD_JNT_e,
CL_JNT_STOMACH_JNT_e,
CL_JNT_LARMB_JNT_e,
CL_JNT_RARMB_JNT_e,
};
if (!daPy_dmEcallBack_c::checkFlame()) {
@@ -1212,7 +1212,7 @@ void daPy_lk_c::setDamageCurseEmitter() {
if (!daPy_dmEcallBack_c::checkCurse()) {
endDamageEmitter();
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_SN_BUBBLECURSE00, mpCLModel->getAnmMtx(0x1E), &current.pos, NULL);
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_SN_BUBBLECURSE00, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), &current.pos, NULL);
if (checkUpperReadyThrowAnime()) {
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
@@ -1229,8 +1229,8 @@ void daPy_lk_c::setDamageElecEmitter() {
if (!daPy_dmEcallBack_c::checkElec()) {
endDamageEmitter();
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER00, mpCLModel->getAnmMtx(4), &current.pos, NULL);
mDmEcallBack[1].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER01, mpCLModel->getAnmMtx(4), &current.pos, NULL);
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER00, mpCLModel->getAnmMtx(CL_JNT_CHEST_JNT_e), &current.pos, NULL);
mDmEcallBack[1].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER01, mpCLModel->getAnmMtx(CL_JNT_CHEST_JNT_e), &current.pos, NULL);
}
daPy_dmEcallBack_c::setElec(m_HIO->mDam.mElecDamage.m.field_0x2);
+1 -1
View File
@@ -626,7 +626,7 @@ BOOL daPy_lk_c::procRopeSwing() {
}
cXyz sp34;
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x28), &sp34);
mDoMtx_multVecZero(mpCLModel->getAnmMtx(CL_JNT_RTOE_JNT_e), &sp34);
fopAc_ac_c* rope = mActorKeepRope.getActor();
mRopePos = rope->current.pos;
dComIfGp_setRStatus(dActStts_STOP_e);
+8 -8
View File
@@ -171,7 +171,7 @@ void daPy_lk_c::setLightSaver() {
{
simpleAnmPlay(mpSwordBtk);
if ((m3454.getEmitter() == NULL) && (checkChanceMode() || checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP))) {
pJVar7 = m3454.makeEmitter(dPa_name::ID_AK_JN_LIGHTSAVER00, mpSwordModel1->getAnmMtx(2), &current.pos, NULL);
pJVar7 = m3454.makeEmitter(dPa_name::ID_AK_JN_LIGHTSAVER00, mpSwordModel1->getAnmMtx(YMSLI00_JNT_SWMSA_JNT_e), &current.pos, NULL);
if (pJVar7 != 0) {
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
@@ -212,7 +212,7 @@ void daPy_lk_c::setLightSaver() {
dPa_name::ID_AK_JN_LIGHTSAVER01, &current.pos, NULL, NULL, 0xFF, NULL, -1, pbVar9, pbVar8, NULL
);
if (pJVar7 != 0) {
pJVar7->setGlobalRTMatrix(mpEquipItemModel->getAnmMtx(2));
pJVar7->setGlobalRTMatrix(mpEquipItemModel->getAnmMtx(SWMS_JNT_SWMSA_JNT_e));
if (checkMasterSwordEquip()) {
pJVar7->setGlobalDynamicsScale(d_scale);
pJVar7->setGlobalParticleScale(p_scale);
@@ -1405,17 +1405,17 @@ BOOL daPy_lk_c::procCutTurn_init(BOOL param_0) {
offResetFlg0(daPyRFlg0_NOT_ATTACKING);
mAtCyl.SetR(m35A4 * 0.5f);
if (!checkNoResetFlg0(daPyFlg0_UNK80000000)) {
m32E4.makeEmitter(dPa_name::ID_AK_JN_ROUNDATTACKTOE, mpCLModel->getAnmMtx(0x28), &current.pos, NULL);
m32E4.makeEmitter(dPa_name::ID_AK_JN_ROUNDATTACKTOE, mpCLModel->getAnmMtx(CL_JNT_RTOE_JNT_e), &current.pos, NULL);
if (mCurrAttributeCode == dBgS_Attr_GRASS_e) {
GXColor color = {tevStr.mColorC0.r, tevStr.mColorC0.g, tevStr.mColorC0.b, tevStr.mColorC0.a};
m32F0.makeEmitterColor(
dPa_name::ID_AK_JN_ROUNDATTACKKUSA, mpCLModel->getAnmMtx(0x23), &current.pos, &color, &tevStr.mColorK0
dPa_name::ID_AK_JN_ROUNDATTACKKUSA, mpCLModel->getAnmMtx(CL_JNT_LTOE_JNT_e), &current.pos, &color, &tevStr.mColorK0
);
m35A0 = 18.0f;
} else if (mCurrAttributeCode == dBgS_Attr_WATER_e) {
GXColor amb, dif;
dKy_get_seacolor(&amb, &dif);
m32F0.makeEmitterColor(dPa_name::ID_AK_JN_ROUNDATTACKSHIBUKI, mpCLModel->getAnmMtx(0x23), &current.pos, &amb, NULL);
m32F0.makeEmitterColor(dPa_name::ID_AK_JN_ROUNDATTACKSHIBUKI, mpCLModel->getAnmMtx(CL_JNT_LTOE_JNT_e), &current.pos, &amb, NULL);
m35A0 = 17.0f;
} else {
dComIfGp_particle_setToonP1(
@@ -1636,7 +1636,7 @@ BOOL daPy_lk_c::procCutRollEnd_init() {
static JGeometry::TVec3<f32> emitter_trans(0.0f, 55.0f, 0.0f);
static JGeometry::TVec3<f32> particle_scale(0.76f, 0.76f, 0.76f);
JPABaseEmitter* emitter =
m33A8.makeEmitter(dPa_name::ID_IT_JN_PIYOPIYO00, mpCLModel->getAnmMtx(15), &current.pos, NULL);
m33A8.makeEmitter(dPa_name::ID_IT_JN_PIYOPIYO00, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), &current.pos, NULL);
if (emitter != NULL) {
emitter->becomeImmortalEmitter();
emitter->setVolumeSize(5);
@@ -1710,8 +1710,8 @@ BOOL daPy_lk_c::procCutTurnMove_init() {
dComIfGp_getMiniGameType() != 6)
{
pcVar4 = checkNormalSwordEquip() ? NULL : (cXyz*)&eff_scale;
m32E4.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER00, mpCLModel->getAnmMtx(8), &current.pos, pcVar4);
m32F0.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER01, mpCLModel->getAnmMtx(8), &current.pos, pcVar4);
m32E4.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER00, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), &current.pos, pcVar4);
m32F0.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER01, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), &current.pos, pcVar4);
mProcVar0.m34D0 = 47;
} else {
mProcVar0.m34D0 = -1;
+3 -3
View File
@@ -153,7 +153,7 @@ BOOL daPy_lk_c::procVomitWait() {
BOOL daPy_lk_c::procVomitJump_init(int param_0) {
commonProcInit(daPyProc_VOMIT_JUMP_e);
m35C4 = 40.0f;
float fVar1;
f32 fVar1;
if (param_0 == 2 || param_0 == 3) {
fVar1 = 3.0f;
} else {
@@ -167,9 +167,9 @@ BOOL daPy_lk_c::procVomitJump_init(int param_0) {
mProcVar0.m34D0 = 2;
m33A8.makeEmitterColor(
dPa_name::ID_IT_SN_LK_BLUR00,
mpCLModel->getAnmMtx(0x12),
mpCLModel->getAnmMtx(CL_JNT_CHIN_JNT_e),
&current.pos,
(csXyz*)&shape_angle,
&shape_angle,
&tevStr.mColorK0,
&tevStr.mColorK0
);
+1 -1
View File
@@ -205,7 +205,7 @@ void action_dousa(pw_class* i_this) {
i_this->m38C = fopAcM_searchPlayerAngleY(i_this);
JPABaseEmitter* particle = dComIfGp_particle_set(dPa_name::ID_AK_SN_POUGETLAMP00, &i_this->m2CC, &i_this->shape_angle);
if (particle != NULL) {
particle->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(0x17)); // j_pw_item_r1 joint
particle->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(PW_JNT_J_PW_ITEM_R1_e));
}
i_this->attention_info.flags = 0;
i_this->mMode = 0x0A;
+50 -30
View File
@@ -261,7 +261,7 @@ BOOL daRd_c::_createHeap() {
return FALSE;
}
modelData->getJointNodePointer(0x0C)->setCallBack(nodeHeadControl_CB); // ree_atama_1
modelData->getJointNodePointer(RD_JNT_REE_ATAMA_1_e)->setCallBack(nodeHeadControl_CB);
J3DAnmTevRegKey* brk = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(m_arc_name, dRes_INDEX_RD_BRK_NML_e));
JUT_ASSERT(DEMO_SELECT(553, 550), brk != NULL);
@@ -293,133 +293,133 @@ bool daRd_c::createArrowHeap() {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ RD_JNT_REE_KOSI_1_e,
/* mRadius */ 4.0f,
/* mpOffsets */ kosi1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ RD_JNT_REE_KOSI_1_e,
/* mRadius */ 4.0f,
/* mpOffsets */ kosi2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ RD_JNT_REE_KOSI_1_e,
/* mRadius */ 4.0f,
/* mpOffsets */ kosi3_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x02,
/* mJointIndex */ RD_JNT_REE_ASI_L1_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03,
/* mJointIndex */ RD_JNT_REE_ASI_L2_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x04,
/* mJointIndex */ RD_JNT_REE_ASI_L3_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi3_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x05,
/* mJointIndex */ RD_JNT_REE_ASI_R1_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x06,
/* mJointIndex */ RD_JNT_REE_ASI_R2_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x07,
/* mJointIndex */ RD_JNT_REE_ASI_R3_e,
/* mRadius */ 2.0f,
/* mpOffsets */ asi3_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x08,
/* mJointIndex */ RD_JNT_REE_MUNE_1_e,
/* mRadius */ 6.0f,
/* mpOffsets */ sebone_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09,
/* mJointIndex */ RD_JNT_REE_MUNE_2_e,
/* mRadius */ 10.0f,
/* mpOffsets */ muneA_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09,
/* mJointIndex */ RD_JNT_REE_MUNE_2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ muneB1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09,
/* mJointIndex */ RD_JNT_REE_MUNE_2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ muneB2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x09,
/* mJointIndex */ RD_JNT_REE_MUNE_2_e,
/* mRadius */ 6.0f,
/* mpOffsets */ muneB3_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0F,
/* mJointIndex */ RD_JNT_REE_UDE_L1_e,
/* mRadius */ 2.0f,
/* mpOffsets */ ude1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x10,
/* mJointIndex */ RD_JNT_REE_UDE_L2_e,
/* mRadius */ 2.0f,
/* mpOffsets */ ude2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x11,
/* mJointIndex */ RD_JNT_REE_TEKUBI_L1_e,
/* mRadius */ 6.0f,
/* mpOffsets */ te_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x12,
/* mJointIndex */ RD_JNT_REE_YUBI_L1_e,
/* mRadius */ 6.0f,
/* mpOffsets */ yubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x13,
/* mJointIndex */ RD_JNT_REE_UDE_R1_e,
/* mRadius */ 2.0f,
/* mpOffsets */ ude1_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x14,
/* mJointIndex */ RD_JNT_REE_UDE_R2_e,
/* mRadius */ 2.0f,
/* mpOffsets */ ude2_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x15,
/* mJointIndex */ RD_JNT_REE_TEKUBI_R1_e,
/* mRadius */ 6.0f,
/* mpOffsets */ te_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x16,
/* mJointIndex */ RD_JNT_REE_YUBI_R1_e,
/* mRadius */ 6.0f,
/* mpOffsets */ yubi_cyl_offset,
},
@@ -744,7 +744,7 @@ void daRd_c::setIceCollision() {
void daRd_c::setAttention() {
cXyz attnPos(60.0f, 0.0f, 0.0f);
cXyz eyeballPos(60.0f, 0.0f, 0.0f);
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(0x0C)); // ree_atama_1 joint
mDoMtx_stack_c::copy(mpMorf->getModel()->getAnmMtx(RD_JNT_REE_ATAMA_1_e));
mDoMtx_stack_c::multVec(&attnPos, &attention_info.position);
mDoMtx_stack_c::multVecZero(&eyeballPos);
eyePos = eyeballPos;
@@ -1788,10 +1788,10 @@ void daRd_c::createInit() {
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this));
mAcch.SetRoofNone();
J3DModelData* modelData = mpMorf->getModel()->getModelData();
mJntCtrl.setHeadJntNum(0x0A); // ree_kubi_1
mJntCtrl.setBackboneJntNum(0x08); // ree_mune_1
modelData->getJointNodePointer(0x0A)->setCallBack(nodeControl_CB); // ree_kubi_1
modelData->getJointNodePointer(0x08)->setCallBack(nodeControl_CB); // ree_mune_1
mJntCtrl.setHeadJntNum(RD_JNT_REE_KUBI_1_e);
mJntCtrl.setBackboneJntNum(RD_JNT_REE_MUNE_1_e);
modelData->getJointNodePointer(RD_JNT_REE_KUBI_1_e)->setCallBack(nodeControl_CB);
modelData->getJointNodePointer(RD_JNT_REE_MUNE_1_e)->setCallBack(nodeControl_CB);
setBtkAnm(2);
if (mChecksSwitch == 0) {
@@ -1835,12 +1835,32 @@ void daRd_c::createInit() {
mEnemyFire.mpMcaMorf = mpMorf;
mEnemyFire.mpActor = this;
static u8 fire_j[ARRAY_SIZE(mEnemyFire.mFlameJntIdxs)] = {
0x0C, 0x01, 0x0F, 0x11, 0x13, 0x15, 0x02, 0x04, 0x05, 0x07,
RD_JNT_REE_ATAMA_1_e,
RD_JNT_REE_KOSI_1_e,
RD_JNT_REE_UDE_L1_e,
RD_JNT_REE_TEKUBI_L1_e,
RD_JNT_REE_UDE_R1_e,
RD_JNT_REE_TEKUBI_R1_e,
RD_JNT_REE_ASI_L1_e,
RD_JNT_REE_ASI_L3_e,
RD_JNT_REE_ASI_R1_e,
RD_JNT_REE_ASI_R3_e,
};
static f32 fire_sc[ARRAY_SIZE(mEnemyFire.mParticleScale)] = {
2.0f, 2.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
2.0f, // RD_JNT_REE_ATAMA_1_e
2.0f, // RD_JNT_REE_KOSI_1_e
1.0f, // RD_JNT_REE_UDE_L1_e
1.0f, // RD_JNT_REE_TEKUBI_L1_e
1.0f, // RD_JNT_REE_UDE_R1_e
1.0f, // RD_JNT_REE_TEKUBI_R1_e
1.0f, // RD_JNT_REE_ASI_L1_e
1.0f, // RD_JNT_REE_ASI_L3_e
1.0f, // RD_JNT_REE_ASI_R1_e
1.0f, // RD_JNT_REE_ASI_R3_e
};
for (int i = 0; i < ARRAY_SIZE(mEnemyFire.mFlameJntIdxs); i++) {
mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
mEnemyFire.mParticleScale[i] = fire_sc[i];
+36 -30
View File
@@ -110,13 +110,13 @@ static cXyz l_rope_base_vec(0.0f, -10.0f, 0.0f);
BOOL daShip_c::bodyJointCallBack(int jno) {
J3DModel *pModel = mpBodyAnm->getModel();
if ((jno == 10) || (jno == 5)) {
if ((jno == FN_BODY_JNT_J_FN_STEER1_e) || (jno == FN_BODY_JNT_J_FN_KAJI_e)) {
mDoMtx_stack_c::ZrotS(m0366);
}
else if (jno == 7) {
else if (jno == FN_BODY_JNT_J_FN_SAIL1_e) {
mDoMtx_stack_c::ZrotS(-mSailAngle);
}
else if (jno == 6) {
else if (jno == FN_BODY_JNT_J_FN_MAST_e) {
mDoMtx_stack_c::ZrotS(0xC000);
mDoMtx_stack_c::revConcat(pModel->getAnmMtx(jno));
mpSalvageArmModel->setBaseTRMtx(mDoMtx_stack_c::get());
@@ -146,7 +146,7 @@ static BOOL daShip_bodyJointCallBack(J3DNode* node, int calcTiming) {
/* 00000284-0000033C .text cannonJointCallBack__8daShip_cFi */
BOOL daShip_c::cannonJointCallBack(int jno) {
if (jno == 1) {
if (jno == VFNCN_JNT_CANON1_e) {
mDoMtx_stack_c::XrotS(m0394);
}
else {
@@ -173,8 +173,8 @@ static BOOL daShip_cannonJointCallBack(J3DNode* node, int calcTiming) {
/* 00000380-00000414 .text craneJointCallBack__8daShip_cFv */
BOOL daShip_c::craneJointCallBack() {
mDoMtx_stack_c::ZrotS(-(m0398 + m039C));
mDoMtx_stack_c::revConcat(mpSalvageArmModel->getAnmMtx(1));
mpSalvageArmModel->setAnmMtx(1, mDoMtx_stack_c::get());
mDoMtx_stack_c::revConcat(mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e));
mpSalvageArmModel->setAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e, mDoMtx_stack_c::get());
cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
return TRUE;
}
@@ -1774,7 +1774,7 @@ BOOL daShip_c::procCannon() {
short prev0394 = m0394;
if (target) {
mDoMtx_multVecZero(mpCannonModel->getAnmMtx(2), &cannonPos);
mDoMtx_multVecZero(mpCannonModel->getAnmMtx(VFNCN_JNT_CANON2_e), &cannonPos);
cannonPos = target->eyePos - cannonPos;
@@ -3178,7 +3178,7 @@ void daShip_c::setRopePos() {
spF8 = *currentRopeSegment;
cMtx_multVec(mpSalvageArmModel->getAnmMtx(1), &rope_offset, currentRopeSegment);
cMtx_multVec(mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e), &rope_offset, currentRopeSegment);
if (mProc == &daShip_c::procCraneUp) {
spEC.set(mpLinkModel->getBaseTRMtx()[0][3] - currentRopeSegment->x,
@@ -3230,7 +3230,7 @@ void daShip_c::setRopePos() {
}
if (mRopeCnt == 20 && checkStateFlg(daSFLG_UNK10000000_e)) {
cXyz* r4 = mRopeLine.getPos(0);
mDoMtx_multVecZero(mpSalvageArmModel->getAnmMtx(1), &spE0);
mDoMtx_multVecZero(mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e), &spE0);
spE0 -= *r4;
if (spE0.abs2XZ() < SQUARE(50.0f)) {
@@ -3268,9 +3268,9 @@ void daShip_c::setRopePos() {
}
else {
spC8.set(
currentRopeSegment->x - mpSalvageArmModel->getAnmMtx(1)[0][3],
currentRopeSegment->y - mpSalvageArmModel->getAnmMtx(1)[1][3],
currentRopeSegment->z - mpSalvageArmModel->getAnmMtx(1)[2][3]
currentRopeSegment->x - mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e)[0][3],
currentRopeSegment->y - mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e)[1][3],
currentRopeSegment->z - mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e)[2][3]
);
sVar14 = 0x7fff;
sVar12 = (0x8000 - (m0398 * 2)) - (0x8000 - mCraneBaseAngle) * ((float)m0398 / (float)mCraneBaseAngle);
@@ -3979,7 +3979,7 @@ BOOL daShip_c::execute() {
setHeadAnm();
model2->setBaseTRMtx(model1->getAnmMtx(4));
model2->setBaseTRMtx(model1->getAnmMtx(FN_BODY_JNT_J_FN_GATTAI_e));
mpHeadAnm->calc();
if (mPart == PART_CRANE_e) {
@@ -3991,7 +3991,7 @@ BOOL daShip_c::execute() {
}
mpSalvageArmModel->calc();
setRopePos();
mDoMtx_multVecZero(mpSalvageArmModel->getAnmMtx(1), &m102C);
mDoMtx_multVecZero(mpSalvageArmModel->getAnmMtx(VFNCR_JNT_V_CRANE_ROTATION_e), &m102C);
if (mProc == &daShip_c::procCrane || mProc == &daShip_c::procCraneUp) {
m0434 = mRopeLine.getPos(0);
}
@@ -4009,7 +4009,7 @@ BOOL daShip_c::execute() {
m0434 = NULL;
if (mPart == PART_CANNON_e) {
mDoMtx_multVecZero(mpCannonModel->getAnmMtx(2), &m1038);
mDoMtx_multVecZero(mpCannonModel->getAnmMtx(VFNCN_JNT_CANON2_e), &m1038);
if (mProc != &daShip_c::procCannon) {
m0396 = getAnglePartRate() * 16384.0f;
@@ -4021,7 +4021,7 @@ BOOL daShip_c::execute() {
if (m037A == 30) {
cXyz spE4;
cMtx_multVec(mpCannonModel->getAnmMtx(2), &l_cannon_top, &spE4);
cMtx_multVec(mpCannonModel->getAnmMtx(VFNCN_JNT_CANON2_e), &l_cannon_top, &spE4);
csXyz sp1C;
sp1C.set(getCannonAngleX(), getCannonAngleY(), shape_angle.z);
@@ -4052,10 +4052,10 @@ BOOL daShip_c::execute() {
}
}
cMtx_multVec(model1->getAnmMtx(10), &l_tiller_top_offset, &mTillerTopPos);
cMtx_multVec(model1->getAnmMtx(FN_BODY_JNT_J_FN_STEER1_e), &l_tiller_top_offset, &mTillerTopPos);
daGrid_c* grid;
MtxP mtx = model1->getAnmMtx(7);
MtxP mtx = model1->getAnmMtx(FN_BODY_JNT_J_FN_SAIL1_e);
m0444.x = mtx[0][3];
m0444.y = mtx[1][3];
@@ -4073,7 +4073,7 @@ BOOL daShip_c::execute() {
cMtx_multVecSR(mtx, &top_offset, &spD8);
mpGrid->scale.y = spD8.abs() / 365.0f;
cMtx_multVecSR(model1->getAnmMtx(8), &XZ_top_offset, &spD8);
cMtx_multVecSR(model1->getAnmMtx(FN_BODY_JNT_J_FN_SAIL2_e), &XZ_top_offset, &spD8);
grid->m2200 = 1.0f - (spD8.abs() / 265.0f); // No idea why this is generating an extra lwz instruction for loading mpGrid when the instructions above don't
if (mTornadoActor) {
@@ -4108,7 +4108,7 @@ BOOL daShip_c::execute() {
// This should probably use the mDoMtx_multVecZero inline, but it's not getting inlined
// mDoMtx_multVecZero(model2->getAnmMtx(16), &eyePos);
MtxP jnt_mtx;
jnt_mtx = model2->getAnmMtx(16);
jnt_mtx = model2->getAnmMtx(FN_HEAD_H_JNT_J_FN_ME_L_e);
eyePos.x = jnt_mtx[0][3];
eyePos.y = jnt_mtx[1][3];
eyePos.z = jnt_mtx[2][3];
@@ -4327,7 +4327,7 @@ BOOL daShip_c::execute() {
}
}
cMtx_multVec(mpHeadAnm->getModel()->getAnmMtx(8), &sph_offset, &sp9C);
cMtx_multVec(mpHeadAnm->getModel()->getAnmMtx(FN_HEAD_H_JNT_J_FN_ATAMA_e), &sph_offset, &sp9C);
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
mSph.SetTgGrp(cCcD_TgSPrm_IsPlayer_e);
@@ -4584,7 +4584,9 @@ cPhs_State daShip_c::create() {
fopAcM_SetMtx(this, pModel->getBaseTRMtx());
for (u16 jno = 0; jno < pModelData->getJointNum(); jno++) {
if ((jno == 10) || (jno == 5) || (jno == 7) || (jno == 6)) {
if ((jno == FN_BODY_JNT_J_FN_STEER1_e) || (jno == FN_BODY_JNT_J_FN_KAJI_e) ||
(jno == FN_BODY_JNT_J_FN_SAIL1_e) || (jno == FN_BODY_JNT_J_FN_MAST_e))
{
pModelData->getJointNodePointer(jno)->setCallBack(daShip_bodyJointCallBack);
}
}
@@ -4609,13 +4611,17 @@ cPhs_State daShip_c::create() {
pModel->setUserArea(reinterpret_cast<u32>(this));
for (u16 jno = 0; jno < pModelData->getJointNum(); jno++) {
if (jno == 8 || jno == 10) {
if (jno == FN_HEAD_H_JNT_J_FN_ATAMA_e || jno == FN_HEAD_H_JNT_J_FN_AGO2_e) {
pModelData->getJointNodePointer(jno)->setCallBack(daShip_headJointCallBack0);
}
else if (
!(jno != 2 && jno != 3 && jno != 4 && jno != 5 && jno != 6) || (jno == 7)
!(jno != FN_HEAD_H_JNT_J_FN_KUBI1_e && jno != FN_HEAD_H_JNT_J_FN_KUBI2_e && jno != FN_HEAD_H_JNT_J_FN_KUBI3_e &&
jno != FN_HEAD_H_JNT_J_FN_KUBI4_e && jno != FN_HEAD_H_JNT_J_FN_KUBI5_e) ||
(jno == FN_HEAD_H_JNT_J_FN_KUBI6_e)
// Should probably be written as
// jno == 2 || jno == 3 || jno == 4 || jno == 5 || jno == 6 || jno == 7
// jno == FN_HEAD_H_JNT_J_FN_KUBI1_e || jno == FN_HEAD_H_JNT_J_FN_KUBI2_e || jno == FN_HEAD_H_JNT_J_FN_KUBI3_e ||
// jno == FN_HEAD_H_JNT_J_FN_KUBI4_e || jno == FN_HEAD_H_JNT_J_FN_KUBI5_e ||
// jno == FN_HEAD_H_JNT_J_FN_KUBI6_e
// But the compiler optimizes that differently
) {
pModelData->getJointNodePointer(jno)->setCallBack(daShip_headJointCallBack1);
@@ -4626,11 +4632,11 @@ cPhs_State daShip_c::create() {
pModelData = mpCannonModel->getModelData();
pModelData->getJointNodePointer(1)->setCallBack(daShip_cannonJointCallBack);
pModelData->getJointNodePointer(2)->setCallBack(daShip_cannonJointCallBack);
pModelData->getJointNodePointer(VFNCN_JNT_CANON1_e)->setCallBack(daShip_cannonJointCallBack);
pModelData->getJointNodePointer(VFNCN_JNT_CANON2_e)->setCallBack(daShip_cannonJointCallBack);
mpSalvageArmModel->setUserArea(reinterpret_cast<u32>(this));
mpSalvageArmModel->getModelData()->getJointNodePointer(1)->setCallBack(daShip_craneJointCallBack);
mpSalvageArmModel->getModelData()->getJointNodePointer(VFNCR_JNT_V_CRANE_ROTATION_e)->setCallBack(daShip_craneJointCallBack);
m034B = fopAcM_GetParam(this);
mPart = PART_WAIT_e;
@@ -4744,10 +4750,10 @@ cPhs_State daShip_c::create() {
mpBodyAnm->play(NULL, 0, 0);
mpBodyAnm->calc();
cMtx_multVec(mpBodyAnm->getModel()->getAnmMtx(10), &l_tiller_top_offset, &mTillerTopPos);
cMtx_multVec(mpBodyAnm->getModel()->getAnmMtx(FN_BODY_JNT_J_FN_STEER1_e), &l_tiller_top_offset, &mTillerTopPos);
mpHeadAnm->play(NULL, 0, 0);
mpHeadAnm->getModel()->setBaseTRMtx(mpBodyAnm->getModel()->getAnmMtx(4));
mpHeadAnm->getModel()->setBaseTRMtx(mpBodyAnm->getModel()->getAnmMtx(FN_BODY_JNT_J_FN_GATTAI_e));
mpHeadAnm->calc();
dComIfGp_setShipActor(this);
+31 -31
View File
@@ -16,49 +16,49 @@
static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar4 = joint->getJntNo();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
sk_class* i_this = (sk_class*)model->getUserArea();
cXyz sp08;
cXyz offset;
if (i_this != NULL) {
MTXCopy(model->getAnmMtx(uVar4), *calc_mtx);
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, i_this->m2C2[uVar4].y);
cMtx_XrotM(*calc_mtx, i_this->m2C2[uVar4].x);
cMtx_ZrotM(*calc_mtx, i_this->m2C2[uVar4].z);
cMtx_YrotM(*calc_mtx, i_this->m2C2[jntNo].y);
cMtx_XrotM(*calc_mtx, i_this->m2C2[jntNo].x);
cMtx_ZrotM(*calc_mtx, i_this->m2C2[jntNo].z);
switch (uVar4) {
case 0:
sp08.x = 0.0f;
sp08.y = 0.0f;
sp08.z = 180.0f;
MtxPosition(&sp08, &i_this->m2DC[uVar4]);
switch (jntNo) {
case TURU_00_JNT_BO04_e:
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = 180.0f;
MtxPosition(&offset, &i_this->m2DC[jntNo]);
break;
case 1:
sp08.x = 0.0f;
sp08.y = 0.0f;
sp08.z = 250.0f;
MtxPosition(&sp08, &i_this->m2DC[uVar4]);
case TURU_00_JNT_BO03_e:
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = 250.0f;
MtxPosition(&offset, &i_this->m2DC[jntNo]);
break;
case 2:
sp08.x = 0.0f;
sp08.y = 0.0f;
sp08.z = 250.0f;
MtxPosition(&sp08, &i_this->m2DC[uVar4]);
case TURU_00_JNT_BO02_e:
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = 250.0f;
MtxPosition(&offset, &i_this->m2DC[jntNo]);
break;
case 3:
sp08.x = 0.0f;
sp08.y = 0.0f;
sp08.z = 180.0f;
MtxPosition(&sp08, &i_this->m2DC[uVar4]);
case TURU_00_JNT_BO01_e:
offset.x = 0.0f;
offset.y = 0.0f;
offset.z = 180.0f;
MtxPosition(&offset, &i_this->m2DC[jntNo]);
break;
}
model->setAnmMtx(uVar4, *calc_mtx);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
@@ -223,19 +223,19 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 1,
/* mJointIndex */ TURU_00_JNT_BO03_e,
/* mRadius */ 140.0f,
/* mpOffsets */ &sph_offset,
},
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 2,
/* mJointIndex */ TURU_00_JNT_BO02_e,
/* mRadius */ 90.0f,
/* mpOffsets */ &sph_offset,
},
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 3,
/* mJointIndex */ TURU_00_JNT_BO01_e,
/* mRadius */ 50.0f,
/* mpOffsets */ &sph_offset,
},
+9 -9
View File
@@ -19,19 +19,19 @@ static s32 sk2_bck[] = {dRes_INDEX_SK2_BCK_KSYLF_00_e, dRes_INDEX_SK2_BCK_KSYLF_
static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar2 = joint->getJntNo();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
sk2_class* i_this = (sk2_class*)model->getUserArea();
if (i_this != NULL && uVar2 <= 3) {
MTXCopy(model->getAnmMtx(uVar2), *calc_mtx);
cMtx_YrotM(*calc_mtx, i_this->m2CE[uVar2].y);
cMtx_XrotM(*calc_mtx, i_this->m2CE[uVar2].x);
cMtx_ZrotM(*calc_mtx, i_this->m2CE[uVar2].z);
if (i_this != NULL && jntNo <= KSYLF_00_JNT_B1_e) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, i_this->m2CE[jntNo].y);
cMtx_XrotM(*calc_mtx, i_this->m2CE[jntNo].x);
cMtx_ZrotM(*calc_mtx, i_this->m2CE[jntNo].z);
cXyz sp08(0.0f, 0.0f, 0.0f);
MtxPosition(&sp08, &i_this->m2E8[uVar2]);
model->setAnmMtx(uVar2, *calc_mtx);
cXyz offset(0.0f, 0.0f, 0.0f);
MtxPosition(&offset, &i_this->m2E8[jntNo]);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
+13 -13
View File
@@ -15,22 +15,22 @@
static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DJoint* joint = (J3DJoint*)node;
s32 uVar4 = joint->getJntNo();
s32 jntNo = joint->getJntNo();
J3DModel* model = j3dSys.getModel();
ssk_class* i_this = (ssk_class*)model->getUserArea();
if (i_this != NULL && uVar4 < 5) {
MTXCopy(model->getAnmMtx(uVar4), *calc_mtx);
if (i_this != NULL && jntNo < 5) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
cMtx_YrotM(*calc_mtx, i_this->m2F4[uVar4].y);
cMtx_XrotM(*calc_mtx, i_this->m2F4[uVar4].x);
cMtx_ZrotM(*calc_mtx, i_this->m2F4[uVar4].z);
cMtx_YrotM(*calc_mtx, i_this->m2F4[jntNo].y);
cMtx_XrotM(*calc_mtx, i_this->m2F4[jntNo].x);
cMtx_ZrotM(*calc_mtx, i_this->m2F4[jntNo].z);
cXyz sp08;
sp08.setall(0.0f);
MtxPosition(&sp08, &i_this->m314[uVar4]);
cXyz offset;
offset.setall(0.0f);
MtxPosition(&offset, &i_this->m314[jntNo]);
model->setAnmMtx(uVar4, *calc_mtx);
model->setAnmMtx(jntNo, *calc_mtx);
MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
}
}
@@ -299,19 +299,19 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 1,
/* mJointIndex */ TURU_02_JNT_B3_e,
/* mRadius */ 50.0f,
/* mpOffsets */ &sph_offset,
},
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 2,
/* mJointIndex */ TURU_02_JNT_B2_e,
/* mRadius */ 30.0f,
/* mpOffsets */ &sph_offset,
},
{
/* mShapeType */ JntHitType_SPH_DELETE_e,
/* mJointIndex */ 3,
/* mJointIndex */ TURU_02_JNT_B1_e,
/* mRadius */ 20.0f,
/* mpOffsets */ &sph_offset,
},
+37 -37
View File
@@ -317,7 +317,7 @@ static void nun_pos_set(st_class* i_this) {
static void nun_move(st_class* i_this) {
cXyz local_18;
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xb), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_BUKI_e), *calc_mtx);
MtxTrans(REG8_F(5) + 10.0f, REG8_F(6), REG8_F(7), true);
cMtx_YrotM(*calc_mtx, REG0_S(5));
cMtx_ZrotM(*calc_mtx, REG0_S(6));
@@ -590,7 +590,7 @@ static void buki_smoke_set(st_class* i_this) {
cXyz local_d8;
i_this->m1E88[1].remove();
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xb), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_BUKI_e), *calc_mtx);
local_b4.x = (REG0_F(13) + 80.0f) + 30.0f;
local_b4.y = 0.0f;
local_b4.z = 0.0f;
@@ -909,7 +909,7 @@ static void fight(st_class* i_this) {
} else {
i_this->m02CA = 0;
}
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xb), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_BUKI_e), *calc_mtx);
local_d8.x = REG0_F(10) + 80.0f;
local_d8.y = 0.0f;
local_d8.z = 0.0f;
@@ -967,7 +967,7 @@ static void fight2(st_class* i_this) {
attack_set(i_this, dRes_INDEX_ST_BCK_NUKU2_e, 1.0f, J3DFrameCtrl::EMode_NONE);
i_this->m02C4 = 0x65;
i_this->m1DC8 = 1;
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x03), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_KATAL_e), *calc_mtx);
MtxPosition(&local_2c, &cStack_38);
dComIfGp_particle_set(dPa_name::ID_AK_SN_STBIKON00, &cStack_38, &actor->shape_angle);
fopAcM_seStart(actor, JA_SE_CM_ST_PULLOUT_ARM, 0);
@@ -1271,7 +1271,7 @@ static void head_damage(st_class* i_this) {
case 1:
frame = (int)i_this->mpMorf->getFrame();
if (frame == 32) {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xf), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_HEAD_e), *calc_mtx);
MtxPosition(&local_24, &cStack_30);
dComIfGp_particle_set(dPa_name::ID_AK_SN_STBIKON00, &cStack_30, &local_38);
fopAcM_seStart(actor, JA_SE_CM_ST_STOP_HEAD, 0);
@@ -1291,7 +1291,7 @@ static void head_damage(st_class* i_this) {
case 11:
frame = (int)i_this->mpMorf->getFrame();
if (frame == 30) {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xf), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_HEAD_e), *calc_mtx);
MtxPosition(&local_24, &cStack_30);
dComIfGp_particle_set(dPa_name::ID_AK_SN_STBIKON00, &cStack_30, &local_38);
fopAcM_seStart(actor, JA_SE_CM_ST_STOP_HEAD, 0);
@@ -1358,7 +1358,7 @@ static void ue_move(st_class* i_this) {
if (frame == 10) {
emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_STASE00, &actor->eyePos);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(0xF));
emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_HEAD_e));
}
}
i_this->m02DC = REG8_F(1) + 10.0f;
@@ -1486,7 +1486,7 @@ static void St_move(st_class* i_this) {
fopAc_ac_c* actor = &i_this->actor;
cXyz local_18;
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xB), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_BUKI_e), *calc_mtx);
local_18.x = 160.0f;
local_18.y = REG0_F(11);
local_18.z = REG0_F(12);
@@ -1886,7 +1886,7 @@ static void part_move(st_class* i_this, int jointIndex) {
local_50.setall(0.0f);
daBoko_c* heldWeapon = NULL;
daBoko_c* var_r26 = NULL;
if (jointIndex == 0xB) {
if (jointIndex == ST_JNT_BUKI_e) {
heldWeapon = (daBoko_c*)fopAcM_SearchByID(i_this->mHeldWeaponEntityId);
var_r26 = heldWeapon;
}
@@ -1904,10 +1904,10 @@ static void part_move(st_class* i_this, int jointIndex) {
this_part->mPartVelocity.x = cM_rndFX(20.0f);
this_part->mPartVelocity.y = cM_rndF(20.0f) + 40.0f;
this_part->mPartVelocity.z = cM_rndFX(20.0f);
if ((i_this->m0ED2 != 0) && (jointIndex != 0xb)) {
if ((i_this->m0ED2 != 0) && (jointIndex != ST_JNT_BUKI_e)) {
i_this->m0ED2--;
}
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
i_this->m1DD8 = 1;
this_part->mPartState = 6;
this_part->mPartRotAdd.setall(0);
@@ -1920,9 +1920,9 @@ static void part_move(st_class* i_this, int jointIndex) {
}
}
if (i_this->m0ED3 == 10) {
if (jointIndex < 0x13) {
if (jointIndex < ST_JNT_KOTUBAN_e) {
this_part->mPartState = 10;
if (jointIndex == 0xB) {
if (jointIndex == ST_JNT_BUKI_e) {
this_part->mPartState = 5;
this_part->m05 = 1;
this_part->mPartVelocity.x = cM_rndFX(20.0f);
@@ -1931,13 +1931,13 @@ static void part_move(st_class* i_this, int jointIndex) {
this_part->mPartRotAdd.x = cM_rndFX(6000.0f);
this_part->mPartRotAdd.y = cM_rndFX(6000.0f);
}
if ((i_this->m0ED2 != 0) && (jointIndex != 0xB)) {
if ((i_this->m0ED2 != 0) && (jointIndex != ST_JNT_BUKI_e)) {
i_this->m0ED2--;
}
}
} else if ((i_this->m0ED3 == 0x14) && (jointIndex >= 0x13)) {
} else if ((i_this->m0ED3 == 0x14) && (jointIndex >= ST_JNT_KOTUBAN_e)) {
this_part->mPartState = 0xb;
if ((i_this->m0ED2 != 0) && (jointIndex != 0xB)) {
if ((i_this->m0ED2 != 0) && (jointIndex != ST_JNT_BUKI_e)) {
i_this->m0ED2--;
}
}
@@ -1952,7 +1952,7 @@ static void part_move(st_class* i_this, int jointIndex) {
} else {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(jointIndex), *calc_mtx);
MtxPosition(&local_50, &local_5c);
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
local_5c.y -= REG6_F(13) + 20.0f;
}
local_50 = local_5c - this_part->mPartPos;
@@ -1977,7 +1977,7 @@ static void part_move(st_class* i_this, int jointIndex) {
local_50.z = this_part->m44 * 20.0f;
MtxPosition(&local_50, &this_part->mPartVelocity);
VECAdd(&this_part->mPartPos, &this_part->mPartVelocity, &this_part->mPartPos);
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
this_part->mPartRot.x = this_part->m38;
this_part->mPartRot.y = this_part->m3A;
this_part->mPartRot.z = this_part->m3C;
@@ -1991,7 +1991,7 @@ static void part_move(st_class* i_this, int jointIndex) {
case 2:
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(jointIndex), *calc_mtx);
MtxPosition(&local_50, &local_5c);
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
local_5c.y -= REG6_F(13) + 20.0f;
}
cLib_addCalc2(&this_part->mPartPos.x, local_5c.x, 1.0f, std::fabsf(this_part->mPartVelocity.x) + 5.0f);
@@ -2002,13 +2002,13 @@ static void part_move(st_class* i_this, int jointIndex) {
if (local_50.abs() <= 5.0f) {
this_part->mPartState = 0;
this_part->m05 = 0;
if ((i_this->m0ED2 < 0x19) && (jointIndex != 0xB)) {
if ((i_this->m0ED2 < 0x19) && (jointIndex != ST_JNT_BUKI_e)) {
i_this->m0ED2++;
}
if (jointIndex == 0xB) {
if (jointIndex == ST_JNT_BUKI_e) {
i_this->m1DD0 = 10;
}
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
i_this->m1DD8 = 0;
}
}
@@ -2022,7 +2022,7 @@ static void part_move(st_class* i_this, int jointIndex) {
if (this_part->mPartPos.y <= dVar11) {
this_part->mPartPos.y = dVar11;
#if VERSION > VERSION_DEMO
if (((jointIndex == 0xB) && (heldWeapon != NULL)) && (i_this->m1DD0 >= 2)) {
if (((jointIndex == ST_JNT_BUKI_e) && (heldWeapon != NULL)) && (i_this->m1DD0 >= 2)) {
fopAcM_cancelCarryNow(heldWeapon);
i_this->m1DD0 = 0;
}
@@ -2032,7 +2032,7 @@ static void part_move(st_class* i_this, int jointIndex) {
this_part->mPartVelocity.x *= cM_rndFX(0.3f);
this_part->mPartVelocity.z *= cM_rndFX(0.3f);
#if VERSION == VERSION_DEMO
if (((jointIndex == 0xB) && (heldWeapon != NULL)) && (i_this->m1DD0 >= 2)) {
if (((jointIndex == ST_JNT_BUKI_e) && (heldWeapon != NULL)) && (i_this->m1DD0 >= 2)) {
fopAcM_cancelCarryNow(heldWeapon);
i_this->m1DD0 = 0;
}
@@ -2051,7 +2051,7 @@ static void part_move(st_class* i_this, int jointIndex) {
if ((i_this->m0ED3 == 2) || (i_this->m0ED3 == 0xb)) {
this_part->m3E = cM_rndF(65536.0f);
this_part->m44 = 0.0f;
if (jointIndex == 0xB) {
if (jointIndex == ST_JNT_BUKI_e) {
if ((heldWeapon != NULL) && (!fopAcM_checkCarryNow(heldWeapon))) {
fopAcM_setCarryNow(heldWeapon, 0);
this_part->mPartPos = heldWeapon->current.pos;
@@ -2134,7 +2134,7 @@ static void part_move(st_class* i_this, int jointIndex) {
if (frame == 5) {
emitter = dComIfGp_particle_set(dPa_name::ID_AK_SN_STASE00, &this_part->mPartPos);
if (emitter != NULL) {
emitter->setGlobalRTMatrix(i_this->mpMorf2->getModel()->getAnmMtx(0x1));
emitter->setGlobalRTMatrix(i_this->mpMorf2->getModel()->getAnmMtx(ST_JNT_HARA_e));
}
}
}
@@ -2238,7 +2238,7 @@ static void part_move(st_class* i_this, int jointIndex) {
if (upperBody != NULL) {
this_part->mPartState = 1;
this_part->mPartPos = upperBody->mParts[jointIndex].mPartPos;
if (jointIndex != 0xF) {
if (jointIndex != ST_JNT_HEAD_e) {
this_part->mPartRotAdd.x = cM_rndFX(4000.0f);
this_part->mPartRotAdd.y = cM_rndFX(4000.0f);
} else {
@@ -2274,7 +2274,7 @@ static void part_move(st_class* i_this, int jointIndex) {
}
this_part->mpPartModel->setBaseTRMtx(*calc_mtx);
#endif
if (((jointIndex == 0xB) && (heldWeapon != NULL)) && (i_this->m1DD0 != 0)) {
if (((jointIndex == ST_JNT_BUKI_e) && (heldWeapon != NULL)) && (i_this->m1DD0 != 0)) {
if (i_this->m1DD0 == 1) {
fopAcM_setCarryNow(heldWeapon, 0);
i_this->m1DD0 = 10;
@@ -2289,7 +2289,7 @@ static void part_move(st_class* i_this, int jointIndex) {
var_r26->setMatrix(*calc_mtx);
}
}
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
this_part->mPartRot = actor->shape_angle + i_this->m02FC;
}
break;
@@ -2298,7 +2298,7 @@ static void part_move(st_class* i_this, int jointIndex) {
cMtx_YrotM(*calc_mtx, this_part->mPartRot.y);
cMtx_XrotM(*calc_mtx, this_part->mPartRot.x);
MtxScale(i_this->mEnemyIce.mScaleXZ, i_this->mEnemyIce.mScaleY, i_this->mEnemyIce.mScaleXZ, true);
if ((jointIndex == 0xF) && (i_this->m1DD8 != 0)) {
if ((jointIndex == ST_JNT_HEAD_e) && (i_this->m1DD8 != 0)) {
#if VERSION > VERSION_DEMO
if (i_this->m1E82 != 0) {
i_this->m1E82--;
@@ -2317,12 +2317,12 @@ static void part_move(st_class* i_this, int jointIndex) {
} else {
this_part->mpPartModel->setBaseTRMtx(*calc_mtx);
}
if (((var_r26 != NULL) && (jointIndex == 0xB)) && (i_this->m1DD0 >= 2)) {
if (((var_r26 != NULL) && (jointIndex == ST_JNT_BUKI_e)) && (i_this->m1DD0 >= 2)) {
var_r26->setMatrix(*calc_mtx);
}
break;
}
if (jointIndex == 0xF) {
if (jointIndex == ST_JNT_HEAD_e) {
#if VERSION == VERSION_DEMO
actor->eyePos = this_part->mPartPos;
actor->attention_info.position = this_part->mPartPos;
@@ -2335,7 +2335,7 @@ static void part_move(st_class* i_this, int jointIndex) {
}
#endif
if (i_this->m1DD8 == 2) {
MTXCopy(i_this->mpMorf2->getModel()->getAnmMtx(0x2), *calc_mtx);
MTXCopy(i_this->mpMorf2->getModel()->getAnmMtx(ST_JNT_MUNE_e), *calc_mtx);
local_50.x = REG0_F(4);
local_50.y = REG0_F(5);
local_50.z = REG0_F(6);
@@ -2356,7 +2356,7 @@ static void part_move(st_class* i_this, int jointIndex) {
}
}
static s32 cc_j_no[] = {0xF, 0x2, 0x1, 0x4, 0x9, 0x15, 0x18};
static s32 cc_j_no[] = {ST_JNT_HEAD_e, ST_JNT_MUNE_e, ST_JNT_HARA_e, ST_JNT_UDEL_e, ST_JNT_UDER_e, ST_JNT_SUNEL_e, ST_JNT_SUNER_e};
/* 00007D38-00008144 .text cc_set__FP8st_class */
static void cc_set(st_class* i_this) {
@@ -2420,7 +2420,7 @@ static void cc_set(st_class* i_this) {
local_40.z = i_this->mNun.m00[2].z;
i_this->m0D80.SetR(30.0f);
} else if (i_this->m0ED1 == 3) {
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0x19), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_ASIR_e), *calc_mtx);
local_34.x = 0.0f;
local_34.y = 0.0f;
local_34.z = 0.0f;
@@ -2429,7 +2429,7 @@ static void cc_set(st_class* i_this) {
i_this->m0D80.SetAtSpl(dCcG_At_Spl_UNK0);
} else {
i_this->m0D80.SetAtSpl(dCcG_At_Spl_UNK6);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(0xb), *calc_mtx);
MTXCopy(i_this->mpMorf->getModel()->getAnmMtx(ST_JNT_BUKI_e), *calc_mtx);
if (i_this->m0ED1 == 2) {
if (std::fabsf(i_this->m0308) > 0.5f) {
i_this->m0D80.SetAtSpl(dCcG_At_Spl_UNK7);
@@ -2702,7 +2702,7 @@ static BOOL createHeap(fopAc_ac_c* a_this) {
J3DModel* model = i_this->mpMorf->getModel();
model->setUserArea((u32)i_this);
for (u16 i = 0; i < model->getModelData()->getJointNum(); i++) {
if ((i < 0x1A) && (i != 0xB)) {
if ((i < ST_JNT_ASIR_e + 1) && (i != ST_JNT_BUKI_e)) {
model->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
}
}
+2 -2
View File
@@ -23,13 +23,13 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
syan_class* i_this = (syan_class*)model->getUserArea();
if (i_this != NULL) {
mDoMtx_copy(model->getAnmMtx(jntNo), *calc_mtx);
if (jntNo == 2) {
if (jntNo == SYAN_JNT_JOINT5_e) {
cMtx_YrotM(*calc_mtx, i_this->field_0x2a4[0].y);
cMtx_XrotM(*calc_mtx, -i_this->field_0x2a4[0].x);
cMtx_ZrotM(*calc_mtx, i_this->field_0x2a4[0].z);
model->setAnmMtx(jntNo, *calc_mtx);
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
} else if (jntNo == 5) {
} else if (jntNo == SYAN_JNT_JOINT8_e) {
cMtx_YrotM(*calc_mtx, i_this->field_0x2b0.y);
cMtx_XrotM(*calc_mtx, -(i_this->field_0x2a4[1].x + i_this->field_0x2b0.x));
cMtx_ZrotM(*calc_mtx, i_this->field_0x2b0.z);
+2 -2
View File
@@ -509,8 +509,8 @@ bool Act_c::_draw() {
s8 tmp = (m308 * 255.5f);
// Fakematch?
u8 tmp2 = tmp;
set_material(modelData->getJointNodePointer(1)->getMesh(), (u8)tmp2);
set_material(modelData->getJointNodePointer(2)->getMesh(), (u8)tmp2);
set_material(modelData->getJointNodePointer(MSPOT_JNT_HIKARITAG_e)->getMesh(), (u8)tmp2);
set_material(modelData->getJointNodePointer(MSPOT_JNT_KOGEN_e)->getMesh(), (u8)tmp2);
mDoExt_modelUpdateDL(mpModel);
}
return true;
+44 -43
View File
@@ -138,7 +138,7 @@ static void yari_off_check(tn_class* i_this) {
dBgS_LinChk linChk;
linChk.Set(&actor->eyePos, &boko_actor->current.pos, actor);
if (dComIfG_Bgsp()->LineCross(&linChk)) {
MtxP mtx = i_this->mpBodyMorf->getModel()->getAnmMtx(0x0A);
MtxP mtx = i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_MUNE1_e);
MTXCopy(mtx, *calc_mtx);
boko->setMatrix(*calc_mtx);
offset.set(0.0f, 0.0f, 0.0f);
@@ -266,7 +266,7 @@ static BOOL nodeCallBack(J3DNode* node, int calcTiming) {
fopAc_ac_c* actor = &i_this->actor;
if (i_this != NULL) {
if (
(jntNo >= 0xB && jntNo < 0x12 && (i_this->mRemainingEquipmentPieces & EQUIPMENT_PIECE_SHIELD))
(jntNo >= TN_MAIN_JNT_J_TN_KATA_L1_e && jntNo < TN_MAIN_JNT_J_TN_YUBI_L2_e && (i_this->mRemainingEquipmentPieces & EQUIPMENT_PIECE_SHIELD))
#if VERSION == VERSION_DEMO
&& i_this->mEnemyIce.mFreezeTimer == 0 && (i_this->mDamageReaction.mAction != ACTION_S_DEMO || i_this->m0414_demo == 0)
#else
@@ -327,7 +327,7 @@ static BOOL nodeCallBack_P(J3DNode* node, int calcTiming) {
tn_class* i_this = (tn_class*)model->getUserArea();
if (i_this != NULL) {
if (
(jntNo >= 0xB && jntNo < 0x12 && (i_this->mRemainingEquipmentPieces & EQUIPMENT_PIECE_SHIELD))
(jntNo >= TN_MAIN_JNT_J_TN_KATA_L1_e && jntNo < TN_MAIN_JNT_J_TN_YUBI_L2_e && (i_this->mRemainingEquipmentPieces & EQUIPMENT_PIECE_SHIELD))
#if VERSION == VERSION_DEMO
&& i_this->mEnemyIce.mFreezeTimer == 0 && (i_this->mDamageReaction.mAction != ACTION_S_DEMO || i_this->m0414_demo == 0)
#else
@@ -1374,10 +1374,10 @@ static fopAc_ac_c* wepon_hit_check(tn_class* i_this) {
i_this->mWeponSph.SetAtAtp(atp);
i_this->mWepon2Sph.SetAtAtp(atp);
if (i_this->m0C48 == 3) {
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(0x05), *calc_mtx);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_ASI_L3_e), *calc_mtx);
local_28.set(0.0f, 0.0f, 0.0f);
} else {
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(0x17), *calc_mtx);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_ITEM_R1_e), *calc_mtx);
if (i_this->m0C48 == 2) {
local_28.set(0.0f, 0.0f, 0.0f);
} else {
@@ -2824,7 +2824,7 @@ static u8 damage_check(tn_class* i_this) {
i_this->mDamageReaction.mStts.Move();
if (i_this->m1444 != 0) {
i_this->m1444--;
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(0xF), *calc_mtx);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_ITEM_L1_e), *calc_mtx);
cXyz local_50(0.0f, 0.0f, 0.0f);
MtxPosition(&local_50, &i_this->m13E4);
i_this->mDefenceSph.SetR(70.0f);
@@ -3135,7 +3135,7 @@ static u8 damage_check(tn_class* i_this) {
return atInfo.mDamage;
}
static s32 j_dt[] = {0x0000000A, 0x0000001C, 0x0000000F};
static s32 j_dt[] = {TN_MAIN_JNT_J_TN_MUNE1_e, TN_MAIN_JNT_J_TN_ATAMA1_e, TN_MAIN_JNT_J_TN_ITEM_L1_e};
/* 00009E68-0000AC54 .text part_move__FP8tn_classi */
static void part_move(tn_class* i_this, int partIndex) {
@@ -3315,12 +3315,12 @@ static void part_move(tn_class* i_this, int partIndex) {
if (i_this->mMantPcId != 0xFFFF) {
mant_actor = (mant_class*)fopAcM_SearchByID(i_this->mMantPcId);
if (mant_actor != NULL) {
MTXCopy(i_this->mpArmorMorf->getModel()->getAnmMtx(REG6_S(5) + 6), *calc_mtx);
MTXCopy(i_this->mpArmorMorf->getModel()->getAnmMtx(REG6_S(5) + (s16)TN_YOROI1_JNT_J_YOROI_KATA_R1_e), *calc_mtx);
local_134.x = DEMO_SELECT(REG13_F(0), REG0_F(0)) + 2.0f;
local_134.y = DEMO_SELECT(REG13_F(1), REG0_F(1)) + 15.0f;
local_134.z = DEMO_SELECT(REG13_F(2), REG0_F(2)) + -43.0f;
MtxPosition(&local_134, &mant_actor->m1BE0);
MTXCopy(i_this->mpArmorMorf->getModel()->getAnmMtx(REG6_S(6) + 4), *calc_mtx);
MTXCopy(i_this->mpArmorMorf->getModel()->getAnmMtx(REG6_S(6) + (s16)TN_YOROI1_JNT_J_YOROI_KATA_L1_e), *calc_mtx);
local_134.x = DEMO_SELECT(REG13_F(3), REG0_F(3)) + 2.0f;
local_134.y = DEMO_SELECT(REG13_F(4), REG0_F(4)) + 15.0f;
local_134.z = DEMO_SELECT(REG13_F(5), REG0_F(5)) + 43.0f;
@@ -3354,7 +3354,7 @@ static void spin_blur_set(tn_class* i_this) {
if (i_this->m14F4 != 0) {
local_30.set(0.0f, 0.0f, REG0_F(4) + 250.0f);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(0x17), *calc_mtx);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_ITEM_R1_e), *calc_mtx);
MtxPosition(&local_30, &cStack_3c);
local_30 = cStack_3c - actor->current.pos;
for (s32 i = 0; i < ARRAY_SSIZE(i_this->m147C); i++) {
@@ -3709,7 +3709,7 @@ static BOOL daTn_Execute(tn_class* i_this) {
boko_actor = (daBoko_c*)fopAcM_SearchByID(i_this->mBokoPcId);
if (boko_actor != NULL) {
if (fopAcM_checkCarryNow(boko_actor)) {
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(0x17), *calc_mtx);
MTXCopy(i_this->mpBodyMorf->getModel()->getAnmMtx(TN_MAIN_JNT_J_TN_ITEM_R1_e), *calc_mtx);
cMtx_YrotM(*calc_mtx, REG8_S(1));
cMtx_XrotM(*calc_mtx, REG8_S(2));
cMtx_ZrotM(*calc_mtx, REG8_S(3) + 0x8000);
@@ -3794,61 +3794,61 @@ static BOOL useArrowHeapInit(fopAc_ac_c* a_this) {
static __jnt_hit_data_c search_data[] = {
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x01,
/* mJointIndex */ TN_MAIN_JNT_TN_SKLROOT_e,
/* mRadius */ 20.0f,
/* mpOffsets */ kosi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x03,
/* mJointIndex */ TN_MAIN_JNT_J_TN_ASI_L1_e,
/* mRadius */ 10.0f,
/* mpOffsets */ asi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x06,
/* mJointIndex */ TN_MAIN_JNT_J_TN_ASI_R1_e,
/* mRadius */ 10.0f,
/* mpOffsets */ asi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_DELETE_e,
/* mJointIndex */ 0x1B,
/* mJointIndex */ TN_MAIN_JNT_J_TN_KUBI1_e,
/* mRadius */ 30.0f,
/* mpOffsets */ kubi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_DELETE_e,
/* mJointIndex */ 0x1C,
/* mJointIndex */ TN_MAIN_JNT_J_TN_ATAMA1_e,
/* mRadius */ 25.0f,
/* mpOffsets */ atama_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_DELETE_e,
/* mJointIndex */ 0x1E,
/* mJointIndex */ TN_MAIN_JNT_J_TN_MIMI_L1_e,
/* mRadius */ 19.0f,
/* mpOffsets */ mimi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_DELETE_e,
/* mJointIndex */ 0x20,
/* mJointIndex */ TN_MAIN_JNT_J_TN_MIMI_R1_e,
/* mRadius */ 2.0f,
/* mpOffsets */ mimi_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0A,
/* mJointIndex */ TN_MAIN_JNT_J_TN_MUNE1_e,
/* mRadius */ 30.0f,
/* mpOffsets */ mune_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x0B,
/* mJointIndex */ TN_MAIN_JNT_J_TN_KATA_L1_e,
/* mRadius */ 18.0f,
/* mpOffsets */ kata_l_cyl_offset,
},
{
/* mShapeType */ JntHitType_CYL_e,
/* mJointIndex */ 0x13,
/* mJointIndex */ TN_MAIN_JNT_J_TN_KATA_R1_e,
/* mRadius */ 18.0f,
/* mpOffsets */ kata_r_cyl_offset,
},
@@ -3904,7 +3904,7 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
} else {
model->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
}
} else if (i == 0x1E || i == 0x20) {
} else if (i == TN_MAIN_JNT_J_TN_MIMI_L1_e || i == TN_MAIN_JNT_J_TN_MIMI_R1_e) {
model->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack_mimi);
}
}
@@ -3924,7 +3924,7 @@ static BOOL useHeapInit(fopAc_ac_c* a_this) {
);
model = i_this->mpShieldMorf->getModel();
model->setUserArea((u32)i_this);
model->getModelData()->getJointNodePointer(10)->setCallBack(nodeCallBack_kata);
model->getModelData()->getJointNodePointer(TN_MAIN_JNT_J_TN_MUNE1_e)->setCallBack(nodeCallBack_kata);
i_this->mpBrkAnm = new mDoExt_brkAnm();
if (i_this->mpBrkAnm == NULL) {
return FALSE;
@@ -4335,29 +4335,30 @@ static cPhs_State daTn_Create(fopAc_ac_c* a_this) {
i_this->mEnemyFire.mpActor = a_this;
static u8 fire_j[ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs)] = {
0x1C,
0x0A,
0x14,
0x15,
0x0C,
0x0D,
0x06,
0x07,
0x03,
0x04,
TN_MAIN_JNT_J_TN_ATAMA1_e,
TN_MAIN_JNT_J_TN_MUNE1_e,
TN_MAIN_JNT_J_TN_UDE_R1_e,
TN_MAIN_JNT_J_TN_UDE_R2_e,
TN_MAIN_JNT_J_TN_UDE_L1_e,
TN_MAIN_JNT_J_TN_UDE_L2_e,
TN_MAIN_JNT_J_TN_ASI_R1_e,
TN_MAIN_JNT_J_TN_ASI_R2_e,
TN_MAIN_JNT_J_TN_ASI_L1_e,
TN_MAIN_JNT_J_TN_ASI_L2_e
};
static f32 fire_sc[ARRAY_SIZE(i_this->mEnemyFire.mParticleScale)] = {
2.3f,
2.3f,
1.4f,
1.2f,
1.4f,
1.2f,
1.4f,
1.2f,
1.4f,
1.2f,
2.3f, // TN_MAIN_JNT_J_TN_ATAMA1_e
2.3f, // TN_MAIN_JNT_J_TN_MUNE1_e
1.4f, // TN_MAIN_JNT_J_TN_UDE_R1_e
1.2f, // TN_MAIN_JNT_J_TN_UDE_R2_e
1.4f, // TN_MAIN_JNT_J_TN_UDE_L1_e
1.2f, // TN_MAIN_JNT_J_TN_UDE_L2_e
1.4f, // TN_MAIN_JNT_J_TN_ASI_R1_e
1.2f, // TN_MAIN_JNT_J_TN_ASI_R2_e
1.4f, // TN_MAIN_JNT_J_TN_ASI_L1_e
1.2f // TN_MAIN_JNT_J_TN_ASI_L2_e
};
for (int i = 0; i < ARRAY_SIZE(i_this->mEnemyFire.mFlameJntIdxs); i++) {
i_this->mEnemyFire.mFlameJntIdxs[i] = fire_j[i];
i_this->mEnemyFire.mParticleScale[i] = fire_sc[i];
+3 -3
View File
@@ -1,6 +1,6 @@
/**
* d_a_tornado.cpp
* Ballad Of Gales Tornado
* Object - Ballad of Gales tornado
*/
#include "d/dolzel_rel.h" // IWYU pragma: keep
@@ -20,12 +20,12 @@ const float daTornado_HIO_c0::start_dis = 10000.0f;
/* 000000EC-00000260 .text jointCallBack__11daTornado_cFi */
BOOL daTornado_c::jointCallBack(int jntNo) {
int jntIdx = jntNo - 1;
if ((jntIdx < 0) || (jntIdx >= 11)) {
if ((jntIdx < YTRND00_JNT_ROOT_e) || (jntIdx >= YTRND00_JNT_JOINT11_e)) {
return TRUE;
}
mDoMtx_stack_c::transS(mJointX[jntIdx], 0.0f, mJointZ[jntIdx]);
if (jntIdx != 10 && jntIdx != 0) {
if (jntIdx != YTRND00_JNT_JOINT10_e && jntIdx != YTRND00_JNT_ROOT_e) {
mDoMtx_stack_c::ZXYrotM(-mJointZ[jntIdx] * 3572.0f * 0.001f, 0.0f, mJointX[jntIdx] * 3572.0f * 0.001f);
}
+1 -1
View File
@@ -208,7 +208,7 @@ void daWindMill_c::CreateInit() {
set_mtx();
for (u16 i = 0; i < mpModel->getModelData()->getJointNum(); i++) {
if (i == 2) {
if (i == HPU1_JNT_POLYSURFACE2007_e) {
mpModel->getModelData()->getJointNodePointer(i)->setCallBack(nodeCallBack);
break;
}
+3 -2
View File
@@ -4,6 +4,7 @@
//
#include "d/dolzel.h" // IWYU pragma: keep
#include "res/Object/fdai.h"
#include "dolphin/types.h"
#include "d/d_com_inf_game.h"
#include "d/d_salvage.h"
@@ -471,9 +472,9 @@ BOOL daStandItem_c::daiItemNodeCallBack(J3DNode* node, int calcTiming) {
mDoMtx_stack_c::XrotM(i_this->m6B4);
break;
case dItemNo_FOUNTAIN_IDOL_e:
if (jntNo == 0) {
if (jntNo == FOBJ09_JNT_TUBOKO_BASE_e) {
mDoMtx_copy(mDoMtx_stack_c::get(), i_this->m630);
} else if (jntNo == 1) {
} else if (jntNo == FOBJ09_JNT_TUBOKO_HEAD_e) {
mDoMtx_copy(mDoMtx_stack_c::get(), i_this->m660);
}
break;