summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2025-03-10 01:05:03 +0200
committerGitHub <noreply@github.com>2025-03-09 16:05:03 -0700
commit763400c4c0e2536bbfe2dd3032905dde8db031ca (patch)
tree66c2efbf5d524ec7361f34a6dc267668d2c7df95 /include/d
parent800049a811ee5ecacd480f25014aa8c160878429 (diff)
daObjNAN_c equivalent (#2320)
* daObjNAN_c equivalent * Remove padding
Diffstat (limited to 'include/d')
-rw-r--r--include/d/actor/d_a_obj_nan.h51
-rw-r--r--include/d/d_cc_uty.h5
-rw-r--r--include/d/d_insect.h1
3 files changed, 47 insertions, 10 deletions
diff --git a/include/d/actor/d_a_obj_nan.h b/include/d/actor/d_a_obj_nan.h
index 0095b95b28..aa7b2cb475 100644
--- a/include/d/actor/d_a_obj_nan.h
+++ b/include/d/actor/d_a_obj_nan.h
@@ -1,7 +1,12 @@
#ifndef D_A_OBJ_NAN_H
#define D_A_OBJ_NAN_H
+#include "SSystem/SComponent/c_phase.h"
#include "d/d_insect.h"
+#include "d/actor/d_a_player.h"
+#include "d/d_cc_d.h"
+
+class daPy_boomerangMove_c;
/**
* @ingroup actors-objects
@@ -13,10 +18,12 @@
*/
class daObjNAN_c : public dInsect_c {
public:
- /* 80CA05D4 */ void setAction(void (daObjNAN_c::*)());
+ typedef void (daObjNAN_c::*actionFunc)();
+
+ /* 80CA05D4 */ void setAction(actionFunc);
/* 80CA0978 */ void nan_posMove();
/* 80CA0A2C */ void turn();
- /* 80CA0D9C */ void nan_WalkAnm();
+ /* 80CA0D9C */ u8 nan_WalkAnm();
/* 80CA0E7C */ void wait();
/* 80CA1184 */ void walk();
/* 80CA1904 */ void bin_wait();
@@ -27,13 +34,39 @@ public:
/* 80CA2368 */ void drop();
/* 80CA2658 */ void hit_check();
/* 80CA270C */ void action();
- /* 80CA276C */ void execute();
- /* 80CA2904 */ void _delete();
+ /* 80CA276C */ int execute();
+ /* 80CA2904 */ int _delete();
/* 80CA296C */ void setBaseMtx();
- /* 80CA2B68 */ void create();
+ /* 80CA2B68 */ int create();
+
+ inline int CreateHeap();
+ inline int draw();
private:
- /* 0x590 */ u8 field_0x568[0x800 - 0x590];
+ /* 0x590 */ request_of_phase_process_class mPhase;
+ /* 0x598 */ Z2Creature mCreatureSound;
+ /* 0x628 */ mDoExt_McaMorfSO* mMorf;
+ /* 0x62C */ mDoExt_brkAnm* mBrk;
+ /* 0x630 */ mDoExt_btkAnm* mBtk;
+ /* 0x634 */ dCcD_Stts mStts;
+ /* 0x670 */ dCcD_Sph mSph;
+ /* 0x7A8 */ daPy_boomerangMove_c mBoomerangMove;
+ /* 0x7B4 */ int field_0x7b4;
+ /* 0x7B8 */ actionFunc mAction;
+ /* 0x7C4 */ actionFunc mPrevAction;
+ /* 0x7D0 */ int field_0x7d0;
+ /* 0x7D4 */ csXyz field_0x7d4;
+ /* 0x7DA */ csXyz field_0x7da;
+ /* 0x7E0 */ s16 field_0x7e0;
+ /* 0x7E2 */ s16 field_0x7e2;
+ /* 0x7E4 */ s16 field_0x7e4;
+ /* 0x7E8 */ f32 field_0x7e8;
+ /* 0x7E6 */ u8 field_0x7e6[0x7f8 - 0x7ec];
+ /* 0x7F8 */ u16 field_0x7f8;
+ /* 0x7FA */ u8 field_0x7fa;
+ /* 0x7FB */ u8 field_0x7fb;
+ /* 0x7FC */ u8 field_0x7fc;
+ /* 0x7FC */ u8 field_0x7fd;
};
STATIC_ASSERT(sizeof(daObjNAN_c) == 0x800);
@@ -41,7 +74,11 @@ STATIC_ASSERT(sizeof(daObjNAN_c) == 0x800);
class daObj_NanHIO_c {
public:
/* 80CA05AC */ daObj_NanHIO_c();
- /* 80CA30D0 */ ~daObj_NanHIO_c();
+ /* 80CA30D0 */ virtual ~daObj_NanHIO_c() {}
+
+ /* 0x04 */ s8 field_0x4;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xc;
};
diff --git a/include/d/d_cc_uty.h b/include/d/d_cc_uty.h
index 7975eca942..9e080aa47c 100644
--- a/include/d/d_cc_uty.h
+++ b/include/d/d_cc_uty.h
@@ -1,6 +1,7 @@
#ifndef D_CC_D_CC_UTY_H
#define D_CC_D_CC_UTY_H
+#include "SSystem/SComponent/c_sxyz.h"
#include "dolphin/types.h"
class cCcD_Obj;
@@ -20,9 +21,7 @@ struct dCcU_AtInfo {
/* 0x00 */ cCcD_Obj* mpCollider;
/* 0x04 */ fopAc_ac_c* mpActor;
/* 0x08 */ Z2Creature* mpSound;
- /* 0x0C */ u8 field_0xc[2];
- /* 0x0E */ s16 mHitDirection;
- /* 0x10 */ u8 field_0x10[4];
+ /* 0x0C */ csXyz mHitDirection;
/* 0x14 */ u32 mHitBit;
/* 0x18 */ u32 field_0x18;
/* 0x1C */ u16 mAttackPower;
diff --git a/include/d/d_insect.h b/include/d/d_insect.h
index 8d2b109cdb..be52453e8e 100644
--- a/include/d/d_insect.h
+++ b/include/d/d_insect.h
@@ -25,6 +25,7 @@ public:
bool ChkGetDemo() { return m_mode > 0; }
void setItemNo(u8 i_itemNo) { m_itemNo = i_itemNo; }
void setSaveBitNo(s16 i_saveBitNo) { m_saveBitNo = i_saveBitNo; }
+ bool CheckZ() { return (u32)field_0x57C > field_0x578; }
public:
/* 0x56C */ u8 field_0x56C;