From 47e01ede220d41cf73edf76158f30ab8b2d8a5ba Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Fri, 22 May 2026 18:43:02 -0400 Subject: [PATCH] Fix d_a_npc_md inline usage --- include/JSystem/JGeometry.h | 5 ++ include/JSystem/TPosition3.h | 4 +- include/SSystem/SComponent/c_cc_d.h | 4 +- include/d/actor/d_a_npc_md.h | 30 ++++----- include/d/d_npc.h | 4 +- include/m_Do/m_Do_mtx.h | 2 +- src/d/actor/d_a_npc_cb1.cpp | 8 +-- src/d/actor/d_a_npc_md.cpp | 100 +++++++++++++--------------- src/d/actor/d_a_npc_tc.cpp | 2 +- src/d/actor/d_a_obj_eff.cpp | 2 +- src/d/actor/d_a_oship.cpp | 4 +- src/d/actor/d_a_player_main.cpp | 14 ++-- 12 files changed, 91 insertions(+), 88 deletions(-) diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index 0fba56eab..ecbdcbc4c 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -57,8 +57,12 @@ template <> struct TVec3 : public SVec { TVec3() {} TVec3(const SVec& b) { set(b); } + + template TVec3(s16 x, s16 y, s16 z) { set(x, y, z); } + TVec3(int x, int y, int z) { set(x, y, z); } + void set(const SVec& vec) { x = vec.x; y = vec.y; @@ -82,6 +86,7 @@ template <> struct TVec3 : public Vec { TVec3() {} + template TVec3(f32 x, f32 y, f32 z) { set(x, y, z); } TVec3(const Vec& b) { set(b); } diff --git a/include/JSystem/TPosition3.h b/include/JSystem/TPosition3.h index 3ff7bb5b2..2e77b4ebb 100644 --- a/include/JSystem/TPosition3.h +++ b/include/JSystem/TPosition3.h @@ -20,7 +20,7 @@ struct SMatrix34C { typedef f32 ArrType[4]; void set(const ArrType* src) { JMath::gekko_ps_copy12((f32*)data, (f32*)src); } - operator ArrType*() { return data; } + operator ArrType*() const { return (ArrType*)data; } operator const ArrType*() const { return data; } }; @@ -37,4 +37,4 @@ typedef TPosition3 > > > TPosition3f32; } // namespace JGeometry -#endif \ No newline at end of file +#endif diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 1fe678c32..0ed9dc136 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -182,7 +182,7 @@ class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph { public: cCcD_SphAttr() {} - inline void Set(const cCcD_SrcSphAttr& src) { + void Set(const cCcD_SrcSphAttr& src) { cM3dGSph::Set(src.mSph); } @@ -216,7 +216,7 @@ STATIC_ASSERT(0x34 == sizeof(cCcD_SphAttr)); class cCcD_CylAttr : public cCcD_ShapeAttr, public cM3dGCyl { public: cCcD_CylAttr() {} - inline void Set(const cCcD_SrcCylAttr& src) { + void Set(const cCcD_SrcCylAttr& src) { cM3dGCyl::Set(src.mCyl); } diff --git a/include/d/actor/d_a_npc_md.h b/include/d/actor/d_a_npc_md.h index 23d4543ba..4c87e8bf2 100644 --- a/include/d/actor/d_a_npc_md.h +++ b/include/d/actor/d_a_npc_md.h @@ -66,6 +66,8 @@ public: void setBitStatus(u32 status) { cLib_onBit(m30F0, status); } void clearStatus(u32 status) { cLib_offBit(m30F0, status); } bool checkStatus(u32 status) { return cLib_checkBit(m30F0, status); } + void setStatus(u32 status) { m30F0 = status; } + void clearStatus() { m30F0 = 0; } bool checkStatusFly() { return cLib_checkBit(m30F0, daMdStts_FLY); } void onBitCamTagIn() { cLib_onBit(m30F0, daMdStts_CAM_TAG_IN); } void offBitCamTagIn() { cLib_offBit(m30F0, daMdStts_CAM_TAG_IN); } @@ -85,12 +87,12 @@ public: void onLightBodyHit() { cLib_onBit(m30F0, daMdStts_LIGHT_BODY_HIT); } void offLightBodyHit() { cLib_offBit(m30F0, daMdStts_LIGHT_BODY_HIT); } bool isLightBodyHit() { return cLib_checkBit(m30F0, daMdStts_LIGHT_BODY_HIT); } - bool isOldLightBodyHit() { return cLib_checkBit(m30F0, daMdStts_LIGHT_BODY_HIT); } void onDefaultTalkXY() { cLib_onBit(m30F0, daMdStts_DEFAULT_TALK_XY); } void offDefaultTalkXY() { cLib_offBit(m30F0, daMdStts_DEFAULT_TALK_XY); } bool isDefaultTalkXY() { return cLib_checkBit(m30F0, daMdStts_DEFAULT_TALK_XY); } - void setOldLightBodyHit() { m3140 = isLightBodyHit(); } + bool isOldLightBodyHit() { return mOldLightBodyHit; } + void setOldLightBodyHit() { mOldLightBodyHit = isLightBodyHit(); } void setTypeEdaichi() { mType = 4; } void setTypeM_Dai() { mType = 5; } @@ -105,12 +107,18 @@ public: BOOL isTypeM_DaiB() { return mType == 6; } BOOL isTypeShipRide() { return mType == 7; } - s16 getHead_x() { return mJntCtrl.getHead_x(); } - s16 getHead_y() { return mJntCtrl.getHead_y(); } - s16 getBackbone_x() { return mJntCtrl.getBackbone_x(); } - s16 getBackbone_y() { return mJntCtrl.getBackbone_y(); } + s16 getHead_x() { return mJntCtrl.mAngles[0][0]; } + s16 getHead_y() { return mJntCtrl.mAngles[0][1]; } + s16 getBackbone_x() { return mJntCtrl.mAngles[1][0]; } + s16 getBackbone_y() { return mJntCtrl.mAngles[1][1]; } s16 getWaistRotX() { return m3114; } s16 getWaistRotY() { return m3116; } + void clearJntAng() { + mJntCtrl.mAngles[0][1] = 0; // Head_y + mJntCtrl.mAngles[0][0] = 0; // Head_x + mJntCtrl.mAngles[1][1] = 0; // BackBone_y + mJntCtrl.mAngles[1][0] = 0; // BackBone_x + } s8 getArmRJntNum() { return m_armR_jnt_num; } s8 getArmRlocJntNum() { return m_armRloc_jnt_num; } @@ -149,18 +157,10 @@ public: mpArmMorf->setAnmRate(mRunRate); } - void setStatus(u32 status) { m30F0 = status; } s16 getFlyingTimer() { return m_flyingTimer; } void setFlyingTimer(s16 value) { m_flyingTimer = value; } void calcFlyingTimer() { cLib_calcTimer(&m_flyingTimer); } u8 checkBitEffectStatus(u8 bit) { return m3135 & bit; } - void clearJntAng() { - mJntCtrl.setHead_y(0); - mJntCtrl.setHead_x(0); - mJntCtrl.setBackBone_y(0); - mJntCtrl.setBackBone_x(0); - } - void clearStatus() { setStatus(0); } u8 getTalkType() { return mType; } void setTalkType(u8 type) { mType = type; } void setBitEffectStatus(u8 bit) { cLib_onBit(m3135, bit); } @@ -424,7 +424,7 @@ public: /* 0x313D */ u8 m313D; /* 0x313E */ u8 m313E; /* 0x313F */ s8 m313F; - /* 0x3140 */ bool m3140; + /* 0x3140 */ bool mOldLightBodyHit; /* 0x3141 */ u8 m3141[0x3144 - 0x3141]; /* 0x3144 */ s16 m3144; /* 0x3146 */ s16 m3146; diff --git a/include/d/d_npc.h b/include/d/d_npc.h index b7afff59f..a1107805e 100644 --- a/include/d/d_npc.h +++ b/include/d/d_npc.h @@ -65,8 +65,8 @@ public: public: dNpc_JntCtrl_c() { - mbBackBoneLock = false; - mbHeadLock = false; + offBackBoneLock(); + offHeadLock(); } s8 getHeadJntNum() { return mHeadJntNum; } diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index f0ec160d0..4880cf4bd 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -43,7 +43,7 @@ inline void mDoMtx_multVec(const Mtx m, const Vec* src, Vec* dst) { MTXMultVec(m, src, dst); } -inline void mDoMtx_multVecArray(Mtx m, const Vec* src, Vec* dst, u32 count) { +inline void mDoMtx_multVecArray(const Mtx m, const Vec* src, Vec* dst, u32 count) { MTXMultVecArray(m, src, dst, count); } diff --git a/src/d/actor/d_a_npc_cb1.cpp b/src/d/actor/d_a_npc_cb1.cpp index 5828586c9..7252316ba 100644 --- a/src/d/actor/d_a_npc_cb1.cpp +++ b/src/d/actor/d_a_npc_cb1.cpp @@ -973,7 +973,7 @@ BOOL daNpc_Cb1_c::shipRideCheck() { if(dComIfGs_isEventBit(dSv_event_flag_c::UNK_1604) && dComIfGp_getShipActor()) { setNpcAction(&daNpc_Cb1_c::shipNpcAction, NULL); onShipRide(); - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); return TRUE; } @@ -1149,7 +1149,7 @@ void daNpc_Cb1_c::evCheckDisp(int staffIdx) { fopAcM_onDraw(this); } else { - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); } } else { @@ -2152,7 +2152,7 @@ BOOL daNpc_Cb1_c::rescueNpcAction(void*) { #if VERSION <= VERSION_JPN if(m8F0 == 0) { setAnm(ANM_00); - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); } else if(m8F0 != -1) { m8DD = 0; } @@ -2160,7 +2160,7 @@ BOOL daNpc_Cb1_c::rescueNpcAction(void*) { if(m8F0 != -1) { if(m8F0 == 0) { setAnm(ANM_00); - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); } m8DD = 0; diff --git a/src/d/actor/d_a_npc_md.cpp b/src/d/actor/d_a_npc_md.cpp index c05af1d5c..384374fad 100644 --- a/src/d/actor/d_a_npc_md.cpp +++ b/src/d/actor/d_a_npc_md.cpp @@ -19,11 +19,13 @@ #include "d/d_camera.h" #include "d/d_detect.h" -class daNpc_Md_HIO2_c { +class daNpc_Md_HIO2_c : public JORReflexible { public: daNpc_Md_HIO2_c(); virtual ~daNpc_Md_HIO2_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x04 */ f32 m04; /* 0x08 */ f32 m08; @@ -42,11 +44,13 @@ public: #endif }; -class daNpc_Md_HIO3_c { +class daNpc_Md_HIO3_c : public JORReflexible { public: daNpc_Md_HIO3_c(); virtual ~daNpc_Md_HIO3_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x04 */ f32 m04; /* 0x08 */ f32 m08; @@ -63,32 +67,38 @@ public: /* 0x26 */ u8 field_26[0x28 - 0x26]; }; -class daNpc_Md_HIO4_c { +class daNpc_Md_HIO4_c : public JORReflexible { public: daNpc_Md_HIO4_c(); virtual ~daNpc_Md_HIO4_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x4 */ f32 m4; /* 0x8 */ s16 m8; /* 0xA */ u8 field_A[0xC - 0xA]; }; -class daNpc_Md_HIO5_c { +class daNpc_Md_HIO5_c : public JORReflexible { public: daNpc_Md_HIO5_c(); virtual ~daNpc_Md_HIO5_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x4 */ f32 m4; /* 0x8 */ f32 m8; }; -class daNpc_Md_HIO6_c { +class daNpc_Md_HIO6_c : public JORReflexible { public: daNpc_Md_HIO6_c(); virtual ~daNpc_Md_HIO6_c() {} + void genMessage(JORMContext* ctx) {} + public: /* 0x04 */ f32 m04; /* 0x08 */ s16 m08; @@ -731,9 +741,7 @@ static BOOL armNodeCallBack(J3DNode* node, int calcTiming) { static BOOL hairCross(cXyz* i_r3, cXyz* i_r4, cXyz* i_r5) { cM3dGTri r1_198(&i_r3[0], &i_r3[1], &i_r3[2]); cM3dGTri r1_160(&i_r3[1], &i_r3[3], &i_r3[2]); - - cM3dGLin r1_144; - r1_144.SetStartEnd(*i_r4, *i_r5); + cM3dGLin r1_144(*i_r4, *i_r5); cXyz r1_138; if (r1_198.cross(&r1_144, &r1_138, true, false)) { @@ -1137,9 +1145,9 @@ void daNpc_Md_c::playerAction(void* arg) { } #if VERSION == VERSION_DEMO - if (isOldLightBodyHit()) + if (isLightBodyHit()) #else - if (mAcch.ChkGroundHit() && isOldLightBodyHit()) + if (mAcch.ChkGroundHit() && isLightBodyHit()) #endif { dComIfGp_setRStatusForce(dActStts_RETURN_e); @@ -1149,7 +1157,7 @@ void daNpc_Md_c::playerAction(void* arg) { } else { dComIfGp_setDoStatus(dActStts_ba_motu__dupe_2E); dComIfGp_setAStatus(dActStts_HIDDEN_e); - if (!m3140) { + if (!isOldLightBodyHit()) { dComIfGp_getVibration().StartShock(4, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } } @@ -1378,7 +1386,7 @@ void daNpc_Md_c::NpcCall(int* r31) { f32 dist_sq = fopAcM_searchPlayerDistance2(this); if (!checkNpcCallCommand()) { if (dist_sq < SQUARE(l_HIO.m0C8)) { - daPy_getPlayerLinkActorClass()->onNpcCallCommand(); + daPy_getPlayerLinkActorClass()->onNpcCall(); *r31 = 1; } } else { @@ -1464,7 +1472,7 @@ void daNpc_Md_c::waitGroundCheck() { } } } else { - if (daPy_getPlayerActorClass() != this) { + if (dComIfGp_getPlayer(0) != this) { setNpcAction(&daNpc_Md_c::fallNpcAction); } } @@ -1847,7 +1855,7 @@ BOOL daNpc_Md_c::shipNpcAction(void*) { daShip_c* ship = dComIfGp_getShipActor(); if (ship != NULL) { onShipRide(); - if (std::fabsf(ship->speedF) < 0.001f) { + if (std::fabsf(fopAcM_GetSpeedF(ship)) < 0.001f) { setAnm(0x2a); if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) { s16 angle = shape_angle.y + getHead_y() + getBackbone_y(); @@ -1897,7 +1905,7 @@ BOOL daNpc_Md_c::mwaitNpcAction(void*) { f32 dVar3 = fopAcM_searchPlayerDistance2(this); if (!checkNpcCallCommand()) { if (dVar3 < (l_HIO.m0C8 * l_HIO.m0C8)) { - daPy_getPlayerLinkActorClass()->onNpcCallCommand(); + daPy_getPlayerLinkActorClass()->onNpcCall(); } } else { mActionStatus++; @@ -1999,7 +2007,7 @@ BOOL daNpc_Md_c::carryNpcAction(void*) { #endif cLib_offBit(attention_info.flags, fopAc_Attn_ACTION_CARRY_e); offNpcCallCommand(); - m3144 = shape_angle.y - dComIfGp_getPlayer(0)->shape_angle.y; + m3144 = fopAcM_toPlayerShapeAngleY(this); clearStatus(daMdStts_UNK1 | daMdStts_UNK2 | daMdStts_UNK4 | daMdStts_FLY); if (isNoCarryAction()) { setAnm(0x24); @@ -2054,7 +2062,7 @@ BOOL daNpc_Md_c::carryNpcAction(void*) { #endif } else if (m3104 == 5) { dVar9 = mpMorf->getPlaySpeed(); - if ((fopAcM_GetSpeedF(player) == 0.0f) && (player->getBaseAnimeFrame() <= mpMorf->getEndFrame())) { + if ((player->getSpeedF() == 0.0f) && (player->getBaseAnimeFrame() <= mpMorf->getEndFrame())) { mpMorf->setFrame(player->getBaseAnimeFrame()); mpMorf->setPlaySpeed(0.0f); mpArmMorf->setFrame(player->getBaseAnimeFrame()); @@ -2097,14 +2105,8 @@ BOOL daNpc_Md_c::carryNpcAction(void*) { setNpcAction(&daNpc_Md_c::land03NpcAction); } } else if ((checkStatus(daMdStts_UNK1)) || (bVar1)) { -#if VERSION == VERSION_DEMO - if (current.pos.y - mAcch.GetGroundH() >= l_HIO.m1AC) -#else f32 f1 = mAcch.GetGroundH(); - f32 f0 = current.pos.y; - if (f0 - f1 >= l_HIO.m1AC) -#endif - { + if (current.pos.y - f1 >= l_HIO.m1AC) { setNpcAction(&daNpc_Md_c::fall02NpcAction); } else { setNpcAction(&daNpc_Md_c::fallNpcAction); @@ -2741,7 +2743,7 @@ BOOL daNpc_Md_c::searchNpcAction(void*) { } } else { m312C = 1; - daPy_py_c* player = daPy_getPlayerActorClass(); + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); BOOL door = player->eventInfo.checkCommandDoor(); f32 dist_sq = fopAcM_searchPlayerDistanceXZ2(this); f32 temp; @@ -3509,7 +3511,7 @@ void daNpc_Md_c::initialWaitEvent(int staffIdx) { if (*pDisp) { fopAcM_onDraw(this); } else { - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); } } else { fopAcM_onDraw(this); @@ -3655,7 +3657,7 @@ void daNpc_Md_c::initialMovePosEvent(int staffIdx) { current.angle.y = angle; shape_angle.y = angle; } - cXyz* pPos = dComIfGp_evmng_getMyXyzP(staffIdx, "Pos"); + Vec* pPos = dComIfGp_evmng_getMyVec3dP(staffIdx, "Pos"); if (pPos != NULL) { current.pos.set(link->current.pos.x + pPos->x, link->current.pos.y + pPos->y, link->current.pos.z + pPos->z); } @@ -3669,7 +3671,7 @@ void daNpc_Md_c::initialMovePosEvent(int staffIdx) { current.angle.y = angle; shape_angle.y = angle; } - cXyz* pPos = dComIfGp_evmng_getMyXyzP(staffIdx, "Pos"); + Vec* pPos = dComIfGp_evmng_getMyVec3dP(staffIdx, "Pos"); if (pPos != NULL) { current.pos = *pPos; } @@ -3794,7 +3796,7 @@ BOOL daNpc_Md_c::actionWalkEvent(int staffIdx) { cXyz local_24; cXyz local_3c; - cXyz* pfVar2 = dComIfGp_evmng_getMyXyzP(staffIdx, "Pos"); + Vec* pfVar2 = dComIfGp_evmng_getMyVec3dP(staffIdx, "Pos"); f32* pfVar3 = dComIfGp_evmng_getMyFloatP(staffIdx, "Speed"); f32* pfVar4 = dComIfGp_evmng_getMyFloatP(staffIdx, "RunRate"); if (pfVar2 != NULL) { @@ -3852,7 +3854,7 @@ BOOL daNpc_Md_c::actionDashEvent(int staffIdx) { cXyz local_24; cXyz local_3c; - cXyz* pfVar2 = dComIfGp_evmng_getMyXyzP(staffIdx, "Pos"); + Vec* pfVar2 = dComIfGp_evmng_getMyVec3dP(staffIdx, "Pos"); if (pfVar2 != NULL) { local_24 = *pfVar2; local_3c = local_24 - current.pos; @@ -3949,7 +3951,8 @@ BOOL daNpc_Md_c::actionTactEvent(int staffIdx) { if (pPrm0 != NULL) { prm = *pPrm0; } - s32 song = daPy_getPlayerActorClass()->getTactMusic(); + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + s32 song = player->getTactMusic(); if (song >= 0) { setBitStatus(daMdStts_UNK400); } @@ -4087,7 +4090,7 @@ void daNpc_Md_c::initialTurnEvent(int staffIdx) { } else { m3118 = 0; } - cXyz* pfVar2 = dComIfGp_evmng_getMyXyzP(staffIdx, "Pos"); + Vec* pfVar2 = dComIfGp_evmng_getMyVec3dP(staffIdx, "Pos"); if (pfVar2 != NULL) { m30B8 = *pfVar2; } else { @@ -5429,7 +5432,7 @@ void daNpc_Md_c::setCollision() { local_50 = local_44 + local_38; mLinChk.Set(&local_44, &local_50, this); if (dComIfG_Bgsp()->LineCross(&mLinChk)) { - local_50 = *mLinChk.GetCrossP(); + local_50 = mLinChk.GetCross(); local_38 = local_50 - local_44; } mCps.SetStartEnd(local_44, local_50); @@ -5454,7 +5457,7 @@ void daNpc_Md_c::setAttention(bool param_1) { f32 fVar1; if (isFlying()) { fVar1 = 70.0f; - } else if (daPy_getPlayerActorClass() == this) { + } else if (dComIfGp_getPlayer(0) == this) { fVar1 = 110.0f; } else { fVar1 = l_HIO.mNpc.mAttnYOffset; @@ -5547,11 +5550,11 @@ void daNpc_Md_c::setBaseMtx() { model = getModel(); if (fopAcM_CheckStatus(this, fopAcStts_CARRY_e)) { if (isNoCarryAction()) { - mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); - mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::transM(0.0f, -l_HIO.m05C.m4, 0.0f); } else { - mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::transM(m3298.x, m3298.y, m3298.z); mDoMtx_stack_c::XrotM(shape_angle.x); @@ -5605,10 +5608,10 @@ void daNpc_Md_c::deletePiyoPiyo() { } emitter->quitImmortalEmitter(); m0508[1]->becomeInvalidEmitter(); - JSUPtrLink* link = emitter->getParticleList()->getFirstLink(); - while (link != 0) { - JPABaseParticle* ptcl = (JPABaseParticle*)link->getObjectPtr(); - ptcl->setDeleteParticleFlag(); + JSUList* list = emitter->getParticleList(); + JSULink* link = list->getFirst(); + while (link != list->getEnd()) { + link->getObject()->setDeleteParticleFlag(); link = link->getNext(); } m0508[1] = NULL; @@ -5693,8 +5696,8 @@ BOOL daNpc_Md_c::init() { for (s32 i = 0; i < 10; i++) { mEventIdxTable[i] = dComIfGp_evmng_getEventIdx(event_name_tbl[i], 0xFF); } - eventInfo.mpCheckCB = daNpc_Md_XyCheckCB; - eventInfo.mpEventCB = daNpc_Md_XyEventCB; + eventInfo.setXyCheckCB(daNpc_Md_XyCheckCB); + eventInfo.setXyEventCB(daNpc_Md_XyEventCB); return TRUE; } @@ -6029,21 +6032,14 @@ BOOL daNpc_Md_c::execute() { if ((mAcch.ChkGroundHit()) && (m3131 == 0)) { dComIfGp_particle_setSimpleLand(mAcch.m_gnd, ¤t.pos, &shape_angle, 1.25f, 1.5f, 1.0f, &tevStr, &iStack_88, 7); } -#if VERSION == VERSION_DEMO m3131 = mAcch.ChkGroundHit(); -#else - m3131 = (mAcch.ChkGroundHit()) ? TRUE : FALSE; -#endif if ((mAcch.GetGroundH() == -G_CM3D_F_INF) || (dComIfG_Bgsp()->GetGroundCode(mAcch.m_gnd) == 4)) { if (!isFallAction()) { m4E8 = 0; } else if (m4E8 < 30) { m4E8++; } else if (!(dComIfGp_roomControl_checkStatusFlag(fopAcM_GetHomeRoomNo(this), 0x10))) { - current.pos = home.pos; - current.angle = home.angle; - current.roomNo = home.roomNo; - current.field_0x13 = home.field_0x13; + current = home; shape_angle = home.angle; speedF = 0.0f; m4E8 = 0; @@ -6060,7 +6056,7 @@ BOOL daNpc_Md_c::execute() { animationPlay(); } if (!eventProc()) { - if (daPy_getPlayerActorClass() == this) { + if (dComIfGp_getPlayer(0) == this) { fopAcM_SetStatusMap(this, 0x11); if (isReturnLink()) { mCurEventMode = 0xc; diff --git a/src/d/actor/d_a_npc_tc.cpp b/src/d/actor/d_a_npc_tc.cpp index 4ec594cce..e30c01733 100644 --- a/src/d/actor/d_a_npc_tc.cpp +++ b/src/d/actor/d_a_npc_tc.cpp @@ -219,7 +219,7 @@ void daNpc_Tc_c::playTexPatternAnm() { /* 000007D0-00000948 .text smoke_set__10daNpc_Tc_cFfffff */ void daNpc_Tc_c::smoke_set(f32 i_rate, f32 i_spread, f32 i_initialVelOmni, f32 i_initialVelAxis, f32 i_initialVelDir) { - static JGeometry::TVec3 smoke_scale(1.0f, 1.0f, 1.0); + static JGeometry::TVec3 smoke_scale(1.0f, 1.0f, 1.0f); if(mSmokeCallBack.getEmitter() == NULL) { dComIfGp_particle_setToon(dPa_name::ID_AK_JT_ELEMENTSMOKE00, &mSmokePos, &mSmokeAngle, NULL, 0xB9, &mSmokeCallBack, fopAcM_GetRoomNo(this)); } diff --git a/src/d/actor/d_a_obj_eff.cpp b/src/d/actor/d_a_obj_eff.cpp index 670deb1e0..eb81ea282 100644 --- a/src/d/actor/d_a_obj_eff.cpp +++ b/src/d/actor/d_a_obj_eff.cpp @@ -288,7 +288,7 @@ cPhs_State daObjEff::Act_c::_create() { int phase = cPhs_COMPLEATE_e; if (fopAcM_entrySolidHeap(this, &solidHeapCB, heap_size[mType])) { if ((u8) eff_set() != 0) { - fopDwTg_DrawQTo(&draw_tag); + fopAcM_offDraw(this); } else { phase = cPhs_ERROR_e; } diff --git a/src/d/actor/d_a_oship.cpp b/src/d/actor/d_a_oship.cpp index 392ebb866..14d0657dc 100644 --- a/src/d/actor/d_a_oship.cpp +++ b/src/d/actor/d_a_oship.cpp @@ -224,8 +224,8 @@ void daOship_c::changeModeByRange() { /* 00000990-00000C08 .text createWave__9daOship_cFv */ void daOship_c::createWave() { - static const JGeometry::TVec3 wave_l_direction(0.5, 1.0f, -0.3f); - static const JGeometry::TVec3 wave_r_direction(-0.5, 1.0f, -0.3f); + static const JGeometry::TVec3 wave_l_direction(0.5f, 1.0f, -0.3f); + static const JGeometry::TVec3 wave_r_direction(-0.5f, 1.0f, -0.3f); if (!mWaveCallback1.getEmitter()) { dComIfGp_particle_set(dPa_name::ID_AK_JN_SHIPWAVE00, &mWavePos, &mWaveRot, NULL, 0xFF, &mWaveCallback1); diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 24884ff7f..7f837706b 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -50,7 +50,7 @@ JGeometry::TVec3 l_hammer_splash_particle_scale(0.67f, 0.67f, 0.67f); #include "d/actor/d_a_player_HIO_data.inc" -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO cXyz l_debug_keep_pos; csXyz l_debug_current_angle; csXyz l_debug_shape_angle; @@ -11265,7 +11265,7 @@ BOOL daPy_lk_c::execute() { } } -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO current.pos = l_debug_keep_pos; shape_angle = l_debug_shape_angle; current.angle = l_debug_current_angle; @@ -11729,7 +11729,7 @@ BOOL daPy_lk_c::execute() { mWhirlId = fpcM_ERROR_PROCESS_ID_e; -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO l_debug_keep_pos = current.pos; l_debug_shape_angle = shape_angle; l_debug_current_angle = current.angle; @@ -12647,7 +12647,9 @@ cPhs_State daPy_lk_c::makeBgWait() { if ((dComIfGs_getLastSceneMode() & 0x4000) != 0) { onNoResetFlg1(daPyFlg1_SOUP_POWER_UP); } +#endif +#if DEBUG || VERSION > VERSION_DEMO l_debug_keep_pos = current.pos; l_debug_shape_angle = shape_angle; l_debug_current_angle = current.angle; @@ -13031,7 +13033,7 @@ void daPy_lk_c::setPlayerPosAndAngle(cXyz* param_1, s16 param_2) { shape_angle.y = param_2; current.angle.y = param_2; m34DE = shape_angle.y; -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO l_debug_keep_pos = current.pos; l_debug_shape_angle = shape_angle; l_debug_current_angle = current.angle; @@ -13052,7 +13054,7 @@ void daPy_lk_c::setPlayerPosAndAngle(cXyz* param_1, csXyz* param_2) { current.angle.y = shape_angle.y; m34DE = shape_angle.y; } -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO l_debug_keep_pos = current.pos; l_debug_shape_angle = shape_angle; l_debug_current_angle = current.angle; @@ -13069,7 +13071,7 @@ void daPy_lk_c::setPlayerPosAndAngle(MtxP param_1) { mDoMtx_MtxToRot(param_1, &shape_angle); current.angle.y = shape_angle.y; m34DE = shape_angle.y; -#if VERSION > VERSION_DEMO +#if DEBUG || VERSION > VERSION_DEMO l_debug_keep_pos = current.pos; l_debug_shape_angle = shape_angle; l_debug_current_angle = current.angle;