summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCaroline Madsen <69010899+randomsalience@users.noreply.github.com>2024-06-02 18:24:43 -0400
committerGitHub <noreply@github.com>2024-06-02 16:24:43 -0600
commit59175a46fdaa673640a29203850ff4558379dab9 (patch)
tree29011b764baa4e6fd3d955cc5f6c9fbb412c5e8c /include
parentfcf137a90218064c0d4218abadf934538ed43671 (diff)
d_a_obj_dan OK (#2163)
Diffstat (limited to 'include')
-rw-r--r--include/d/bg/d_bg_s_acch.h1
-rw-r--r--include/d/d_insect.h2
-rw-r--r--include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h65
3 files changed, 58 insertions, 10 deletions
diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h
index c1df22e415..02b0555962 100644
--- a/include/d/bg/d_bg_s_acch.h
+++ b/include/d/bg/d_bg_s_acch.h
@@ -142,6 +142,7 @@ public:
void ClrGroundFind() { m_flags &= ~GROUND_FIND; }
u32 MaskRoofHit() { return m_flags & ROOF_HIT; }
bool ChkRoofHit() { return MaskRoofHit(); }
+ void OffClrSpeedY() { m_flags |= CLR_SPEED_Y; }
bool ChkClrSpeedY() { return !(m_flags & CLR_SPEED_Y); }
void SetGroundFind() { m_flags |= GROUND_FIND; }
void SetGroundHit() { m_flags |= GROUND_HIT; }
diff --git a/include/d/d_insect.h b/include/d/d_insect.h
index 4c42d342f0..57256b6e96 100644
--- a/include/d/d_insect.h
+++ b/include/d/d_insect.h
@@ -23,6 +23,8 @@ public:
/* 80110648 */ virtual void Insect_Release() { field_0x56C = 1; }
bool ChkGetDemo() { return m_mode > 0; }
+ void setItemNo(u8 i_itemNo) { m_itemNo = i_itemNo; }
+ void setSaveBitNo(s16 i_saveBitNo) { m_saveBitNo = i_saveBitNo; }
protected:
/* 0x56C */ u8 field_0x56C;
diff --git a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
index e9f35f2abe..1b62159569 100644
--- a/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
+++ b/include/rel/d/a/obj/d_a_obj_dan/d_a_obj_dan.h
@@ -1,7 +1,11 @@
#ifndef D_A_OBJ_DAN_H
#define D_A_OBJ_DAN_H
-#include "f_op/f_op_actor_mng.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "Z2AudioLib/Z2Creature.h"
+#include "d/bg/d_bg_s_acch.h"
+#include "d/cc/d_cc_d.h"
+#include "d/a/d_a_player.h"
#include "d/d_insect.h"
/**
@@ -12,11 +16,11 @@
* @details
*
*/
-class daObjDAN_c : public fopAc_ac_c {
+class daObjDAN_c : public dInsect_c {
public:
/* 80BDA5B4 */ void InitCcSph();
/* 80BDA620 */ void SetCcSph();
- /* 80BDA698 */ void CreateHeap();
+ /* 80BDA698 */ int CreateHeap();
/* 80BDAA3C */ void SpeedSet();
/* 80BDAA9C */ void LinkChk();
/* 80BDAB14 */ void MoveAction();
@@ -28,22 +32,63 @@ public:
/* 80BDB264 */ void ParticleSet();
/* 80BDB388 */ void ObjHit();
/* 80BDB4E0 */ void BoomChk();
- /* 80BDB62C */ void Execute();
- /* 80BDB928 */ void Delete();
+ /* 80BDB62C */ int Execute();
+ /* 80BDB928 */ int Delete();
/* 80BDB990 */ void setBaseMtx();
- /* 80BDBB0C */ void CreateChk();
- /* 80BDBCB8 */ void create();
+ /* inline */ inline int Draw();
+ /* 80BDBB0C */ bool CreateChk();
+ /* 80BDBCB8 */ cPhs__Step create();
private:
- /* 0x568 */ u8 field_0x568[0xa6c - 0x568];
+ /* 0x590 */ dCcD_Stts mCcStts;
+ /* 0x5CC */ dCcD_Sph mCcSph;
+ /* 0x704 */ daPy_boomerangMove_c mBoomerangMove;
+ /* 0x710 */ dBgS_GndChk mGndChk;
+ /* 0x764 */ f32 mGroundH;
+ /* 0x768 */ u8 mAction;
+ /* 0x769 */ u8 mMode;
+ /* 0x76A */ s16 mTimer[3];
+ /* 0x770 */ f32 mTargetSpeed;
+ /* 0x774 */ u8 field_0x774[4];
+ /* 0x778 */ s16 mTargetAngleY;
+ /* 0x77A */ u8 field_0x77a[0x10];
+ /* 0x78A */ s16 field_0x78a;
+ /* 0x78C */ u8 field_0x78c[4];
+ /* 0x790 */ mDoExt_brkAnm* mpBrkAnm;
+ /* 0x794 */ mDoExt_btkAnm* mpBtkAnm;
+ /* 0x798 */ f32 mScreenZ;
+ /* 0x79C */ u32 mBufferZ;
+ /* 0x7A0 */ f32 field_0x7a0;
+ /* 0x7A4 */ f32 mParticleScale;
+ /* 0x7A8 */ u8 mLocation;
+ /* 0x7A9 */ bool mBoomerangHit;
+ /* 0x7AC */ int mBounceCount;
+ /* 0x7B0 */ Z2Creature mCreatureSound;
+ /* 0x840 */ u8 field_0x840[4];
+ /* 0x844 */ mDoExt_McaMorfSO* mpMorf;
+ /* 0x848 */ dBgS_AcchCir mAcchCir;
+ /* 0x888 */ dBgS_ObjAcch mAcch;
+ /* 0xA60 */ request_of_phase_process_class mPhase;
+ /* 0xA68 */ bool mHIOInit;
+
+ enum Action {
+ /* 1 */ ACT_MOVE = 1,
+ /* 2 */ ACT_DAMAGE,
+ };
};
-STATIC_ASSERT(sizeof(daObjDAN_c) == 0xa6c);
+STATIC_ASSERT(sizeof(daObjDAN_c) == 0xa6c);
class daObj_DanHIO_c {
public:
/* 80BDA58C */ daObj_DanHIO_c();
- /* 80BDC2F0 */ ~daObj_DanHIO_c();
+ /* 80BDC2F0 */ virtual ~daObj_DanHIO_c() {}
+
+ /* 0x4 */ s8 field_0x4;
+ /* 0x8 */ f32 mScaleFemale;
+ /* 0xC */ f32 mScaleMale;
};
+STATIC_ASSERT(sizeof(daObj_DanHIO_c) == 0x10);
+
#endif /* D_A_OBJ_DAN_H */