summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure.py4
-rw-r--r--include/JSystem/J3DGraphBase/J3DTexture.h6
-rw-r--r--include/d/actor/d_a_npc_ho.h5
-rw-r--r--include/d/actor/d_a_npc_mk.h8
-rw-r--r--include/d/actor/d_a_tornado.h36
-rw-r--r--src/d/actor/d_a_npc_ho.cpp15
-rw-r--r--src/d/actor/d_a_npc_hr.cpp22
-rw-r--r--src/d/actor/d_a_npc_mk.cpp18
-rw-r--r--src/d/actor/d_a_player_main.cpp2
-rw-r--r--src/d/actor/d_a_ship.cpp76
-rw-r--r--src/d/actor/d_a_tornado.cpp10
11 files changed, 99 insertions, 103 deletions
diff --git a/configure.py b/configure.py
index b12d8530..a04701ed 100755
--- a/configure.py
+++ b/configure.py
@@ -1668,7 +1668,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_gk1"),
ActorRel(NonMatching, "d_a_npc_gp1"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_hi1"),
- ActorRel(Matching, "d_a_npc_ho"),
+ ActorRel(Matching, "d_a_npc_ho"),
ActorRel(Matching, "d_a_npc_hr"),
ActorRel(Matching, "d_a_npc_jb1"),
ActorRel(NonMatching, "d_a_npc_ji1"),
@@ -1681,7 +1681,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_npc_ko1"),
ActorRel(NonMatching, "d_a_npc_kp1"),
ActorRel(Matching, "d_a_npc_ls1"),
- ActorRel(Matching, "d_a_npc_mk"),
+ ActorRel(Matching, "d_a_npc_mk"),
ActorRel(NonMatching, "d_a_npc_mn"),
ActorRel(Matching, "d_a_npc_mt"),
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_nz"),
diff --git a/include/JSystem/J3DGraphBase/J3DTexture.h b/include/JSystem/J3DGraphBase/J3DTexture.h
index fa325cf6..45fd1d5e 100644
--- a/include/JSystem/J3DGraphBase/J3DTexture.h
+++ b/include/JSystem/J3DGraphBase/J3DTexture.h
@@ -68,15 +68,13 @@ public:
void calc();
J3DTexMtxInfo& getTexMtxInfo() { return mTexMtxInfo; }
+ J3DTextureSRTInfo& getTextureSRT() { return mTexMtxInfo.mSRT;}
Mtx& getMtx() { return mMtx; }
void setEffectMtx(Mtx effectMtx) { mTexMtxInfo.setEffectMtx(effectMtx); }
Mtx& getViewMtx() { return mViewMtx; }
void setViewMtx(const Mtx viewMtx) { MTXCopy(viewMtx, mViewMtx); }
- void setTranslationX(f32 translationX){ mTexMtxInfo.mSRT.mTranslationX = translationX; } // Fakematch
-
- J3DTextureSRTInfo& getTextureSRT() { return mTexMtxInfo.mSRT;}
-private:
+public:
/* 0x00 */ J3DTexMtxInfo mTexMtxInfo;
/* 0x64 */ Mtx mMtx;
/* 0x94 */ Mtx mViewMtx;
diff --git a/include/d/actor/d_a_npc_ho.h b/include/d/actor/d_a_npc_ho.h
index 69cf69e5..56287026 100644
--- a/include/d/actor/d_a_npc_ho.h
+++ b/include/d/actor/d_a_npc_ho.h
@@ -44,16 +44,15 @@ public:
typedef int (daNpc_Ho_c::*ActionFunc)(void*);
-
- bool ChkOrder(u8 temp) { return mOrderFlags & temp; }
+ BOOL ChkOrder(u8 flag) { return mOrderFlags & flag; }
void ClrOrder() { mOrderFlags = 0; }
void SetOrder(u8 temp) { mOrderFlags |= temp; }
bool chkFlag(u16 flag) { return (mFlags & flag) == flag; }
void clrFlag(u16 flag) { mFlags &= ~flag; }
s8 getBackboneJntNum() { return m_jnt.getBackboneJntNum(); }
- s16 getBackbone_y() { return m_jnt.getBackbone_y(); }
s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); }
+ s16 getBackbone_y() { return m_jnt.getBackbone_y(); }
s16 getHead_x() { return m_jnt.getHead_x(); }
s16 getHead_y() { return m_jnt.getHead_y(); }
diff --git a/include/d/actor/d_a_npc_mk.h b/include/d/actor/d_a_npc_mk.h
index 6e6272b5..e2e984fa 100644
--- a/include/d/actor/d_a_npc_mk.h
+++ b/include/d/actor/d_a_npc_mk.h
@@ -59,17 +59,17 @@ public:
typedef BOOL (daNpc_Mk_c::*ActionFunc)(void*);
- bool ChkOrder(u8 temp) { return mOrderFlags & temp; }
- void ClrOrder() { mOrderFlags &= ~0xFF; }
- void SetOrder(u8 temp) { mOrderFlags |= temp; }
+ BOOL ChkOrder(u8 flag) { return mOrderFlags & flag; }
+ void ClrOrder(u8 flag) { mOrderFlags &= ~flag; }
+ void SetOrder(u8 flag) { mOrderFlags |= flag; }
void chkAngry() {}
bool chkFlag(u16 flag) { return (mFlags & flag) == flag; }
void clrFlag(u16 flag) { mFlags &= ~flag; }
s8 getBackboneJntNum() { return m_jnt.getBackboneJntNum(); }
+ s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); }
s16 getBackbone_x() { return m_jnt.getBackbone_x(); }
s16 getBackbone_y() { return m_jnt.getBackbone_y(); }
- s8 getHeadJntNum() { return m_jnt.getHeadJntNum(); }
s16 getHead_x() { return m_jnt.getHead_x(); }
s16 getHead_y() { return m_jnt.getHead_y(); }
void getVisitMode() {}
diff --git a/include/d/actor/d_a_tornado.h b/include/d/actor/d_a_tornado.h
index 7f7d58b2..dabd643a 100644
--- a/include/d/actor/d_a_tornado.h
+++ b/include/d/actor/d_a_tornado.h
@@ -14,27 +14,27 @@ class daTornado_HIO_c0 {
class daTornado_c : public fopAc_ac_c {
public:
- float getJointXPos(int jno) const {
+ f32 getJointXPos(int jno) const {
if (mpModel)
return mpModel->getAnmMtx(jno)[0][3];
else
return current.pos.x;
}
- float getJointYPos(int jno) const {
+ f32 getJointYPos(int jno) const {
if (mpModel)
return mpModel->getAnmMtx(jno)[1][3];
else
return current.pos.y;
}
- float getJointZPos(int jno) const {
+ f32 getJointZPos(int jno) const {
if (mpModel)
return mpModel->getAnmMtx(jno)[2][3];
else
return current.pos.z;
}
- void getScaleEnd() {}
- void getSmallScaleEnd() {}
- void setScaleOn() {}
+ f32 getScaleEnd() { return mJointScale[10]; }
+ f32 getSmallScaleEnd() { return mJointScale[10]; }
+ void setScaleOn() { m31c = 1; }
BOOL jointCallBack(int);
BOOL draw();
@@ -43,7 +43,7 @@ public:
BOOL createHeap();
cPhs_State create();
-public:
+private:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x29c */ mDoExt_bckAnm mBck;
@@ -53,17 +53,17 @@ public:
/* 0x2dc */ mDoExt_bckAnm mBckUnder;
/* 0x2ec */ mDoExt_btkAnm mBtkUnder;
/* 0x300 */ mDoExt_brkAnm mBrkUnder;
- /* 0x318 */ short mAngle1;
- /* 0x31a */ short mAngle2;
- /* 0x31c */ short m31c;
- /* 0x31e */ short mPtclTimer;
- /* 0x320 */ float mBtkFrame;
- /* 0x324 */ float mBtkUnderFrame;
- /* 0x328 */ float mBrkFrame;
- /* 0x32c */ float m32c;
- /* 0x330 */ float mJointX[11];
- /* 0x35c */ float mJointZ[11];
- /* 0x388 */ float mJointScale[11];
+ /* 0x318 */ s16 mAngle1;
+ /* 0x31a */ s16 mAngle2;
+ /* 0x31c */ s16 m31c;
+ /* 0x31e */ s16 mPtclTimer;
+ /* 0x320 */ f32 mBtkFrame;
+ /* 0x324 */ f32 mBtkUnderFrame;
+ /* 0x328 */ f32 mBrkFrame;
+ /* 0x32c */ f32 m32c;
+ /* 0x330 */ f32 mJointX[11];
+ /* 0x35c */ f32 mJointZ[11];
+ /* 0x388 */ f32 mJointScale[11];
/* 0x3b4 */ cXyz mCenter;
/* 0x3c0 */ dPa_followEcallBack mPtclCb;
};
diff --git a/src/d/actor/d_a_npc_ho.cpp b/src/d/actor/d_a_npc_ho.cpp
index f512a9b6..6c60b653 100644
--- a/src/d/actor/d_a_npc_ho.cpp
+++ b/src/d/actor/d_a_npc_ho.cpp
@@ -26,8 +26,6 @@ static const int l_btp_ix_tbl[] = {
/* 00000078-0000022C .text nodeCallBack_Ho__FP7J3DNodei */
static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) {
- cXyz temp;
- cXyz temp2;
if (calcTiming == J3DNodeCBCalcTiming_In) {
J3DModel* model = j3dSys.getModel();
daNpc_Ho_c* i_this = (daNpc_Ho_c*)model->getUserArea();
@@ -37,9 +35,10 @@ static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) {
if(i_this != NULL) {
MTXCopy(model->getAnmMtx(jntNo), *calc_mtx);
if (jntNo == i_this->getHeadJntNum()) {
- temp.setall(0.0f);
+ cXyz temp(0.0f, 0.0f, 0.0f);
cMtx_YrotM(*calc_mtx, -i_this->getHead_y());
cMtx_ZrotM(*calc_mtx, -i_this->getHead_x());
+ cXyz temp2;
MtxPosition(&temp, &temp2);
i_this->setAttentionBasePos(temp2);
temp.set(20.0f, -20.0f, 0.0f);
@@ -49,9 +48,9 @@ static BOOL nodeCallBack_Ho(J3DNode* node, int calcTiming) {
i_this->incAttnSetCount();
} else if (jntNo == i_this->getBackboneJntNum()) {
- mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
+ cMtx_XrotM(*calc_mtx, (s16)i_this->getBackbone_y());
}
- cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
+ MTXCopy(*calc_mtx, J3DSys::mCurrentMtx);
model->setAnmMtx(jntNo, *calc_mtx);
}
}
@@ -177,7 +176,7 @@ void daNpc_Ho_c::eventOrder() {
/* 00000708-000007A8 .text checkOrder__10daNpc_Ho_cFv */
void daNpc_Ho_c::checkOrder() {
- if (eventInfo.mCommand == dEvtCmd_INTALK_e && ChkOrder(7)) {
+ if (eventInfo.checkCommandTalk() && ChkOrder(7)) {
if (dComIfGp_event_chkTalkXY()) {
setFlag(HO_FLAG_00000010);
} else {
@@ -842,7 +841,7 @@ BOOL daNpc_Ho_c::_execute() {
tevStr.mEnvrIdxOverride = dComIfG_Bgsp()->GetPolyColor(mObjAcch.m_gnd);
J3DModel* pModel = mpMorf->getModel();
- mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(current.angle.y);
pModel->setBaseTRMtx(mDoMtx_stack_c::get());
mpMorf->calc();
@@ -922,7 +921,7 @@ BOOL daNpc_Ho_c::CreateHeap() {
}
J3DModel* pModel = mpMorf->getModel();
- mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(current.angle.y);
pModel->setBaseTRMtx(mDoMtx_stack_c::get());
mpMorf->calc();
diff --git a/src/d/actor/d_a_npc_hr.cpp b/src/d/actor/d_a_npc_hr.cpp
index 92310aae..32351e9b 100644
--- a/src/d/actor/d_a_npc_hr.cpp
+++ b/src/d/actor/d_a_npc_hr.cpp
@@ -1418,19 +1418,19 @@ void daNpc_Hr_c::getTornadoPos(int jointY, cXyz* tornadoPos) {
f32 temp = current.pos.y + speed.y;
tornadoPos->y = temp;
if (jointY == 10) {
- tornadoPos->x = tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(10)[0][3] : tornadoActor->current.pos.x;
- tornadoPos->z = tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(10)[2][3] : tornadoActor->current.pos.z;
+ tornadoPos->x = tornadoActor->getJointXPos(10);
+ tornadoPos->z = tornadoActor->getJointZPos(10);
} else {
pos1.set(
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[0][3] : tornadoActor->current.pos.x,
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[1][3] : tornadoActor->current.pos.y,
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY -1)[2][3] : tornadoActor->current.pos.z
+ tornadoActor->getJointXPos(jointY -1),
+ tornadoActor->getJointYPos(jointY -1),
+ tornadoActor->getJointZPos(jointY -1)
);
pos2.set(
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[0][3] : tornadoActor->current.pos.x,
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[1][3] : tornadoActor->current.pos.y,
- tornadoActor->mpModel != NULL ? tornadoActor->mpModel->getAnmMtx(jointY)[2][3] : tornadoActor->current.pos.z
+ tornadoActor->getJointXPos(jointY),
+ tornadoActor->getJointYPos(jointY),
+ tornadoActor->getJointZPos(jointY)
);
f32 ratio = (temp - pos1.y) / (pos2.y - pos1.y);
@@ -1571,7 +1571,7 @@ bool daNpc_Hr_c::rt_hide() {
/* 00003CEC-00003D0C .text rt_intro__10daNpc_Hr_cFv */
bool daNpc_Hr_c::rt_intro() {
- rt_hit1();
+ return rt_hit1();
}
/* 00003D0C-00003DD8 .text to_rt_hit__10daNpc_Hr_cFv */
@@ -1645,7 +1645,7 @@ bool daNpc_Hr_c::rt_angry() {
setTexPtn(2);
}
- if (hitObj != NULL && ((hitObj->GetAtType() & AT_TYPE_NORMAL_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_FIRE_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_ICE_ARROW) != 0 || (hitObj->GetAtType() & AT_TYPE_LIGHT_ARROW) != 0)) {
+ if (hitObj != NULL && ((hitObj->ChkAtType(AT_TYPE_NORMAL_ARROW)) || (hitObj->ChkAtType(AT_TYPE_FIRE_ARROW)) || (hitObj->ChkAtType(AT_TYPE_ICE_ARROW)) || (hitObj->ChkAtType(AT_TYPE_LIGHT_ARROW)))) {
cXyz scale(11.0f, 11.0f, 11.0f);
cXyz temp = *hitPos - pLink->eyePos;
if(!temp.isZero()) {
@@ -2046,7 +2046,7 @@ BOOL daNpc_Hr_c::_execute() {
hrModel->setBaseTRMtx(mDoMtx_stack_c::get());
mpHrMorf->calc();
if(chkFlag(HR_FLAG_00000010)) {
- mCyl.ClrCoSet();
+ mCyl.OffCoSetBit();
} else {
if(mType != 1) {
mCyl.OnCoSetBit();
diff --git a/src/d/actor/d_a_npc_mk.cpp b/src/d/actor/d_a_npc_mk.cpp
index 3d63332d..c3f25a15 100644
--- a/src/d/actor/d_a_npc_mk.cpp
+++ b/src/d/actor/d_a_npc_mk.cpp
@@ -60,7 +60,7 @@ static BOOL nodeCallBack_Mk(J3DNode* node, int calcTiming) {
} else if (jntNo == i_this->getBackboneJntNum()) {
mDoMtx_XrotM(*calc_mtx, i_this->getBackbone_y());
- mDoMtx_ZrotM(*calc_mtx, i_this->m_jnt.getBackbone_x());
+ mDoMtx_ZrotM(*calc_mtx, i_this->getBackbone_x());
}
cMtx_copy(*calc_mtx, J3DSys::mCurrentMtx);
model->setAnmMtx(jntNo, *calc_mtx);
@@ -183,7 +183,7 @@ void daNpc_Mk_c::checkOrder() {
setFlag(1);
talkInit();
}
- ClrOrder();
+ ClrOrder(0xFF);
}
/* 000006D4-00000750 .text next_msgStatus__10daNpc_Mk_cFPUl */
@@ -746,7 +746,7 @@ bool daNpc_Mk_c::demoProc() {
current.angle.y = home.angle.y;
break;
case 3:
- case 4:
+ case 4: {
if (mAnmIdx == 5) {
speedF = 12.0f;
} else if (mAnmIdx == 11) {
@@ -768,6 +768,7 @@ bool daNpc_Mk_c::demoProc() {
field_0x6E8 = -1;
}
break;
+ }
case 5:
talkInit();
dComIfGp_event_setTalkPartner(this);
@@ -815,7 +816,7 @@ bool daNpc_Mk_c::demoProc() {
clrFlag(0x10);
fopAcM_OnStatus(this, fopAcStts_SHOWMAP_e);
break;
- case 13:
+ case 13: {
fpc_ProcID itemID = fopAcM_createItemForPresentDemo(&current.pos, dItemNo_HEART_PIECE_e);
if (itemID != fpcM_ERROR_PROCESS_ID_e) {
@@ -823,6 +824,7 @@ bool daNpc_Mk_c::demoProc() {
}
dComIfGs_onEventBit(dSv_event_flag_c::UNK_1340);
break;
+ }
case 14:
dComIfGs_offTmpBit(dSv_event_tmp_flag_c::UNK_0040);
dComIfGs_onTmpBit(dSv_event_tmp_flag_c::UNK_0120);
@@ -874,14 +876,14 @@ bool daNpc_Mk_c::demoProc() {
}
return true;
- case 5:
+ case 5: {
u16 temp4 = talk();
if (temp4 == fopMsgStts_BOX_CLOSED_e || temp4 == 0xFE) {
dComIfGp_evmng_cutEnd(mStaffIdx);
}
setFlag(0x20);
break;
-
+ }
case 2:
case 6:
case 15:
@@ -1233,7 +1235,7 @@ bool daNpc_Mk_c::drop01() {
bool daNpc_Mk_c::runaway() {
u8 temp = mMkStatic.runAwayProc(this, &field_0x688, &mCyl, &field_0x6F0);
if (temp != mMkStatic.m0) {
- if (temp == 1 && mMkStatic.m0 == 2 || temp == 2 && mMkStatic.m0 == 1) {
+ if ((temp == 1 && mMkStatic.m0 == 2) || (temp == 2 && mMkStatic.m0 == 1)) {
if (cM_rndF(1.0f) < 0.5f) {
fopAcM_seStart(this, JA_SE_CV_TR_KO_A_TURN, 0);
}
@@ -1600,7 +1602,7 @@ BOOL daNpc_Mk_c::_execute() {
mpMorf->calc();
if(chkFlag(0x10)) {
- mCyl.ClrCoSet();
+ mCyl.OffCoSetBit();
} else {
mCyl.OnCoSetBit();
setCollision();
diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp
index 3f099787..b470fea7 100644
--- a/src/d/actor/d_a_player_main.cpp
+++ b/src/d/actor/d_a_player_main.cpp
@@ -13091,7 +13091,7 @@ void daPy_lk_c::endDemoMode() {
resetDemoTextureAnime();
if (mEquipItem == daPyItem_UNK104_e || mEquipItem == daPyItem_UNK10A_e) {
deleteEquipItem(FALSE);
- offNoResetFlg1(daPyFlg1_SHIP_TACT);
+ offShipTact();
}
mDoAud_taktModeMuteOff();
if (mAcch.ChkGroundHit() &&
diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp
index bbd9fc64..1600f630 100644
--- a/src/d/actor/d_a_ship.cpp
+++ b/src/d/actor/d_a_ship.cpp
@@ -22,6 +22,7 @@
#include "d/actor/d_a_bomb.h"
#include "d/actor/d_a_grid.h"
#include "res/Object/Ship.h"
+#include "cstdint.h"
static char l_arcName[] = "Ship";
static Vec l_cannon_top = {85.0f, 0.0f, 10.0f};
@@ -278,7 +279,7 @@ BOOL daShip_c::draw() {
mDoMtx_stack_c::concat(MStack_50);
mDoMtx_stack_c::revConcat(m02A8);
m02A0->setEffectMtx(mDoMtx_stack_c::get());
- m02A4->setTranslationX(m03D4);
+ m02A4->mTexMtxInfo.mSRT.mTranslationX = m03D4;
}
if (
@@ -2153,10 +2154,10 @@ BOOL daShip_c::procZevDemo() {
}
if (dComIfGp_evmng_getMyIntegerP(mEvtStaffId, "tact")) {
- daPy_getPlayerLinkActorClass()->onNoResetFlg1(daPy_py_c::daPyFlg1_SHIP_TACT);
+ daPy_getPlayerLinkActorClass()->onShipTact();
}
else {
- daPy_getPlayerLinkActorClass()->offNoResetFlg1(daPy_py_c::daPyFlg1_SHIP_TACT);
+ daPy_getPlayerLinkActorClass()->offShipTact();
}
if (m0351 == DEMO_INIT_e || m0351 == DEMO_OPEN_e) {
@@ -2640,11 +2641,11 @@ BOOL daShip_c::procTornadoUp_init() {
/* 00006DE0-00006FDC .text procTornadoUp__8daShip_cFv */
BOOL daShip_c::procTornadoUp() {
- daTornado_c* tornadoActor = mTornadoActor;
+ daTornado_c* tornado = mTornadoActor;
- cLib_addCalc(&current.pos.x, tornadoActor->getJointXPos(m037A), 0.5f, 80.0f, 20.0f);
+ cLib_addCalc(&current.pos.x, tornado->getJointXPos(m037A), 0.5f, 80.0f, 20.0f);
- cLib_addCalc(&current.pos.z, tornadoActor->getJointZPos(m037A), 0.5f, 80.0f, 20.0f);
+ cLib_addCalc(&current.pos.z, tornado->getJointZPos(m037A), 0.5f, 80.0f, 20.0f);
current.pos.y += speed.y;
speed.y += 2.0f;
@@ -2653,17 +2654,17 @@ BOOL daShip_c::procTornadoUp() {
speed.y = 50.0f;
}
- if (tornadoActor->getJointYPos(m037A) < current.pos.y && m037A < 11) {
+ if (tornado->getJointYPos(m037A) < current.pos.y && m037A < 11) {
m037A++;
}
shape_angle.y += 0x1C25;
camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
- cXyz local_3c(tornadoActor->current.pos.x, current.pos.y, tornadoActor->current.pos.z);
+ cXyz local_3c(tornado->current.pos.x, current.pos.y, tornado->current.pos.z);
camera->mCamera.Set(local_3c, camera->mCamera.Eye());
- if (m03A6 == 0 && current.pos.y > tornadoActor->current.pos.y + 5000.0f) {
+ if (m03A6 == 0 && current.pos.y > tornado->current.pos.y + 5000.0f) {
m03A6 = 1;
int exitId = (s32)cM_rndF(8.0f) + 0xC6;
if (exitId >= 0xCE) {
@@ -2704,29 +2705,29 @@ BOOL daShip_c::procStartModeWarp() {
GXColor amb;
cXyz local_30;
- daTornado_c* pfVar2 = (daTornado_c*)fopAcM_SearchByID(mTactWarpID);
+ daTornado_c* tornado = (daTornado_c*)fopAcM_SearchByID(mTactWarpID);
camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0));
shape_angle.y += m03A6;
current.angle.y = shape_angle.y;
- if (pfVar2) {
+ if (tornado) {
#if VERSION > VERSION_DEMO
if (!checkStateFlg(daSFLG_UNK8_e)) {
onStateFlg(daSFLG_UNK8_e);
- pfVar2->current.pos.x = current.pos.x;
- pfVar2->current.pos.z = current.pos.z;
+ tornado->current.pos.x = current.pos.x;
+ tornado->current.pos.z = current.pos.z;
}
#endif
iVar5 = 0;
for (int i = 0; i < 11; iVar5++, i++) {
- if (current.pos.y < pfVar2->getJointYPos(i)) break;
+ if (current.pos.y < tornado->getJointYPos(i)) break;
}
if (iVar5 == 11) {
iVar5 = 10;
}
- cLib_chaseF(&current.pos.x, pfVar2->getJointXPos(iVar5), 50.0f);
- cLib_chaseF(&current.pos.z, pfVar2->getJointZPos(iVar5), 50.0f);
- local_30.x = pfVar2->current.pos.x;
- local_30.z = pfVar2->current.pos.z;
+ cLib_chaseF(&current.pos.x, tornado->getJointXPos(iVar5), 50.0f);
+ cLib_chaseF(&current.pos.z, tornado->getJointZPos(iVar5), 50.0f);
+ local_30.x = tornado->current.pos.x;
+ local_30.z = tornado->current.pos.z;
}
else {
local_30.x = current.pos.x;
@@ -2740,8 +2741,8 @@ BOOL daShip_c::procStartModeWarp() {
speed.y = 0.0f;
offStateFlg(daSFLG_FLY_e);
m037A = 1;
- if (pfVar2 != NULL) {
- pfVar2->m31c = 1;
+ if (tornado != NULL) {
+ tornado->setScaleOn();
}
dKy_get_seacolor(&diff, &amb);
m03BC.x = 0;
@@ -2750,13 +2751,13 @@ BOOL daShip_c::procStartModeWarp() {
dComIfGp_particle_set(dPa_name::ID_AK_JN_SHIPWARPSPLASH00, &current.pos, &shape_angle, NULL, 0xFF, &m1984, -1, &diff);
dComIfGp_particle_set(dPa_name::ID_AK_JN_SHIPWARPSPLASH00, &current.pos, &m03BC, NULL, 0xFF, &m1998, -1, &diff);
}
- if (pfVar2 != NULL) {
- pfVar2->current.pos.y = current.pos.y - 700.0f;
+ if (tornado != NULL) {
+ tornado->current.pos.y = current.pos.y - 700.0f;
}
}
- else if (pfVar2 == NULL || pfVar2->mJointScale[10] < 0.8f) {
- if (pfVar2 != NULL) {
- pfVar2->current.pos.y -= 12.0f;
+ else if (tornado == NULL || tornado->getSmallScaleEnd() < 0.8f) {
+ if (tornado != NULL) {
+ tornado->current.pos.y -= 12.0f;
}
m03BC.y = shape_angle.y + 0x8000;
cLib_chaseS(&m03A6, 0, 0x40);
@@ -2818,7 +2819,7 @@ BOOL daShip_c::procTactWarp() {
res = FALSE;
}
else {
- if (cLib_chaseS(&m03A6, 0x1C25, 0x40) && (tornado->mJointScale[10] > 0.8f)) {
+ if (cLib_chaseS(&m03A6, 0x1C25, 0x40) && (tornado->getScaleEnd() > 0.8f)) {
speed.y += 1.0f;
if (speed.y > 50.0f) {
speed.y = 50.0f;
@@ -2831,7 +2832,7 @@ BOOL daShip_c::procTactWarp() {
else {
if ((!m037A) && (m03A6 > 0x1000)) {
m037A = 1;
- tornado->m31c = 1;
+ tornado->setScaleOn();
}
}
if (m037A == 1) {
@@ -3423,10 +3424,10 @@ void daShip_c::setTornadoActor() {
if (m0404 < 0.0f) {
m0404 = 0.0f;
}
- daTornado_c* pfVar2 = mTornadoActor;
- float dx = pfVar2->getJointXPos(0) - current.pos.x;
- float dz = pfVar2->getJointZPos(0) - current.pos.z;
- float distXZ = std::sqrtf(dx * dx + dz * dz);
+ daTornado_c* tornado = mTornadoActor;
+ f32 dx = tornado->getJointXPos(0) - current.pos.x;
+ f32 dz = tornado->getJointZPos(0) - current.pos.z;
+ f32 distXZ = std::sqrtf(dx * dx + dz * dz);
if (!checkStateFlg(daSFLG_UNK1000_e) && distXZ < 3500.0f) {
if(daPy_getPlayerLinkActorClass()->shipSpecialDemoStart()) {
procTornadoUp_init();
@@ -4594,8 +4595,7 @@ cPhs_State daShip_c::create() {
for (u16 mno = 0; mno < pModelData->getMaterialNum(); mno++) {
pMaterial = pModelData->getMaterialNodePointer(mno);
for(u32 i = 0; i < 8; i++) {
- J3DTexGenBlock* pTexGenBlock = pMaterial->getTexGenBlock();
- J3DTexMtx* pTexMtx = pTexGenBlock->getTexMtx(i);
+ J3DTexMtx* pTexMtx = pMaterial->getTexMtx(i);
if (pTexMtx && pTexMtx->getTexMtxInfo().mInfo == 8) {
m02A0 = pTexMtx;
m02A4 = pTexMtx;
@@ -4720,14 +4720,10 @@ cPhs_State daShip_c::create() {
mSph.Set(sph_src);
mSph.SetStts(&mStts);
- cull.box.min.x = -325.0f;
- cull.box.min.y = -50.0f;
- cull.box.min.z = -325.0f;
- cull.box.max.x = 325.0f;
- cull.box.max.y = 570.0f;
- cull.box.max.z = 240.0f;
+ fopAcM_SetMin(this, -325.0f, -50.0f, -325.0f);
+ fopAcM_SetMax(this, 325.0f, 570.0f, 240.0f);
- fopKyM_create(fpcNm_WIND_ARROW_e, (s32)this, 0, 0, 0);
+ fopKyM_create(fpcNm_WIND_ARROW_e, (std::intptr_t)this, 0, 0, 0);
offStateFlg(daSFLG_UNK2_e);
mAcch.CrrPos(*dComIfG_Bgsp());
diff --git a/src/d/actor/d_a_tornado.cpp b/src/d/actor/d_a_tornado.cpp
index 270ebf25..88e501ea 100644
--- a/src/d/actor/d_a_tornado.cpp
+++ b/src/d/actor/d_a_tornado.cpp
@@ -11,6 +11,8 @@
#include "d/d_com_inf_game.h"
#include "d/actor/d_a_ship.h"
#include "d/d_kankyo_wether.h"
+#include "d/actor/d_a_player.h"
+#include "cstdint.h"
static char l_arcName[] = "Trnd";
@@ -208,7 +210,7 @@ BOOL daTornado_c::execute() {
return TRUE;
}
}
- mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
attention_info.position = current.pos;
eyePos = current.pos;
@@ -218,7 +220,7 @@ BOOL daTornado_c::execute() {
dKy_get_seacolor(&colorAmb, &colorDif);
mPtclCb.getEmitter()->setGlobalPrmColor(colorAmb.r, colorAmb.g, colorAmb.b);
}
- mDoMtx_stack_c::transS(mCenter);
+ mDoMtx_stack_c::transS(mCenter.x, mCenter.y, mCenter.z);
mpModelUnder->setBaseTRMtx(mDoMtx_stack_c::get());
return TRUE;
@@ -320,14 +322,14 @@ cPhs_State daTornado_c::create() {
dComIfGp_particle_set(dPa_name::ID_AK_SN_WINDUPWATER00, &mCenter, NULL, NULL, 0xFF, &mPtclCb);
fopAcM_OnStatus(this, fopAcStts_SHOWMAP_e);
}
- mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
mpModelUnder->setBaseTRMtx(mDoMtx_stack_c::get());
J3DModelData* modelData = mpModel->getModelData();
for (u16 i = 1; i < modelData->getJointNum(); i++) {
modelData->getJointNodePointer(i)->setCallBack(daTornado_jointCallBack);
}
- mpModel->setUserArea((u32) this);
+ mpModel->setUserArea((std::uintptr_t)this);
}
return rt;
}