diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2024-11-13 11:27:39 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-13 11:27:39 -0500 |
| commit | fefe3af58f305a5543e2fe2c20f2415040dc4dd4 (patch) | |
| tree | 3df46b4576eae8ba5095563bd2cf1ad883964bad /include | |
| parent | 2ecf6509dd625096fe6c7841a36bb4c7ec954cb6 (diff) | |
d_a_obj_flying_clawshot_target OK (fixed) (#102)
* d_a_obj_flying_clawshot_target OK
* fix tubo symbol
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/a/d_a_player.h | 9 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_flying_clawshot_target.h | 17 | ||||
| -rw-r--r-- | include/m/m_quat.h | 2 | ||||
| -rw-r--r-- | include/m/m_vec.h | 5 |
4 files changed, 32 insertions, 1 deletions
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 6fb18530..22036a63 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -74,7 +74,7 @@ public: /* vt 0x0D0 */ virtual void tryGrabItemWithWhip(); /* vt 0x0D4 */ virtual void someFloatWithWhip(); /* vt 0x0D8 */ virtual void getItemFromClawshotsMaybe(); - /* vt 0x0DC */ virtual void vt_0x0DC(); + /* vt 0x0DC */ virtual void vt_0x0DC(dAcBase_c *, mVec3_c &); /* vt 0x0E0 */ virtual void isUsingBomb(); /* vt 0x0E4 */ virtual void vt_0x0E4(); /* vt 0x0E8 */ virtual void vt_0x0E8(); @@ -246,5 +246,12 @@ public: return mCurrentAction; } + inline bool checkActionFlags(u32 mask) const { + return (mActionFlags & mask) != 0; + } + inline bool checkActionFlagsCont(u32 mask) const { + return (mActionFlagsCont & mask) != 0; + } + static dAcPy_c *LINK; }; diff --git a/include/d/a/obj/d_a_obj_flying_clawshot_target.h b/include/d/a/obj/d_a_obj_flying_clawshot_target.h index 844a720d..9dc1e1ec 100644 --- a/include/d/a/obj/d_a_obj_flying_clawshot_target.h +++ b/include/d/a/obj/d_a_obj_flying_clawshot_target.h @@ -2,13 +2,30 @@ #define D_A_OBJ_FLYING_CLAWSHOT_TARGET_H #include "d/a/obj/d_a_obj_base.h" +#include "d/col/cc/d_cc_d.h" +#include "m/m3d/m_smdl.h" +#include "m/m_quat.h" +#include "m/m_vec.h" class dAcOFlyingClawshotTarget_c : public dAcObjBase_c { public: dAcOFlyingClawshotTarget_c() {} virtual ~dAcOFlyingClawshotTarget_c() {} + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorCreate() override; + virtual int actorPostCreate() override; + virtual int actorExecute() override; + private: + /* 0x330 */ m3d::smdl_c mMdl; + /* 0x34C */ dCcD_Sph mSph; + /* 0x49C */ int mState; + /* 0x4A0 */ mVec3_c mMarkPoint; + /* 0x4AC */ mQuat_c mToLink; + + static const cCcD_SrcGObj sColSrc; }; #endif diff --git a/include/m/m_quat.h b/include/m/m_quat.h index cf845858..5671d4ec 100644 --- a/include/m/m_quat.h +++ b/include/m/m_quat.h @@ -14,7 +14,9 @@ public: return *this; } + bool Set(const mVec3_c &, const mVec3_c &); void fn_802F2780(const mQuat_c &other); + bool fn_802F2450(const mVec3_c &, const mVec3_c &, f32); }; #endif diff --git a/include/m/m_vec.h b/include/m/m_vec.h index 9b25e29c..2eb48793 100644 --- a/include/m/m_vec.h +++ b/include/m/m_vec.h @@ -220,11 +220,16 @@ public: f32 distance(const mVec3_c &to) const { return EGG::Math<f32>::sqrt(PSVECSquareDistance(*this, to)); } + f32 squareDistance(const mVec3_c &to) const { + return VEC3DistSq(*this, to); + } f32 squareMagXZ() const { return x * x + z * z; } + void rotX(const mAng &angle); void rotY(const mAng &angle); + void rotZ(const mAng &angle); void CopyTo(nw4r::math::VEC3 *p) { p->x = x; |
