diff options
| author | elijah-thomas774 <elijahthomas774@gmail.com> | 2026-10-08 15:32:34 -0400 |
|---|---|---|
| committer | elijah-thomas774 <elijahthomas774@gmail.com> | 2026-10-13 14:39:52 -0400 |
| commit | e2e5401ae6244393a1e2b7fe77d812adcdfbc98c (patch) | |
| tree | 1b4a9d3733c9f8fbbdb0cae89a5b329bcc1eeb2b /include | |
| parent | 1d8812dd20869e6904288644c4849b6e85e42a25 (diff) | |
d_a_b_ghirahimu2 - Setup
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/a/b/d_a_b_girahimu2.h | 78 | ||||
| -rw-r--r-- | include/d/a/b/d_a_b_girahimu_base.h | 3 | ||||
| -rw-r--r-- | include/d/a/npc/d_a_npc.h | 4 |
3 files changed, 76 insertions, 9 deletions
diff --git a/include/d/a/b/d_a_b_girahimu2.h b/include/d/a/b/d_a_b_girahimu2.h index a825633c..e698d798 100644 --- a/include/d/a/b/d_a_b_girahimu2.h +++ b/include/d/a/b/d_a_b_girahimu2.h @@ -1,22 +1,82 @@ #ifndef D_A_B_GIRAHIMU2_H #define D_A_B_GIRAHIMU2_H -#include "d/a/e/d_a_en_base.h" +#include "d/a/b/d_a_b_girahimu_base.h" +#include "d/a/d_a_base.h" #include "s/s_State.hpp" -class dAcGirahimu2_c : public dAcEnBase_c { +class dAcObjGirahimuKnife_c; + +class dAcGirahimu2_c : public dAcGirahimuBase_c { public: - dAcGirahimu2_c() : mStateMgr(*this) {} + dAcGirahimu2_c() : field_0x221E(false) {} virtual ~dAcGirahimu2_c() {} - void setField_0xD52(u16 val) { - field_0xD52 = val; - } + virtual int doDelete() override; + virtual bool createHeap() override; + virtual int actorCreate() override; + virtual int actorExecute() override; -private: - /* 0x??? */ STATE_MGR_DECLARE(dAcGirahimu2_c); + STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu2_c, dAcGirahimuBase_c, Walk); + STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu2_c, dAcGirahimuBase_c, Catch); + STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu2_c, dAcGirahimuBase_c, CatchDamage); + STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dAcGirahimu2_c, dAcGirahimuBase_c, Counter); + STATE_FUNC_DECLARE(dAcGirahimu2_c, G_SwordDamage); // Non virtual override?? (still virtual) + + STATE_FUNC_DECLARE(dAcGirahimu2_c, CreateSpinKnife); + STATE_FUNC_DECLARE(dAcGirahimu2_c, WaitKnifeAttack); + STATE_FUNC_DECLARE(dAcGirahimu2_c, KnifeAttack); + STATE_FUNC_DECLARE(dAcGirahimu2_c, KnifePreAttack); + STATE_FUNC_DECLARE(dAcGirahimu2_c, G_SwordDemo); + STATE_FUNC_DECLARE(dAcGirahimu2_c, G_SwordWait); + STATE_FUNC_DECLARE(dAcGirahimu2_c, G_SwordPiyori); + STATE_FUNC_DECLARE(dAcGirahimu2_c, Death); + STATE_FUNC_DECLARE(dAcGirahimu2_c, DeathMiniGame); + STATE_FUNC_DECLARE(dAcGirahimu2_c, UpWarp); + STATE_FUNC_DECLARE(dAcGirahimu2_c, UpAttack); + STATE_FUNC_DECLARE(dAcGirahimu2_c, CreateKnife); + STATE_FUNC_DECLARE(dAcGirahimu2_c, ComeOn); + STATE_FUNC_DECLARE(dAcGirahimu2_c, ComeOnGuard); + STATE_FUNC_DECLARE(dAcGirahimu2_c, GuardJustCounter); + STATE_FUNC_DECLARE(dAcGirahimu2_c, TwoSwordAttack); + STATE_FUNC_DECLARE(dAcGirahimu2_c, HitAction); - /* 0xD52 */ u16 field_0xD52; + virtual void vt_0x1DC() override; + virtual void vt_0x1F4() override; + virtual void vt_0x1F8() override; + virtual void vt_0x1FC() override; + virtual void vt_0x200() override; + virtual void vt_0x204() override; + virtual void vt_0x20C() override; + virtual bool vt_0x210() override; + virtual void vt_0x214() override; + virtual bool vt_0x218() override; + virtual void vt_0x220() override; + virtual void vt_0x224() override {} + virtual void vt_0x228() override; + virtual void vt_0x22C() override; + virtual void vt_0x230() override; + virtual void vt_0x234(); + + void fn_228_4550(int idxStart, int idxEnd); + void fn_228_47F0(bool); + void fn_228_4A30(); + void fn_228_4C20(); + bool fn_228_4CD0(s32 cutDir); + bool fn_228_5110(); + void fn_228_5400(); + void fn_228_5740(); + bool fn_228_5770(s32 cutDir); + bool fn_228_5E90(); + bool fn_228_5EC0(); + void fn_228_80A0(); + void fn_228_80E0(); + void fn_228_82C0(); + +private: + /* 0x220C */ + /* 0x221E */ bool field_0x221E; + /* 0x2210 */ dAcRef_c<dAcObjGirahimuKnife_c> mKnives[15]; }; #endif diff --git a/include/d/a/b/d_a_b_girahimu_base.h b/include/d/a/b/d_a_b_girahimu_base.h index 66bf87c6..cd2ab240 100644 --- a/include/d/a/b/d_a_b_girahimu_base.h +++ b/include/d/a/b/d_a_b_girahimu_base.h @@ -40,6 +40,9 @@ struct LinkSph { }; class dAcGirahimuBase_c : public dAcEnBase_c { public: + friend class dAcObjGirahimuSwordLink_c; + friend class dAcObjGirahimuKnife_c; + dAcGirahimuBase_c() : mStateMgr(*this), mFlowMgr(&mFlow) {} virtual ~dAcGirahimuBase_c(); diff --git a/include/d/a/npc/d_a_npc.h b/include/d/a/npc/d_a_npc.h index b080e716..8be382ee 100644 --- a/include/d/a/npc/d_a_npc.h +++ b/include/d/a/npc/d_a_npc.h @@ -33,6 +33,10 @@ public: void create(m3d::smdl_c &mdl, u16 eyeMatL, u16 eyeMatR, u8, u8, dAcObjBase_c *); + virtual void ExecCallback_CALC_MAT( + nw4r::g3d::ScnObj::Timing /* timing */, nw4r::g3d::ScnObj * /* pObj */, u32 /* param */, void * /* pInfo */ + ); // at 0x10 + /* 0x04 */ u8 mBlendWeight; /* 0x05 */ u8 mInterpTimer; /* 0x06 */ u8 nTexCoordMask[2]; |
