d_a_obj_flying_clawshot_target OK (fixed) (#102)

* d_a_obj_flying_clawshot_target OK

* fix tubo symbol
This commit is contained in:
Elijah Thomas
2024-11-13 11:27:39 -05:00
committed by GitHub
parent 2ecf6509dd
commit fefe3af58f
10 changed files with 220 additions and 22 deletions
+8 -1
View File
@@ -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;
};
@@ -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
+2
View File
@@ -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
+5
View File
@@ -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;