diff options
| author | Max Roncace <me@caseif.net> | 2025-07-31 05:19:46 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-31 02:19:46 -0700 |
| commit | e0bbad1f3fd4e3a71ca3a9220de1fb1a9ddcd1ee (patch) | |
| tree | 2eb3101e9672288ab95f20981cbdbb0429ffacc7 /include | |
| parent | 418e39356dc0e9b7ff0995a2530be9d1bd7c367d (diff) | |
Miscellaneous match improvements (#2562)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_mant.h | 50 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_zant.h | 14 | ||||
| -rw-r--r-- | include/d/actor/d_a_tag_kmsg.h | 2 | ||||
| -rw-r--r-- | include/m_Do/m_Do_mtx.h | 4 |
4 files changed, 50 insertions, 20 deletions
diff --git a/include/d/actor/d_a_mant.h b/include/d/actor/d_a_mant.h index b1304a3c89..53ae222994 100644 --- a/include/d/actor/d_a_mant.h +++ b/include/d/actor/d_a_mant.h @@ -11,24 +11,42 @@ */ class daMant_packet_c : public J3DPacket { - public: - /* 80861298 */ void draw(); - /* 80862BA4 */ ~daMant_packet_c(); +public: + /* 80861298 */ void draw(); + /* 80862BA4 */ ~daMant_packet_c(); + + /* 0x0010 */ Mtx mMtx; + /* 0x0040 */ Mtx mMtx2; + /* 0x0070 */ dKy_tevstr_c* mTevStr; + /* 0x0074 */ u8 field_0x74; + /* 0x0078 */ cXyz mPos[2][169]; + /* 0x1050 */ cXyz mNrm[2][169]; + /* 0x2028 */ u8 field_0x2028; + /* 0x2029 */ u8 mArg0; + + daMant_packet_c() { + field_0x74 = 0; + } + + cXyz* getPos() { + return &mPos[field_0x74][0]; + } + + cXyz* getNrm() { + return &mNrm[field_0x74][0]; + } + + void setTevStr(dKy_tevstr_c* tevStr) { + mTevStr = tevStr; + } - /* 0x0010 */ Mtx mMtx; - /* 0x0040 */ Mtx mMtx2; - /* 0x0070 */ dKy_tevstr_c* field_0x70; - /* 0x0074 */ u8 field_0x74; - /* 0x0075 */ u8 field_0x75[0x78 - 0x75]; - /* 0x0078 */ cXyz mPos[338]; - /* 0x1050 */ cXyz mNrm[338]; - /* 0x2028 */ u8 field_0x2028; - /* 0x2029 */ u8 mArg0; - /* 0x202a */ u8 field_0x202a[0x202b - 0x202a]; + MtxP getMtx2() { + return mMtx2; + } - cXyz* getPos() { - return this->mPos + this->field_0x74 * 0xa9; - } + MtxP getMtx() { + return mMtx; + } }; struct mant_j_s { public: diff --git a/include/d/actor/d_a_npc_zant.h b/include/d/actor/d_a_npc_zant.h index 05ab7c4c6c..80c4b16f93 100644 --- a/include/d/actor/d_a_npc_zant.h +++ b/include/d/actor/d_a_npc_zant.h @@ -60,7 +60,7 @@ public: static cutFunc mCutList[1]; private: - /* 0xE40 */ u8 field_0xe40[0xe44- 0xe40]; + /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40]; /* 0xE44 */ dCcD_Cyl mCyl; /* 0xF80 */ u8 mType; /* 0xF81 */ u8 field_0xf81[0xf84 - 0xf81]; @@ -73,7 +73,7 @@ STATIC_ASSERT(sizeof(daNpc_Zant_c) == 0xfa0); class daNpc_Zant_Param_c { public: - /* 80B6E93C */ ~daNpc_Zant_Param_c() {}; + /* 80B6E93C */ virtual ~daNpc_Zant_Param_c() {} struct Data { /* 0x00 */ f32 field_0x0; /* 0x04 */ f32 field_0x4; @@ -112,11 +112,19 @@ public: /* 0x7C */ f32 field_0x7c; /* 0x80 */ f32 field_0x80; /* 0x84 */ f32 field_0x84; - /* 0x88 */ f32 field_0x88; + /* 0x88 */ f32 field_0x88; }; static const Data m; }; +class daNpc_Zant_HIO_c { +public: + virtual ~daNpc_Zant_HIO_c() {} + +#if DEBUG + daNpc_Zant_Param_c::Data param; +#endif +}; #endif /* D_A_NPC_ZANT_H */ diff --git a/include/d/actor/d_a_tag_kmsg.h b/include/d/actor/d_a_tag_kmsg.h index 209ebe9300..4639001fa0 100644 --- a/include/d/actor/d_a_tag_kmsg.h +++ b/include/d/actor/d_a_tag_kmsg.h @@ -70,7 +70,7 @@ public: } u32 getTalkAngle() { - u32 talkAngle = (fopAcM_GetParam(this) & 0xe0) >> 5; + u32 talkAngle = (fopAcM_GetParam(this) >> 5) & 0x7; if (talkAngle == 7) { return 0; } else { diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index 12e730c9a6..40fe3577ac 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -100,6 +100,10 @@ inline void cMtx_multVecArray(Mtx mtx, const Vec* src, Vec* dst, u32 count) { mDoMtx_multVecArray(mtx, src, dst, count); } +inline void cMtx_inverseTranspose(const Mtx a, Mtx b) { + mDoMtx_inverseTranspose(a, b); +} + inline void mDoMtx_multVecZero(CMtxP param_0, Vec* param_1) { param_1->x = param_0[0][3]; param_1->y = param_0[1][3]; |
