mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-06 18:02:28 -04:00
Use joint enums in several different places (#981)
Co-authored-by: < >
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {}
|
||||
|
||||
@@ -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); }
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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
@@ -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];
|
||||
}
|
||||
|
||||
@@ -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
@@ -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];
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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++) {
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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
@@ -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));
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -175,7 +175,7 @@ bool daObjYboil_c::_draw() {
|
||||
g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.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());
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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, ¤t.pos, &tevStr);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -182,7 +182,7 @@ BOOL daPy_lk_c::procBottleDrink() {
|
||||
p_Var3 = &blue;
|
||||
}
|
||||
m33A8.makeEmitterColor(
|
||||
dPa_name::ID_IT_JN_LK_GEPPU00, mpCLModel->getAnmMtx(0x12), ¤t.pos, &shape_angle, p_Var3, NULL
|
||||
dPa_name::ID_IT_JN_LK_GEPPU00, mpCLModel->getAnmMtx(CL_JNT_CHIN_JNT_e), ¤t.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), ¤t.pos, &tevStr.mColorK0, &tevStr.mColorK0);
|
||||
m32E4.makeEmitterColor(dPa_name::ID_AK_JN_SPILLWATER00, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), ¤t.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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
@@ -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), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), ¤t.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(), ¤t.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), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(dPa_name::ID_AK_SN_HIDARUMAFIRE, mpCLModel->getAnmMtx(CL_JNT_LINK_ROOT_e), ¤t.pos, NULL);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -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, ¤t.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), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(dPa_name::ID_AK_JN_LEAFPARACHUTE01, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), ¤t.pos, NULL);
|
||||
}
|
||||
|
||||
if (frameCtrl.getFrame() > 2.0f || mProcVar6.m3570 != 0) {
|
||||
|
||||
@@ -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];
|
||||
|
||||
+245
-250
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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), ¤t.pos, NULL);
|
||||
m3400.makeEmitter(dPa_name::ID_AK_JN_ELEMENTSHIBUKI00, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), ¤t.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, ¤t.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, ¤t.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), ¤t.pos, NULL);
|
||||
m3460[0].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(CL_JNT_NECK_JNT_e), ¤t.pos, NULL);
|
||||
}
|
||||
|
||||
if (m3460[1].getEmitter() == NULL) {
|
||||
m3460[1].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(0x02), ¤t.pos, NULL);
|
||||
m3460[1].makeEmitter(dPa_name::ID_AK_JN_LK_NURE_POTA01, mpCLModel->getAnmMtx(CL_JNT_BODY_CHN_e), ¤t.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), ¤t.pos, NULL);
|
||||
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_SN_BUBBLECURSE00, mpCLModel->getAnmMtx(CL_JNT_WAIST_JNT_e), ¤t.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), ¤t.pos, NULL);
|
||||
mDmEcallBack[1].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER01, mpCLModel->getAnmMtx(4), ¤t.pos, NULL);
|
||||
mDmEcallBack[0].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER00, mpCLModel->getAnmMtx(CL_JNT_CHEST_JNT_e), ¤t.pos, NULL);
|
||||
mDmEcallBack[1].makeEmitter(dPa_name::ID_AK_JN_CCTHUNDER01, mpCLModel->getAnmMtx(CL_JNT_CHEST_JNT_e), ¤t.pos, NULL);
|
||||
}
|
||||
|
||||
daPy_dmEcallBack_c::setElec(m_HIO->mDam.mElecDamage.m.field_0x2);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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), ¤t.pos, NULL);
|
||||
pJVar7 = m3454.makeEmitter(dPa_name::ID_AK_JN_LIGHTSAVER00, mpSwordModel1->getAnmMtx(YMSLI00_JNT_SWMSA_JNT_e), ¤t.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, ¤t.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), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(dPa_name::ID_AK_JN_ROUNDATTACKTOE, mpCLModel->getAnmMtx(CL_JNT_RTOE_JNT_e), ¤t.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), ¤t.pos, &color, &tevStr.mColorK0
|
||||
dPa_name::ID_AK_JN_ROUNDATTACKKUSA, mpCLModel->getAnmMtx(CL_JNT_LTOE_JNT_e), ¤t.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), ¤t.pos, &amb, NULL);
|
||||
m32F0.makeEmitterColor(dPa_name::ID_AK_JN_ROUNDATTACKSHIBUKI, mpCLModel->getAnmMtx(CL_JNT_LTOE_JNT_e), ¤t.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), ¤t.pos, NULL);
|
||||
m33A8.makeEmitter(dPa_name::ID_IT_JN_PIYOPIYO00, mpCLModel->getAnmMtx(CL_JNT_HEAD_JNT_e), ¤t.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), ¤t.pos, pcVar4);
|
||||
m32F0.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER01, mpCLModel->getAnmMtx(8), ¤t.pos, pcVar4);
|
||||
m32E4.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER00, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), ¤t.pos, pcVar4);
|
||||
m32F0.makeEmitter(dPa_name::ID_AK_JN_CHARGEPOWER01, mpCLModel->getAnmMtx(CL_JNT_CL_LHANDA_e), ¤t.pos, pcVar4);
|
||||
mProcVar0.m34D0 = 47;
|
||||
} else {
|
||||
mProcVar0.m34D0 = -1;
|
||||
|
||||
@@ -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),
|
||||
¤t.pos,
|
||||
(csXyz*)&shape_angle,
|
||||
&shape_angle,
|
||||
&tevStr.mColorK0,
|
||||
&tevStr.mColorK0
|
||||
);
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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,
|
||||
},
|
||||
|
||||
@@ -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
@@ -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
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user