mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-05 03:07:40 -04:00
Fix d_a_npc_md inline usage
This commit is contained in:
@@ -57,8 +57,12 @@ template <>
|
||||
struct TVec3<s16> : public SVec {
|
||||
TVec3() {}
|
||||
TVec3(const SVec& b) { set(b); }
|
||||
|
||||
template<typename s16>
|
||||
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<f32> : public Vec {
|
||||
TVec3() {}
|
||||
|
||||
template<typename f32>
|
||||
TVec3(f32 x, f32 y, f32 z) { set(x, y, z); }
|
||||
|
||||
TVec3(const Vec& b) { set(b); }
|
||||
|
||||
@@ -20,7 +20,7 @@ struct SMatrix34C<f32> {
|
||||
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<TRotation3<TMatrix34<SMatrix34C<f32> > > > TPosition3f32;
|
||||
|
||||
} // namespace JGeometry
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -66,6 +66,8 @@ public:
|
||||
void setBitStatus(u32 status) { cLib_onBit<u32>(m30F0, status); }
|
||||
void clearStatus(u32 status) { cLib_offBit<u32>(m30F0, status); }
|
||||
bool checkStatus(u32 status) { return cLib_checkBit<u32>(m30F0, status); }
|
||||
void setStatus(u32 status) { m30F0 = status; }
|
||||
void clearStatus() { m30F0 = 0; }
|
||||
bool checkStatusFly() { return cLib_checkBit<u32>(m30F0, daMdStts_FLY); }
|
||||
void onBitCamTagIn() { cLib_onBit<u32>(m30F0, daMdStts_CAM_TAG_IN); }
|
||||
void offBitCamTagIn() { cLib_offBit<u32>(m30F0, daMdStts_CAM_TAG_IN); }
|
||||
@@ -85,12 +87,12 @@ public:
|
||||
void onLightBodyHit() { cLib_onBit<u32>(m30F0, daMdStts_LIGHT_BODY_HIT); }
|
||||
void offLightBodyHit() { cLib_offBit<u32>(m30F0, daMdStts_LIGHT_BODY_HIT); }
|
||||
bool isLightBodyHit() { return cLib_checkBit<u32>(m30F0, daMdStts_LIGHT_BODY_HIT); }
|
||||
bool isOldLightBodyHit() { return cLib_checkBit<u32>(m30F0, daMdStts_LIGHT_BODY_HIT); }
|
||||
void onDefaultTalkXY() { cLib_onBit<u32>(m30F0, daMdStts_DEFAULT_TALK_XY); }
|
||||
void offDefaultTalkXY() { cLib_offBit<u32>(m30F0, daMdStts_DEFAULT_TALK_XY); }
|
||||
bool isDefaultTalkXY() { return cLib_checkBit<u32>(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<u8>(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;
|
||||
|
||||
+2
-2
@@ -65,8 +65,8 @@ public:
|
||||
|
||||
public:
|
||||
dNpc_JntCtrl_c() {
|
||||
mbBackBoneLock = false;
|
||||
mbHeadLock = false;
|
||||
offBackBoneLock();
|
||||
offHeadLock();
|
||||
}
|
||||
|
||||
s8 getHeadJntNum() { return mHeadJntNum; }
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
+48
-52
@@ -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<u32>(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<JPABaseParticle>* list = emitter->getParticleList();
|
||||
JSULink<JPABaseParticle>* 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;
|
||||
|
||||
@@ -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<f32> smoke_scale(1.0f, 1.0f, 1.0);
|
||||
static JGeometry::TVec3<f32> 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));
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -224,8 +224,8 @@ void daOship_c::changeModeByRange() {
|
||||
|
||||
/* 00000990-00000C08 .text createWave__9daOship_cFv */
|
||||
void daOship_c::createWave() {
|
||||
static const JGeometry::TVec3<f32> wave_l_direction(0.5, 1.0f, -0.3f);
|
||||
static const JGeometry::TVec3<f32> wave_r_direction(-0.5, 1.0f, -0.3f);
|
||||
static const JGeometry::TVec3<f32> wave_l_direction(0.5f, 1.0f, -0.3f);
|
||||
static const JGeometry::TVec3<f32> 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);
|
||||
|
||||
@@ -50,7 +50,7 @@ JGeometry::TVec3<f32> 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;
|
||||
|
||||
Reference in New Issue
Block a user