summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorElijah Thomas <42302100+elijah-thomas774@users.noreply.github.com>2024-11-13 11:27:39 -0500
committerGitHub <noreply@github.com>2024-11-13 11:27:39 -0500
commitfefe3af58f305a5543e2fe2c20f2415040dc4dd4 (patch)
tree3df46b4576eae8ba5095563bd2cf1ad883964bad /include
parent2ecf6509dd625096fe6c7841a36bb4c7ec954cb6 (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.h9
-rw-r--r--include/d/a/obj/d_a_obj_flying_clawshot_target.h17
-rw-r--r--include/m/m_quat.h2
-rw-r--r--include/m/m_vec.h5
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;