summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorhev7 <143887945+hev7@users.noreply.github.com>2025-11-19 20:53:12 +0000
committerGitHub <noreply@github.com>2025-11-19 12:53:12 -0800
commit4373bba251c50fa78a995fc5b8a66e3bdf184c69 (patch)
treea159cd283219eb565aee09b4f5085dcf6944167e /include
parent678c1a0e70b009dd2d1ac6a6c4a4e1cf18f8820b (diff)
d_a_npc_soldierB matching (#2828)
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_npc_soldierA.h6
-rw-r--r--include/d/actor/d_a_npc_soldierB.h103
2 files changed, 74 insertions, 35 deletions
diff --git a/include/d/actor/d_a_npc_soldierA.h b/include/d/actor/d_a_npc_soldierA.h
index 7771fdc12f..d129fe0000 100644
--- a/include/d/actor/d_a_npc_soldierA.h
+++ b/include/d/actor/d_a_npc_soldierA.h
@@ -10,7 +10,7 @@
*
* @details
*
-*/
+ */
struct daNpc_SoldierA_HIOParam {
/* 0x00 */ daNpcF_HIOParam common;
@@ -41,7 +41,7 @@ class daNpc_SoldierA_c : public daNpcF_c {
public:
typedef int (daNpc_SoldierA_c::*actionFunc)(void*);
typedef int (daNpc_SoldierA_c::*cutFunc)(int);
-
+
/* 80AEF58C */ daNpc_SoldierA_c();
/* 80AEF7A0 */ ~daNpc_SoldierA_c();
/* 80AEF9A0 */ cPhs__Step create();
@@ -77,6 +77,8 @@ public:
/* 80AF1B8C */ int ECut_listenLake(int);
/* 80AF1CA4 */ int test(void*);
+ u8 getType() { return mType; }
+
static char* mEvtCutNameList[3];
static cutFunc mEvtCutList[3];
diff --git a/include/d/actor/d_a_npc_soldierB.h b/include/d/actor/d_a_npc_soldierB.h
index 7e816e2208..ff6c69e252 100644
--- a/include/d/actor/d_a_npc_soldierB.h
+++ b/include/d/actor/d_a_npc_soldierB.h
@@ -3,6 +3,31 @@
#include "d/actor/d_a_npc.h"
+struct daNpc_SoldierB_HIOParam {
+ /* 0x00 */ daNpcF_HIOParam common;
+};
+
+class daNpc_SoldierB_Param_c {
+public:
+ /* 80AF267C */ virtual ~daNpc_SoldierB_Param_c() {}
+
+ static daNpc_SoldierB_HIOParam const m;
+};
+
+#if DEBUG
+class daNpc_SoldierB_HIO_c : public mDoHIO_entry_c {
+public:
+ daNpc_SoldierB_HIO_c();
+ void listenPropertyEvent(const JORPropertyEvent*);
+ void genMessage(JORMContext*);
+
+ daNpc_SoldierB_HIOParam m;
+};
+#define NPC_SOLDIERB_HIO_CLASS daNpc_SoldierB_HIO_c
+#else
+#define NPC_SOLDIERB_HIO_CLASS daNpc_SoldierB_Param_c
+#endif
+
/**
* @ingroup actors-npcs
* @class daNpc_SoldierB_c
@@ -11,57 +36,69 @@
* @details
*
*/
-class daNpc_SoldierB_c : public fopAc_ac_c {
+class daNpc_SoldierB_c : public daNpcF_c {
public:
+ typedef int (daNpc_SoldierB_c::*actionFunc)(void*);
+ typedef int (daNpc_SoldierB_c::*cutFunc)(int);
+
/* 80AF2CAC */ daNpc_SoldierB_c();
/* 80AF2EC0 */ ~daNpc_SoldierB_c();
- /* 80AF30C0 */ void create();
- /* 80AF33A0 */ void CreateHeap();
- /* 80AF356C */ void Delete();
- /* 80AF35A0 */ void Execute();
- /* 80AF35C0 */ void Draw();
- /* 80AF3634 */ void ctrlJoint(J3DJoint*, J3DModel*);
- /* 80AF3830 */ void createHeapCallBack(fopAc_ac_c*);
- /* 80AF3850 */ void ctrlJointCallBack(J3DJoint*, int);
+ /* 80AF30C0 */ cPhs__Step create();
+ /* 80AF33A0 */ int CreateHeap();
+ /* 80AF356C */ int Delete();
+ /* 80AF35A0 */ int Execute();
+ /* 80AF35C0 */ int Draw();
+ /* 80AF3634 */ int ctrlJoint(J3DJoint*, J3DModel*);
+ /* 80AF3830 */ static int createHeapCallBack(fopAc_ac_c*);
+ /* 80AF3850 */ static int ctrlJointCallBack(J3DJoint*, int);
/* 80AF389C */ void setParam();
- /* 80AF39B8 */ void main();
- /* 80AF3B30 */ bool ctrlBtk();
+ /* 80AF39B8 */ BOOL main();
+ /* 80AF3B30 */ BOOL ctrlBtk();
/* 80AF3B38 */ void setAttnPos();
- /* 80AF4030 */ bool setMotionAnm(int, f32);
+ /* 80AF4030 */ void setMotionAnm(int, f32);
/* 80AF4130 */ void setMotion(int, f32, int);
- /* 80AF4174 */ bool drawDbgInfo();
+ /* 80AF4174 */ int drawDbgInfo();
/* 80AF417C */ void drawOtherMdls();
- /* 80AF4228 */ void getTypeFromParam();
- /* 80AF4248 */ void isDelete();
+ /* 80AF4228 */ u8 getTypeFromParam();
+ /* 80AF4248 */ BOOL isDelete();
/* 80AF426C */ void reset();
/* 80AF43E4 */ void playMotion();
- /* 80AF4508 */ void chkAction(int (daNpc_SoldierB_c::*)(void*));
- /* 80AF4534 */ void setAction(int (daNpc_SoldierB_c::*)(void*));
- /* 80AF45DC */ void selectAction();
+ /* 80AF4508 */ BOOL chkAction(int (daNpc_SoldierB_c::*)(void*));
+ /* 80AF4534 */ BOOL setAction(int (daNpc_SoldierB_c::*)(void*));
+ /* 80AF45DC */ BOOL selectAction();
/* 80AF465C */ void doNormalAction(int);
- /* 80AF4770 */ void doEvent();
+ /* 80AF4770 */ BOOL doEvent();
/* 80AF49E4 */ void setLookMode(int);
/* 80AF4A08 */ void lookat();
- /* 80AF4CFC */ void wait(void*);
- /* 80AF4DBC */ void talk(void*);
- /* 80AF4F54 */ void ECut_listenLake(int);
- /* 80AF50AC */ void test(void*);
+ /* 80AF4CFC */ int wait(void*);
+ /* 80AF4DBC */ int talk(void*);
+ /* 80AF4F54 */ int ECut_listenLake(int);
+ /* 80AF50AC */ int test(void*);
static char* mEvtCutNameList[2];
- static u8 mEvtCutList[24];
+ static cutFunc mEvtCutList[2];
private:
- /* 0x568 */ u8 field_0x568[0xe20 - 0x568];
+ /* 0xB48 */ Z2Creature mSound;
+ /* 0xBD8 */ J3DModel* mSpearModel;
+ /* 0xBDC */ daNpcF_Lookat_c mLookat;
+ /* 0xC78 */ daNpcF_ActorMngr_c mActorMngrs[3];
+ /* 0xC90 */ NPC_SOLDIERB_HIO_CLASS* mHIO;
+ /* 0xC94 */ dCcD_Cyl mCyl;
+ /* 0xDD0 */ actionFunc mNextAction;
+ /* 0xDDC */ actionFunc mAction;
+ /* 0xDE8 */ request_of_phase_process_class mPhases[3];
+ /* 0xE00 */ int field_0xe00;
+ /* 0xE04 */ int field_0xe04;
+ /* 0xE08 */ int field_0xe08;
+ /* 0xE0C */ int field_0xe0c;
+ /* 0xE10 */ int mMsgNo;
+ /* 0xE14 */ s16 mLookMode;
+ /* 0xE16 */ u16 mMode;
+ /* 0xE18 */ u8 mType;
+ /* 0xE1C */ int mAnm;
};
STATIC_ASSERT(sizeof(daNpc_SoldierB_c) == 0xe20);
-class daNpc_SoldierB_Param_c {
-public:
- /* 80AF5A68 */ ~daNpc_SoldierB_Param_c();
-
- static u8 const m[108];
-};
-
-
#endif /* D_A_NPC_SOLDIERB_H */