diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2026-10-03 09:51:10 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-03 09:51:10 -0400 |
| commit | 7c3e4e4a07aff38717d3c2b58c3836f1d62e43ed (patch) | |
| tree | cbe177a19cfd3328d4cb728c6647959159a605c3 /include | |
| parent | 98aba2c59b9bcd261d98cd8843bc40ae0b2d6877 (diff) | |
| parent | 364cd71a1e71184999d481ded529033c7c38a1ff (diff) | |
Merge pull request #348 from elijah-thomas774/ghirahum-stuff
Ghirahim stuff
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/a/b/d_a_b_girahimu2.h | 6 | ||||
| -rw-r--r-- | include/d/a/d_a_girahimu_sword_beam.h | 66 | ||||
| -rw-r--r-- | include/d/a/e/d_a_en_base.h | 3 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_base.h | 5 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_girahimu_floor.h | 65 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_girahimu_knife.h | 86 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_girahimu_sword_link.h | 56 | ||||
| -rw-r--r-- | include/d/col/c/c_cc_d.h | 12 | ||||
| -rw-r--r-- | include/d/d_player_act.h | 9 | ||||
| -rw-r--r-- | include/m/m_angle.h | 3 | ||||
| -rw-r--r-- | include/toBeSorted/d_enemy_sword_mdl.h | 8 |
11 files changed, 307 insertions, 12 deletions
diff --git a/include/d/a/b/d_a_b_girahimu2.h b/include/d/a/b/d_a_b_girahimu2.h index 67a39339..a825633c 100644 --- a/include/d/a/b/d_a_b_girahimu2.h +++ b/include/d/a/b/d_a_b_girahimu2.h @@ -9,8 +9,14 @@ public: dAcGirahimu2_c() : mStateMgr(*this) {} virtual ~dAcGirahimu2_c() {} + void setField_0xD52(u16 val) { + field_0xD52 = val; + } + private: /* 0x??? */ STATE_MGR_DECLARE(dAcGirahimu2_c); + + /* 0xD52 */ u16 field_0xD52; }; #endif diff --git a/include/d/a/d_a_girahimu_sword_beam.h b/include/d/a/d_a_girahimu_sword_beam.h index 7f81614c..f06b621d 100644 --- a/include/d/a/d_a_girahimu_sword_beam.h +++ b/include/d/a/d_a_girahimu_sword_beam.h @@ -1,19 +1,83 @@ #ifndef D_A_GIRAHIMU_SWORD_BEAM_H #define D_A_GIRAHIMU_SWORD_BEAM_H +#include "c/c_lib.h" #include "d/a/obj/d_a_obj_base.h" +#include "d/col/bg/d_bg_s_acch.h" +#include "d/col/cc/d_cc_d.h" +#include "d/d_cc.h" +#include "d/d_shadow.h" +#include "m/m_angle.h" #include "s/s_State.hpp" +#include "toBeSorted/d_emitter.h" class dAcGirahimuSwordBeam_c : public dAcObjBase_c { public: dAcGirahimuSwordBeam_c() : mStateMgr(*this) {} virtual ~dAcGirahimuSwordBeam_c() {} + virtual int create() override; + virtual int doDelete() override; + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorExecute() override; + STATE_FUNC_DECLARE(dAcGirahimuSwordBeam_c, BulletMove); STATE_FUNC_DECLARE(dAcGirahimuSwordBeam_c, Damage); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcGirahimuSwordBeam_c); + STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcGirahimuSwordBeam_c); + STATE_MGR_DEFINE_UTIL_ISSTATE(dAcGirahimuSwordBeam_c); + + void swordBeamReturn(s32); + void startMoveEmitters(); + void startDisappearEmitter(); + void transformMatrix(); + void fn_240_11F0(); + void fn_240_1380(); + void fn_240_16C0(); + void fn_240_1710(); + void fn_240_17C0(s32); + void fn_240_1810(u32, mAng3_c &, const mAng &); + + void setB00(s16 x, s16 y, s16 z) { + field_0xB00 = x; + field_0xB02 = y; + field_0xB04 = z; + } + + mAng getLinkedAngle() const { + return (cLib::targetAngleY(mPosition, field_0xAF4.get()->mPosition)); + } + private: - /* 0x??? */ STATE_MGR_DECLARE(dAcGirahimuSwordBeam_c); + /* 0x330 */ dShadowCircle_c mShadow; + /* 0x338 */ dBgS_AcchCir mAcchCir; + /* 0x394 */ dBgS_ObjAcch mAcch; + /* 0x744 */ dCcD_Linked<dCcD_Cps> mCps0; + /* 0x8C4 */ dCcD_Linked<dCcD_Cps> mCps1; + /* 0xA40 */ dColliderLinkedList mCollider; + /* 0xA50 */ STATE_MGR_DECLARE(dAcGirahimuSwordBeam_c); + /* 0xA8C */ dEmitter_c mEmitter0; + /* 0xAC0 */ dEmitter_c mEmitter1; + /* 0xAF4 */ dAcObjRef_c field_0xAF4; + /* 0xB00 */ s16 field_0xB00; + /* 0xB02 */ s16 field_0xB02; + /* 0xB04 */ s16 field_0xB04; + /* 0xB06 */ s16 field_0xB06; + /* 0xB08 */ s16 field_0xB08; + /* 0xB0A */ s16 field_0xB0A; + /* 0xB0C */ f32 field_0xB0C; + /* 0xB10 */ s32 field_0xB10; + /* 0xB14 */ mAng field_0xB14; + /* 0xB16 */ s16 field_0xB16; + /* 0xB18 */ u16 field_0xB18; + /* 0xB1C */ s32 field_0xB1C; + /* 0xB20 */ s32 field_0xB20; + /* 0xB24 */ u8 field_0xB24; + /* 0xB25 */ u8 field_0xB25; + /* 0xB26 */ u8 field_0xB26; + /* 0xB27 */ u8 field_0xB27; }; #endif diff --git a/include/d/a/e/d_a_en_base.h b/include/d/a/e/d_a_en_base.h index ac03f2b2..88f78f97 100644 --- a/include/d/a/e/d_a_en_base.h +++ b/include/d/a/e/d_a_en_base.h @@ -100,6 +100,9 @@ public: static dAcEnBase_c *GetNextEnemy(dAcEnBase_c *pParent) { return static_cast<dAcEnBase_c *>(getNextObject(&sEnemyList, pParent)); } + static dAcEnBase_c *FindEnemy(fProfile::PROFILE_NAME_e profile, dAcEnBase_c *pParent = nullptr) { + return static_cast<dAcEnBase_c *>(findObject(profile, &sEnemyList, pParent)); + } protected: // TODO: Make accessors for this list to auto-convert to dAcEnBase? diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h index a72d3ea6..393f38b0 100644 --- a/include/d/a/obj/d_a_obj_base.h +++ b/include/d/a/obj/d_a_obj_base.h @@ -203,16 +203,17 @@ public: const mVec3_c *scale, u32 params2, u32 roomId ); - static dAcObjBase_c *findObject(fProfile::PROFILE_NAME_e actorId, fLiNdBa_c *refList, dAcObjBase_c *parent); + static dAcObjBase_c *findObject(fProfile::PROFILE_NAME_e actorId, fLiMgBa_c *refList, dAcObjBase_c *parent); static dAcObjBase_c *getNextObject(fLiMgBa_c *ref, dAcObjBase_c *parent); bool isPlayer(); - void calcVelocity(mVec3_c &pos, f32 speed); + void calcVelocity(const mVec3_c &pos, f32 speed); void calcVelocity(); void updateMatrix(); void setDefaultCullDistance(); void fn_8002EA30(f32, f32, f32, f32, f32, void *); void fn_8002EA60(void *); void fn_8002EB30(void *); + void putInODesert(f32 depth, mVec3_c *position); void fn_8002ECD0(m3d::smdl_c *smdl, UNKWORD); // Disabling makes Items and Link Disappear diff --git a/include/d/a/obj/d_a_obj_girahimu_floor.h b/include/d/a/obj/d_a_obj_girahimu_floor.h index c1eee1c1..6d6def7b 100644 --- a/include/d/a/obj/d_a_obj_girahimu_floor.h +++ b/include/d/a/obj/d_a_obj_girahimu_floor.h @@ -1,22 +1,85 @@ #ifndef D_A_OBJ_GIRAHIMU_FLOOR_H #define D_A_OBJ_GIRAHIMU_FLOOR_H +#include "d/a/d_a_base.h" #include "d/a/obj/d_a_obj_base.h" +#include "d/col/bg/d_bg_w.h" +#include "m/m3d/m_anmmatclr.h" +#include "m/m3d/m_anmtexsrt.h" +#include "m/m3d/m_smdl.h" +#include "m/m_vec.h" +#include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" +class dAcGirahimu3First_c; class dAcOGirahimuFloor_c : public dAcObjBase_c { public: dAcOGirahimuFloor_c() : mStateMgr(*this) {} virtual ~dAcOGirahimuFloor_c() {} + enum Type_e { + TYPE_Normal, + TYPE_Generate, + TYPE_Max + }; + + virtual int doDelete() override; + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorCreate() override; + virtual int actorPostCreate() override; + virtual int actorExecute() override; + STATE_FUNC_DECLARE(dAcOGirahimuFloor_c, Wait); STATE_FUNC_DECLARE(dAcOGirahimuFloor_c, Return); STATE_FUNC_DECLARE(dAcOGirahimuFloor_c, Generate); STATE_FUNC_DECLARE(dAcOGirahimuFloor_c, Broken); STATE_FUNC_DECLARE(dAcOGirahimuFloor_c, Move); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcOGirahimuFloor_c); + STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcOGirahimuFloor_c); + STATE_MGR_DEFINE_UTIL_ISSTATE(dAcOGirahimuFloor_c); + STATE_MGR_DEFINE_UTIL_GETSTATEID(dAcOGirahimuFloor_c); + + // Used to request deletion upon both Player and Boss off the platform + bool isPlayerAndGhirahimOffFloor(); + + // If it is the generate type and there is no linked child + bool isGenerateNoChild(); + + // Checks if Link is in a final blow state and has connected + // with something other than the platform (like ghirahim) + bool isSuccessfulFinalBlow(); + + // Moves the position to the target destinaton + void movePosition(); + + // Breaks the platform, releases mBg and requests deletion + void doShatter(); + private: - /* 0x??? */ STATE_MGR_DECLARE(dAcOGirahimuFloor_c); + /* 0x330 */ nw4r::g3d::ResFile mRes; + /* 0x334 */ m3d::smdl_c mMdl; + /* 0x350 */ dBgW mBg[3]; + /* 0x980 */ STATE_MGR_DECLARE(dAcOGirahimuFloor_c); + /* 0x9BC */ m3d::anmTexSrt_c mAnmTexSrt; + /* 0x9E8 */ m3d::anmMatClr_c mAnmMatClr[3]; + /* 0xA6C */ dAcRef_c<dAcGirahimu3First_c> mGhirahimRef; + /* 0xA78 */ dAcRef_c<dAcOGirahimuFloor_c> mChild; + /* 0xA64 */ mVec3_c mHomePos; + /* 0xA90 */ mVec3_c mTargetPos; + /* 0xA9C */ mVec3_c mScaleBg0; + /* 0xAA8 */ mVec3_c mScaleBg1; + /* 0xAB4 */ f32 mMoveRate; + /* 0xAB4 */ f32 mGndHeight; + /* 0xABC */ u8 mType; + /* 0xABD */ u8 field_0xABD; + /* 0xABE */ u8 field_0xABE; + /* 0xAC0 */ s32 field_0xAC0; + /* 0xAC4 */ bool mbIsHome; + /* 0xAC5 */ bool mbMediumSize; + /* 0xAC6 */ bool mbRequestShatter; + /* 0xAC7 */ bool mbRequestMove; }; #endif diff --git a/include/d/a/obj/d_a_obj_girahimu_knife.h b/include/d/a/obj/d_a_obj_girahimu_knife.h index a94ed7e9..9d6ddf8a 100644 --- a/include/d/a/obj/d_a_obj_girahimu_knife.h +++ b/include/d/a/obj/d_a_obj_girahimu_knife.h @@ -2,13 +2,28 @@ #define D_A_OBJ_GIRAHIMU_KNIFE_H #include "d/a/e/d_a_en_base.h" +#include "d/col/c/c_cc_d.h" +#include "d/col/cc/d_cc_d.h" +#include "d/d_cc.h" +#include "d/d_shadow.h" +#include "m/m3d/m_smdl.h" +#include "m/m_angle.h" +#include "m/m_mtx.h" +#include "m/m_quat.h" +#include "m/m_vec.h" #include "s/s_State.hpp" +#include "toBeSorted/d_emitter.h" class dAcObjGirahimuKnife_c : public dAcEnBase_c { public: - dAcObjGirahimuKnife_c() : mStateMgr(*this) {} + dAcObjGirahimuKnife_c() : mGlowEmitter(this), mTrailEmitter(this), mStateMgr(*this) {} virtual ~dAcObjGirahimuKnife_c() {} + virtual int create() override; + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorExecute() override; + STATE_FUNC_DECLARE(dAcObjGirahimuKnife_c, Wait); STATE_FUNC_DECLARE(dAcObjGirahimuKnife_c, SpinWait); STATE_FUNC_DECLARE(dAcObjGirahimuKnife_c, SpinWaitPreAttack); @@ -20,8 +35,75 @@ public: STATE_FUNC_DECLARE(dAcObjGirahimuKnife_c, Hit); STATE_FUNC_DECLARE(dAcObjGirahimuKnife_c, CircleWait); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcObjGirahimuKnife_c); + STATE_MGR_DEFINE_UTIL_ISSTATE(dAcObjGirahimuKnife_c); + STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcObjGirahimuKnife_c); + STATE_MGR_DEFINE_UTIL_GETSTATEID(dAcObjGirahimuKnife_c); + + void init(); + + void fn_239_1C40(); + void fn_239_1DB0(const mVec3_c &base, const mVec3_c &target); + void fn_239_1F50(const mVec3_c &target, f32 add); + void fn_239_2110(const mVec3_c &target, f32 add, s16 ang); + void setTarget(const mVec3_c &t); + void fn_239_2360(bool, bool, f32 zVel); + void fn_239_2460(bool, bool, f32 velMult); + bool isWaiting(); + bool isCircleWait(); + bool lineCheck(); + void updateMdlMatrix(); + void startEmitters(); + void fn_239_2B10(); + bool checkCutDir(s32 cutDir); + void setWait(); + void setSpinWaitPreAttack(); + void getReflectForce(cCcD_Obj &cc, f32 forceMult, mVec3_c &outforce); + void adjustVelocity(const mVec3_c &force, f32 yVel, f32 forwardVel); + private: - /* 0x??? */ STATE_MGR_DECLARE(dAcObjGirahimuKnife_c); + /* 0x378 */ m3d::smdl_c mMdl; + /* 0x394 */ dShadowCircle_c mShadow; + /* 0x39C */ dEmitter_c mGlowEmitter; + /* 0x3D0 */ dEmitter_c mTrailEmitter; + /* 0x404 */ dCcD_Linked<dCcD_Sph> mSph0; + /* 0x564 */ dCcD_Linked<dCcD_Sph> mSph1; + /* 0x6C0 */ dColliderLinkedList mCollider; + /* 0x6D0 */ s16 field_0x6D0; + /* 0x6D2 */ u16 mGlowEmitterId; + /* 0x6D4 */ u16 mTrailEmitterId; + /* 0x6D6 */ u16 field_0x6D6; + /* 0x6D8 */ mVec3_c field_0x6D8; + /* 0x6E4 */ mVec3_c field_0x6E4; + /* 0x6F0 */ mAng3_c field_0x6F0; + /* 0x6F6 */ mAng3_c field_0x6F6; + /* 0x7FC */ u8 _0x6FC[0x704 - 0x6FC]; + /* 0x704 */ mQuat_c field_0x704; + /* 0x714 */ mMtx_c field_0x714; + /* 0x744 */ mVec3_c field_0x744; + /* 0x750 */ mVec3_c field_0x750; + /* 0x75C */ mVec3_c field_0x75C; + /* 0x768 */ mVec3_c field_0x768; + /* 0x774 */ f32 field_0x774; + /* 0x778 */ s16 field_0x778; + /* 0x77C */ f32 field_0x77C; + /* 0x780 */ mAng field_0x780; + /* 0x784 */ s32 field_0x784; + /* 0x788 */ s32 mState; + /* 0x78C */ bool field_0x78C; + /* 0x78D */ bool field_0x78D; + /* 0x78E */ bool field_0x78E; + /* 0x78F */ bool field_0x78F; + /* 0x790 */ bool field_0x790; + /* 0x791 */ bool field_0x791; + /* 0x792 */ bool field_0x792; + /* 0x793 */ bool field_0x793; + /* 0x794 */ STATE_MGR_DECLARE(dAcObjGirahimuKnife_c); + + static s32 sSomething0; + static s32 sSomething0_1; + static mAng sSomething1; + static s16 sSomething2; }; #endif diff --git a/include/d/a/obj/d_a_obj_girahimu_sword_link.h b/include/d/a/obj/d_a_obj_girahimu_sword_link.h index b510f157..7dc57214 100644 --- a/include/d/a/obj/d_a_obj_girahimu_sword_link.h +++ b/include/d/a/obj/d_a_obj_girahimu_sword_link.h @@ -2,13 +2,41 @@ #define D_A_OBJ_GIRAHIMU_SWORD_LINK_H #include "d/a/obj/d_a_obj_base.h" +#include "d/col/bg/d_bg_s_acch.h" +#include "d/d_shadow.h" +#include "m/m_angle.h" +#include "m/m_mtx.h" +#include "m/m_quat.h" +#include "m/m_vec.h" #include "s/s_State.hpp" +#include "toBeSorted/d_emitter.h" +#include "toBeSorted/d_enemy_sword_mdl.h" class dAcObjGirahimuSwordLink_c : public dAcObjBase_c { public: - dAcObjGirahimuSwordLink_c() : mStateMgr(*this) {} + dAcObjGirahimuSwordLink_c() : mEmitter(this), mStateMgr(*this) {} virtual ~dAcObjGirahimuSwordLink_c() {} + virtual int create() override; + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorExecute() override; + + void init(); + + void setEquip(); + void setGetSword(); + void setHide(); + void setThrow(const mVec3_c &force, mAng angle, f32 rate); + void setAtThrow(const mVec3_c &velocity); + void fn_238_19D0(); + void updateModelMatrix(); + void setTransform(const mMtx_c &mtx, const mVec3_c &pos); + bool isHide(); + bool isStick(); + void reflect(const mVec3_c &rot, f32 gravity, f32, f32 force); + bool lineCheck(); + STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Hide); STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Equip); STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, GetSword); @@ -17,8 +45,32 @@ public: STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Stick); STATE_FUNC_DECLARE(dAcObjGirahimuSwordLink_c, Reflect); + STATE_MGR_DEFINE_UTIL_CHANGESTATE(dAcObjGirahimuSwordLink_c); + STATE_MGR_DEFINE_UTIL_EXECUTESTATE(dAcObjGirahimuSwordLink_c); + STATE_MGR_DEFINE_UTIL_ISSTATE(dAcObjGirahimuSwordLink_c); + STATE_MGR_DEFINE_UTIL_GETSTATEID(dAcObjGirahimuSwordLink_c); + private: - /* 0x??? */ STATE_MGR_DECLARE(dAcObjGirahimuSwordLink_c); + /* 0x330 */ dEnemySwordMdl_c mMdl; + /* 0x86C */ dShadowCircle_c mShadow; + /* 0x874 */ dEmitter_c mEmitter; + + /* 0x8A8 */ s16 field_0x8A8; + /* 0x8AA */ s16 field_0x8AA; + /* 0x8AC */ u16 mTrailEmitterID; + /* 0x8B0 */ mMtx_c field_0x8B0; + /* 0x8E0 */ dBgS_AcchCir mAcchCir; + /* 0x93C */ dBgS_ObjAcch mAcch; + + /* 0xCEC */ mVec3_c mGhirahimPos; + /* 0xCF8 */ mAng3_c mAngleCopy; + /* 0xD00 */ mQuat_c field_0xD00; + /* 0xD10 */ mAng field_0xD10; + /* 0xD14 */ mVec3_c field_0xD14; + /* 0xD20 */ u8 field_0xD20[4]; + /* 0xD24 */ mAng field_0xD24; + /* 0xD26 */ bool field_0xD26; + /* 0xD28 */ STATE_MGR_DECLARE(dAcObjGirahimuSwordLink_c); }; #endif diff --git a/include/d/col/c/c_cc_d.h b/include/d/col/c/c_cc_d.h index 1050ce14..b6d899ed 100644 --- a/include/d/col/c/c_cc_d.h +++ b/include/d/col/c/c_cc_d.h @@ -574,6 +574,9 @@ public: void SetInfo_0x0(u8 val) { mSrc.mInfo.field_0x0 = val; } + void SetSrc_0xE(u8 val) { + mSrc.field_0xE = val; + } const cCcD_SrcGObjAt &GetSrc() const { return mSrc; @@ -883,6 +886,10 @@ public: void SetAtFlag(u32 flag) { mAt.SetSPrm(flag); } + + void SetAtFlag2(u32 flag) { + mAt.SetAtFlag(flag); + } void SetAtGrp(u32 grp) { mAt.SetAtFlag(GetAtGrp() | grp); } @@ -1039,13 +1046,16 @@ public: void SetAtInfo_0x0(u8 amount) { mAt.SetInfo_0x0(amount); } + void SetAt_0xE(u8 val) { + mAt.SetSrc_0xE(val); + } void SetAtDamage(u8 amount) { mAt.SetAtDamage(amount); } void SetAtModifier(u16 modifier) { mAt.SetSrcModifer(modifier); - } + } // Tg diff --git a/include/d/d_player_act.h b/include/d/d_player_act.h index 3506940c..4f614842 100644 --- a/include/d/d_player_act.h +++ b/include/d/d_player_act.h @@ -664,6 +664,12 @@ public: bool isAttackingSpin() const { return isAttackingSpinHorizontal() || isAttackingSpinVertical(); } + bool isAttackingHorizontal() const { + return isAttackingLeft() || isAttackingRight(); + } + bool isAttackingVertical() const { + return isAttackingUp() || isAttackingDown(); + } void setBonkRelatedAnimFlag(bool b); void setPosYRot(const mVec3_c &pos, mAng rot, bool force = false, UNKWORD = 0, UNKWORD = 0); void setTransform(const mMtx_c &mtx, bool force, UNKWORD, UNKWORD); @@ -678,7 +684,8 @@ public: static s32 getCurrentTunicType(); static s32 getCurrentSwordType(); - static const char *getSwordName(s32); + + static const char *getSwordName(s32 = sCurrentSword); static s32 getCurrentlyEquippedShieldType(); static const mColor &getEarringsColor(); diff --git a/include/m/m_angle.h b/include/m/m_angle.h index 7282ac39..d5e01d4d 100644 --- a/include/m/m_angle.h +++ b/include/m/m_angle.h @@ -112,6 +112,9 @@ public: f32 radian_c() const { return mVal * sAngToRad; } + f32 normal_c() const { + return mVal * sAngToNorm; + } public: static s16 d2s(f32 deg) { diff --git a/include/toBeSorted/d_enemy_sword_mdl.h b/include/toBeSorted/d_enemy_sword_mdl.h index 28fea0f0..b640de60 100644 --- a/include/toBeSorted/d_enemy_sword_mdl.h +++ b/include/toBeSorted/d_enemy_sword_mdl.h @@ -43,7 +43,7 @@ public: cCcD_Stts &stts, EGG::ResTIMG *pImg, int nView, u32 *pSize ); bool create( - mAllocator_c *alloc, nw4r::g3d::ResFile resFile, const char *mdlName, u32 bufferOption, const mVec3_c &v1, + mAllocator_c *alloc, nw4r::g3d::ResFile &resFile, const char *mdlName, u32 bufferOption, const mVec3_c &v1, const mVec3_c &v2, cCcD_Stts &stts, EGG::ResTIMG *pImg, int nView, u32 *pSize ); @@ -60,14 +60,18 @@ public: void setDamageMaybe(u8 damage); void fn_8006B7A0(u32); void fn_8006B800(u32); + void SetGrp(u32); void enable() { enableAttack(); mProc.setActive(true); } - void disable() { + void setInactive() { mIsActive = false; + } + void disable() { + setInactive(); mProc.setActive(false); } }; |
