diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-08-28 03:49:24 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-28 13:49:24 +0300 |
| commit | 5ce5bf20cc7107511468f68c7542eddf9c1a91dd (patch) | |
| tree | 829ec3a68df9bca10f06b3e9b4da9a1789766323 /include | |
| parent | 956e84b0e7090fde541f25319d0255c45b657b39 (diff) | |
npc_kn mostly done (#2609)
* npc_kn mostly done
* fix shieldD
* pr fixes
* weak func fixes
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_npc_gwolf.h | 45 | ||||
| -rw-r--r-- | include/d/actor/d_a_npc_kn.h | 248 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_knBullet.h | 1 | ||||
| -rw-r--r-- | include/d/actor/d_a_player.h | 6 | ||||
| -rw-r--r-- | include/d/d_meter2_info.h | 1 |
5 files changed, 171 insertions, 130 deletions
diff --git a/include/d/actor/d_a_npc_gwolf.h b/include/d/actor/d_a_npc_gwolf.h index 923af28f79..1f2932ea13 100644 --- a/include/d/actor/d_a_npc_gwolf.h +++ b/include/d/actor/d_a_npc_gwolf.h @@ -11,7 +11,7 @@ * @details * */ -class daNpc_GWolf_c : public fopAc_ac_c { +class daNpc_GWolf_c : public daNpcF_c { public: /* 809F30AC */ daNpc_GWolf_c(); /* 809F34C0 */ void create(); @@ -47,18 +47,18 @@ public: /* 809F797C */ void test(void*); /* 809F7A30 */ void getGroundSlope(dBgS_ObjAcch&, s16); - /* 809F32C0 */ ~daNpc_GWolf_c(); - /* 809F4258 */ void setParam(); - /* 809F4390 */ BOOL main(); - /* 809F4558 */ BOOL ctrlBtk(); - /* 809F4638 */ void adjustShapeAngle(); - /* 809F4698 */ void setAttnPos(); - /* 809F4BB0 */ bool setExpressionAnm(int, bool); - /* 809F4BB8 */ void setExpression(int, f32); - /* 809F4BBC */ bool setMotionAnm(int, f32); - /* 809F4DE8 */ void setMotion(int, f32, int); - /* 809F4E2C */ BOOL drawDbgInfo(); - /* 809F4E34 */ void drawOtherMdls(); + /* 809F32C0 */ virtual ~daNpc_GWolf_c(); + /* 809F4258 */ virtual void setParam(); + /* 809F4390 */ virtual BOOL main(); + /* 809F4558 */ virtual BOOL ctrlBtk(); + /* 809F4638 */ virtual void adjustShapeAngle(); + /* 809F4698 */ virtual void setAttnPos(); + /* 809F4BB0 */ virtual bool setExpressionAnm(int, bool); + /* 809F4BB8 */ virtual void setExpression(int, f32); + /* 809F4BBC */ virtual void setMotionAnm(int, f32); + /* 809F4DE8 */ virtual void setMotion(int, f32, int); + /* 809F4E2C */ virtual BOOL drawDbgInfo(); + /* 809F4E34 */ virtual void drawOtherMdls(); void setHowlingEndFlag() { field_0xe1c = 2; } void setHowlingFlag() { field_0xe1c = 1; } @@ -67,14 +67,17 @@ public: static u8 mEvtCutList[60]; private: - // /* 0xB48 */ Z2Creature mCreature; - // /* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm; - // /* 0xBDC */ daNpcF_Lookat_c mLookAt; - // /* 0xC78 */ daNpcF_ActorMngr_c mActorMng[2]; - // /* 0xC88 */ u8 field_0xc88[4]; - // /* 0xC8C */ dCcD_Cyl mCyl; - // /* 0xDC8 */ u8 field_0xdc8[0xE1C - 0xdc8]; - /* 0x568 */ u8 field_0xb48[0xE1C - 0x568]; + /* 0xB48 */ Z2Creature mSound; + /* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm; + /* 0xBDC */ daNpcF_Lookat_c mLookAt; + /* 0xC78 */ daNpcF_ActorMngr_c mActorMng[2]; + /* 0xC88 */ u8 field_0xC88[0xC8C - 0xC88]; + /* 0xC8C */ dCcD_Cyl mCcCyl; + /* 0xDC8 */ u8 field_0xDC8[0xE08 - 0xDC8]; + /* 0xE08 */ int field_0xe08; + /* 0xE0C */ u8 field_0xE0C[0xE14 - 0xE0C]; + /* 0xE14 */ u32 field_0xe14; + /* 0xE18 */ u8 field_0xe18[0xE1C - 0xE18]; /* 0xE1C */ u8 field_0xe1c; }; diff --git a/include/d/actor/d_a_npc_kn.h b/include/d/actor/d_a_npc_kn.h index 5515aa6473..1080815256 100644 --- a/include/d/actor/d_a_npc_kn.h +++ b/include/d/actor/d_a_npc_kn.h @@ -16,6 +16,24 @@ public: typedef int (daNpc_Kn_c::*cutFunc)(int); typedef int (daNpc_Kn_c::*actionFunc)(void*); + enum AnmFlags { + ANM_PAUSE_MORF = 0x1, + ANM_PAUSE_BTK = 0x2, + ANM_PAUSE_BRK = 0x4, + ANM_PAUSE_BPK = 0x8, + ANM_PAUSE_BCK = 0x10, + ANM_PAUSE_BTP = 0x20, + ANM_PLAY_MORF = 0x40, + ANM_PLAY_BTK = 0x80, + ANM_PLAY_BRK = 0x100, + ANM_PLAY_BPK = 0x200, + ANM_PLAY_BCK = 0x400, + ANM_PLAY_BTP = 0x800, + ANM_FLAG_1000 = 0x1000, + ANM_PAUSE_TIMER_BTP = 0x2000, + ANM_FLAG_4000 = 0x4000, + }; + class daNpc_Kn_prtclMngr_c { public: /* 80A2AF98 */ ~daNpc_Kn_prtclMngr_c() {}; @@ -32,9 +50,9 @@ public: /* 0x05AC */ const daNpcT_faceMotionAnmData_c* mpFaceMotionAnmData; /* 0x05B0 */ const daNpcT_motionAnmData_c* mpMotionAnmData; /* 0x05B4 */ const daNpcT_evtData_c* mpEventData; - /* 0x05B8 */ char** field_0x5B8; - /* 0x05BC */ mDoExt_McaMorfSO* mpMorf[2]; - /* 0x05C4 */ Z2Creature mCreature; + /* 0x05B8 */ char** mpArcNames; + /* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf[2]; + /* 0x05C4 */ Z2Creature mSound; /* 0x0654 */ mDoExt_bckAnm mBckAnm; /* 0x0670 */ mDoExt_btpAnm mBtpAnm; /* 0x0688 */ mDoExt_btkAnm mBtkAnm; @@ -48,70 +66,74 @@ public: /* 0x09A0 */ daNpcT_MatAnm_c* mpMatAnm; /* 0x09A4 */ u8 field_0x9a4[4]; /* 0x09A8 */ dMsgFlow_c mFlow; - /* 0x09F4 */ u8 field_0x9F4[0xa74 - 0x9f4]; + /* 0x09F4 */ dPaPoT_c field_0x9F4; /* 0x0A74 */ dCcD_Stts mCcStts2; /* 0x0AB0 */ u32 mFlowNodeNo; - /* 0x0AB4 */ f32 field_0xab4; - /* 0x0AB8 */ f32 field_0xab8; - /* 0x0ABC */ u8 field_0xABC; - /* 0x0ABD */ u8 field_0xABD; - /* 0x0ABE */ u8 field_0xABE[0xAC0 - 0xABE]; + /* 0x0AB4 */ f32 mExpressionMorfFrame; + /* 0x0AB8 */ f32 mMorfFrames; + /* 0x0ABC */ u8 mCreating; + /* 0x0ABD */ u8 mTwilight; /* 0x0AC0 */ dBgS_GndChk mGndChk2; /* 0x0B14 */ dBgS_LinChk mLinChk; - /* 0x0B84 */ daNpcT_MotionSeqMngr_c mMotionSeqMngr1; - /* 0x0BA8 */ daNpcT_MotionSeqMngr_c mMotionSeqMngr2; + /* 0x0B84 */ daNpcT_MotionSeqMngr_c mFaceMotionSeqMngr; + /* 0x0BA8 */ daNpcT_MotionSeqMngr_c mMotionSeqMngr; /* 0x0BCC */ daNpcT_ActorMngr_c mActorMngr1; /* 0x0BD4 */ daNpcT_ActorMngr_c mActorMngr2; /* 0x0BDC */ daNpcT_JntAnm_c mJntAnm; /* 0x0D3C */ daNpcT_DmgStagger_c mDmgStagger; - /* 0x0D58 */ cXyz field_0xd58; - /* 0x0D64 */ cXyz field_0xD64; - /* 0x0D70 */ cXyz field_0xD70; - /* 0x0D7C */ cXyz field_0xD7C; - /* 0x0D88 */ cXyz field_0xD88; - /* 0x0D94 */ cXyz field_0xD94; + /* 0x0D58 */ cXyz mFootLPos; + /* 0x0D64 */ cXyz mFootRPos; + /* 0x0D70 */ cXyz mFootLOffset; + /* 0x0D7C */ cXyz mFootROffset; + /* 0x0D88 */ cXyz mOldFootLOffset; + /* 0x0D94 */ cXyz mOldFootROffset; /* 0x0DA0 */ cXyz field_0xDA0; - /* 0x0DAC */ csXyz mTargetAngle; + /* 0x0DAC */ csXyz mCurAngle; /* 0x0DB2 */ csXyz field_0xDB2; /* 0x0DB8 */ csXyz field_0xDB8; /* 0x0DBE */ csXyz field_0xDBE; - /* 0x0DC4 */ s32 field_0xdc4; + /* 0x0DC4 */ fpc_ProcID mItemPartnerId; /* 0x0DC8 */ u32 mShadowKey; - /* 0x0DCC */ u32 field_0xdcc; - /* 0x0DD0 */ u32 field_0xdd0; - /* 0x0DD4 */ s32 mStaffId; + /* 0x0DCC */ u32 mAnmFlags; + /* 0x0DD0 */ fpc_ProcID mMsgId; + /* 0x0DD4 */ int mStaffId; /* 0x0DD8 */ int mCutType; /* 0x0DDC */ int field_0xddc; - /* 0x0DE0 */ int field_0xde0; + /* 0x0DE0 */ int mTimerStart; /* 0x0DE4 */ int mTimer; - /* 0x0DE8 */ int field_0xde8; + /* 0x0DE8 */ int mBtpPauseTimer; /* 0x0DEC */ int field_0xdec; - /* 0x0DF0 */ s16 field_0xdf0; - /* 0x0DF2 */ u8 field_0xdf2[0x0DFA - 0x0DF2]; - /* 0x0DFA */ s16 field_0xdfa; - /* 0x0DFC */ u8 field_0xdfc[0x0DFE - 0x0DFC]; - /* 0x0DFE */ s16 field_0xdfe; - /* 0x0E00 */ s16 field_0xe00; - /* 0x0E04 */ f32 field_0xe04; + /* 0x0DF0 */ s16 mGroundAngle; + /* 0x0DF2 */ s16 field_0xdf2; + /* 0x0DF4 */ s16 mFootLPolyAngle; + /* 0x0DF5 */ u8 field_0xdf5[0x0DF8 - 0x0DF6]; + /* 0x0DF8 */ s16 mFootRPolyAngle; + /* 0x0DFA */ s16 mStartAngle; + /* 0x0DFC */ s16 mTargetAngle; + /* 0x0DFE */ s16 mStepMode; + /* 0x0E00 */ s16 mTurnAmount; + /* 0x0E04 */ f32 mTurnCount; /* 0x0E08 */ u8 field_0xe08[0x0E0C - 0x0E08]; /* 0x0E0C */ f32 field_0xe0c; /* 0x0E10 */ f32 mRadius; /* 0x0E14 */ f32 mGroundHeight; - /* 0x0E18 */ u8 field_0xe18[0xe24 - 0xe18]; - /* 0x0E24 */ s16 field_0xe24; - /* 0x0E26 */ u16 field_0xe26; - /* 0x0E28 */ u16 field_0xe28; - /* 0x0E2A */ u16 field_0xe2a; + /* 0x0E18 */ u8 field_0xe18[0xe1c - 0xe18]; + /* 0x0E1C */ u32 mHitodamaPrtclKey[2]; + /* 0x0E24 */ s16 mEvtId; + /* 0x0E26 */ u16 mMorfLoops; + /* 0x0E28 */ u16 mBckLoops; + /* 0x0E2A */ u16 mMode; /* 0x0E2C */ u8 field_0xe2c; /* 0x0E2D */ u8 field_0xe2d; - /* 0x0E2E */ u8 field_0xe2e[0xe30 - 0xe2e]; + /* 0x0E2E */ u8 mFootLOnGround; + /* 0x0E2F */ u8 mFootROnGround; /* 0x0E30 */ u8 field_0xe30; /* 0x0E31 */ u8 field_0xe31; - /* 0x0E32 */ u8 field_0xe32; + /* 0x0E32 */ u8 mNoDraw; /* 0x0E33 */ u8 field_0xe33; - /* 0x0E33 */ u8 field_0xe34[0xe36 - 0xe34]; - /* 0x0E36 */ u16 mEvtIdx; - /* 0x0E38 */ u8 field_0xe38; + /* 0x0E34 */ u8 field_0xe34; + /* 0x0E36 */ u16 mEvtNo; + /* 0x0E38 */ u8 mSpeakEvent; /* 0x0E39 */ u8 field_0xe39; /* 0x0E3A */ u8 field_0xe3a; /* 0x0E3B */ u8 field_0xe3b; @@ -120,27 +142,21 @@ public: public: void initialize() { - memset(&field_0xd58, 0, (int)&field_0xe3c - (int)&field_0xd58); + memset(&mFootLPos, 0, (int)&field_0xe3c - (int)&mFootLPos); - mMotionSeqMngr1.initialize(); - mMotionSeqMngr2.initialize(); + mFaceMotionSeqMngr.initialize(); + mMotionSeqMngr.initialize(); mActorMngr1.initialize(); mActorMngr2.initialize(); mJntAnm.initialize(); mDmgStagger.initialize(); - field_0xdc4 = -1; + mItemPartnerId = -1; field_0xe2d = 1; - field_0x15a4 = 0; + mPodAnmFlags = 0; } bool checkHide() { - bool ret = false; - - if (field_0xe2c != 0 || (!dComIfGs_wolfeye_effect_check() && field_0xABD != 0)) { - ret = true; - } - - return ret; + return field_0xe2c != 0 || (!dComIfGs_wolfeye_effect_check() && mTwilight != 0); } int getHeadJointNo() { @@ -155,16 +171,21 @@ public: return 1; } + bool checkChangeJoint(int i_jointNo) { return i_jointNo == 4; } + bool checkRemoveJoint(int i_jointNo) { return i_jointNo == 5; } + void setCutType(int i_type) { mCutType = i_type;} void setActionMode(s8 i_actionMode) { mActionMode = i_actionMode;} s8 getActionMode() { return mActionMode; } + + void setTalkFlag(u8 i_flag) { field_0x15bd = i_flag; } - /* 80A2AFD4 */ s32 create(); - /* 80A2B278 */ s32 CreateHeap(); - /* 80A2B620 */ s32 Delete(); - /* 80A2B654 */ s32 Execute(); - /* 80A2B6B0 */ void Draw(); + /* 80A2AFD4 */ int create(); + /* 80A2B278 */ int CreateHeap(); + /* 80A2B620 */ int Delete(); + /* 80A2B654 */ int Execute(); + /* 80A2B6B0 */ int Draw(); /* 80A2B764 */ static int createHeapCallBack(fopAc_ac_c*); /* 80A2B784 */ static int ctrlJointCallBack(J3DJoint*, int); /* 80A2B7DC */ u8 getType(); @@ -184,7 +205,7 @@ public: /* 80A2C1D0 */ void setAfterTalkMotion(); /* 80A2C230 */ void srchActors(); /* 80A2C234 */ bool evtTalk(); - /* 80A2C318 */ bool evtCutProc(); + /* 80A2C318 */ BOOL evtCutProc(); /* 80A2C3FC */ void action(); /* 80A2C484 */ void beforeMove(); /* 80A2C4FC */ void afterMoved(); @@ -253,18 +274,18 @@ public: /* 80A37D20 */ void calcSwordAttackMove(int); /* 80A3805C */ void setSe(); /* 80A38520 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*); - /* 80A38550 */ void getTrnsfrmAnmP(char const*, int); - /* 80A3858C */ void* getTrnsfrmKeyAnmP(char const*, int); - /* 80A385C8 */ void getTexPtrnAnmP(char const*, int); - /* 80A38604 */ void getTexSRTKeyAnmP(char const*, int); - /* 80A38640 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); + /* 80A38550 */ J3DAnmTransform* getTrnsfrmAnmP(char const*, int); + /* 80A3858C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char const*, int); + /* 80A385C8 */ J3DAnmTexPattern* getTexPtrnAnmP(char const*, int); + /* 80A38604 */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char const*, int); + /* 80A38640 */ BOOL setBckAnm(J3DAnmTransform*, f32, int, int, int, bool); /* 80A38684 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int); - /* 80A3877C */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); - /* 80A387BC */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); - /* 80A387FC */ cPhs__Step loadRes(s8 const*, char const**); + /* 80A3877C */ BOOL setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int); + /* 80A387BC */ BOOL setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int); + /* 80A387FC */ int loadRes(s8 const*, char const**); /* 80A388B0 */ void deleteRes(s8 const*, char const**); - /* 80A38930 */ s32 execute(); - /* 80A38BB8 */ int draw(int, int, f32, _GXColorS10*, f32, int, int, int); + /* 80A38930 */ int execute(); + /* 80A38BB8 */ int draw(int, int, f32, GXColorS10*, f32, int, int, int); /* 80A38FAC */ void setEnvTevColor(); /* 80A39008 */ void setRoomNo(); /* 80A3904C */ BOOL checkEndAnm(f32); @@ -279,21 +300,28 @@ public: /* 80A3A7C0 */ bool setMotionAnm(int, f32, int); /* 80A3AA58 */ void setPos(cXyz); /* 80A3AAF0 */ void setAngle(s16); - /* 80A3AB18 */ int chkActorInSight(fopAc_ac_c*, f32, s16); - /* 80A3AC24 */ int chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); - /* 80A3ACD4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16); + /* 80A3AB18 */ BOOL chkActorInSight(fopAc_ac_c*, f32, s16); + /* 80A3AC24 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16); + /* 80A3ACD4 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16); /* 80A3AD50 */ int chkFindPlayer(int, s16); /* 80A3AF64 */ BOOL srchPlayerActor(); /* 80A3B000 */ cXyz getAttnPos(fopAc_ac_c*); /* 80A3B074 */ BOOL turn(s16, int, int); - /* 80A3B220 */ s32 step(s16, int, int, int, int); - /* 80A3B3E8 */ s32 initTalk(int, fopAc_ac_c**); + /* 80A3B220 */ int step(s16, int, int, int, int); + /* 80A3B3E8 */ int initTalk(int, fopAc_ac_c**); /* 80A3B448 */ BOOL talkProc(int*, int, fopAc_ac_c**, int); /* 80A3B5EC */ void setHitodamaPrtcl(); - /* 80A3B82C */ daNpc_Kn_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int, - daNpcT_evtData_c const*, char**); + /* 80A3B82C */ daNpc_Kn_c(daNpcT_faceMotionAnmData_c const* param_0, + daNpcT_motionAnmData_c const* param_1, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_2, int param_3, + daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_4, int param_5, + daNpcT_evtData_c const* param_6, char** param_7) + : mpFaceMotionAnmData(param_0), mpMotionAnmData(param_1), mFaceMotionSeqMngr(param_2, param_3), + mMotionSeqMngr(param_4, param_5), mpEventData(param_6), mpArcNames(param_7) + { + OS_REPORT("|%06d:%x|daNpc_Kn_c -> コンストラクト\n", g_Counter.mCounter0, this); + initialize(); + } /* 80A3C998 */ u32 setParamTeach01(); /* 80A3CB14 */ void setCollisionTeach01(); /* 80A3CBFC */ void teach01_selectAction(); @@ -314,32 +342,33 @@ public: /* 80A3F99C */ int ECut_secondSkillExplain(int); /* 80A3FFB4 */ int ECut_reflectExplain(int); /* 80A403B8 */ int ECut_secondSkillGet(int); + /* 80A3949C */ virtual int ctrlBtk(); - /* 80A3B7B4 */ virtual s32 getFootLJointNo(); - /* 80A3B7AC */ virtual s32 getFootRJointNo(); - /* 80A3BD1C */ virtual u16 getEyeballLMaterialNo(); - /* 80A3BD24 */ virtual u16 getEyeballRMaterialNo(); - /* 80A3BD14 */ virtual u16 getEyeballMaterialNo(); + /* 80A3B7B4 */ virtual int getFootLJointNo() { return -1; } + /* 80A3B7AC */ virtual int getFootRJointNo() { return -1; } + /* 80A3BD1C */ virtual u16 getEyeballLMaterialNo() { return 0; } + /* 80A3BD24 */ virtual u16 getEyeballRMaterialNo() { return 0; } + /* 80A3BD14 */ virtual u16 getEyeballMaterialNo() { return 0; } /* 80A3989C */ virtual int ctrlJoint(J3DJoint*, J3DModel*); - /* 80A3B720 */ virtual void afterJntAnm(int); - /* 80A3B7A4 */ virtual BOOL checkChangeEvt(); + /* 80A3B720 */ virtual void afterJntAnm(int) {} + /* 80A3B7A4 */ virtual BOOL checkChangeEvt() { return FALSE; } + /* 80A3B79C */ virtual BOOL evtEndProc() { return TRUE; } /* 80A39BBC */ virtual int evtProc(); - /* 80A3B79C */ virtual BOOL evtEndProc(); /* 80A39DBC */ virtual void setFootPos(); /* 80A39F84 */ virtual void setFootPrtcl(cXyz*, f32); /* 80A3A254 */ virtual bool checkCullDraw(); /* 80A3A25C */ virtual void twilight(); - /* 80A3B7BC */ virtual BOOL chkXYItems(); + /* 80A3B7BC */ virtual BOOL chkXYItems() { return FALSE; } /* 80A3A2A8 */ virtual void evtOrder(); /* 80A3B708 */ virtual void decTmr(); /* 80A3A504 */ virtual void clrParam(); - /* 80A3B7C4 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int); + /* 80A3B7C4 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int) { return true; } /* 80A3B7CC */ virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c); /* 80A3B7FC */ virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c); /* 80A2AA0C */ virtual ~daNpc_Kn_c(); /* 80A2D060 */ virtual bool afterSetMotionAnm(int, int, f32, int); - static u8 const mCcDObjData[48]; + static const dCcD_SrcGObjInf mCcDObjData; static dCcD_SrcCyl mCcDCyl; static dCcD_SrcSph mCcDSph; static char* mCutNameList[21]; @@ -349,14 +378,14 @@ public: static u8 mFindCount[4]; private: - /* 0x0E44 */ J3DModel* mpModel; + /* 0x0E44 */ J3DModel* mpPodModel; /* 0x0E48 */ mDoExt_invisibleModel mInvisModel; /* 0x0E50 */ dKy_tevstr_c mTevStr; /* 0x11D8 */ u8 field_0x11D8[0x11DC - 0x11D8]; /* 0x11DC */ dCcD_Cyl mCylCc; /* 0x1318 */ dCcD_Sph mSphCc[2]; - /* 0x1588 */ mDoExt_bckAnm field_0x1588; - /* 0x15A4 */ u32 field_0x15a4; + /* 0x1588 */ mDoExt_bckAnm mPodBck; + /* 0x15A4 */ u32 mPodAnmFlags; /* 0x15A8 */ u32 field_0x15A8; /* 0x15AC */ u8 mType; /* 0x15AD */ u8 mDivideNo; @@ -371,16 +400,17 @@ private: /* 0x15CD */ u8 field_0x15cd; /* 0x15CE */ u8 field_0x15ce; /* 0x15CF */ u8 field_0x15cf; - /* 0x15D0 */ u16 field_0x15d0; - /* 0x15D4 */ s32 field_0x15d4[3]; + /* 0x15D0 */ s16 field_0x15d0; + /* 0x15D4 */ int field_0x15d4[3]; /* 0x15E0 */ daNpc_Kn_prtclMngr_c mParticleMngr[3]; /* 0x16F4 */ cXyz field_0x16f4; - /* 0x1700 */ u8 field_0x1700[0x170c - 0x1700]; + /* 0x1700 */ cXyz field_0x1700; /* 0x170C */ u8 field_0x170c; /* 0x170D */ u8 field_0x170d; /* 0x170E */ u8 field_0x170e; /* 0x170F */ u8 field_0x170f; - /* 0x1710 */ u8 field_0x1710[4]; + /* 0x1710 */ s16 field_0x1710; + /* 0x1712 */ s16 field_0x1712; /* 0x1714 */ actionFunc mpTeachAction; /* 0x1720 */ actionFunc mpActionFunc; /* 0x172C */ daNpcT_Path_c mPath; @@ -391,19 +421,19 @@ STATIC_ASSERT(sizeof(daNpc_Kn_c) == 0x1758); struct daNpc_Kn_HIOParam { /* 0x00 */ daNpcT_HIOParam common; - /* 0x8C */ s16 field_0x8c; - /* 0x8E */ s16 field_0x8e; - /* 0x90 */ s16 field_0x90; - /* 0x92 */ s16 field_0x92; - /* 0x94 */ f32 field_0x94; - /* 0x98 */ f32 field_0x98; - /* 0x9C */ f32 field_0x9c; - /* 0xA0 */ f32 field_0xa0; - /* 0xA4 */ f32 field_0xa4; - /* 0xA8 */ u32 field_0xa8; - /* 0xAC */ s16 field_0xac; - /* 0xAE */ s16 field_0xae; - /* 0xB0 */ f32 field_0xb0; + /* 0x8C */ s16 alpha; + /* 0x8E */ s16 attack_wait_time; + /* 0x90 */ s16 followup_wait_time; // ? + /* 0x94 */ f32 small_slide_distance; + /* 0x98 */ f32 big_slide_distance; + /* 0x9C */ f32 warp_distance; + /* 0xA0 */ f32 attack_disappear_speed_h; // ? + /* 0xA4 */ f32 attack_disappear_speed_v; // ? + /* 0xA8 */ s16 rotation_num; + /* 0xAA */ s16 rotation_speed; + /* 0xAC */ s16 attack_start_min_time; + /* 0xAE */ s16 attack_start_time_range; + /* 0xB0 */ f32 move_speed; }; class daNpc_Kn_Param_c { diff --git a/include/d/actor/d_a_obj_knBullet.h b/include/d/actor/d_a_obj_knBullet.h index 3eb2f03604..ff63d41bc0 100644 --- a/include/d/actor/d_a_obj_knBullet.h +++ b/include/d/actor/d_a_obj_knBullet.h @@ -23,6 +23,7 @@ public: /* 80C477B4 */ void hitPrtclSet(); u8 getActionMode() { return mActionMode; } + void setActionMode(u8 i_action) { mActionMode = i_action; } private: /* 0x568 */ u8 field_0x568[0x70c - 0x568]; diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 8b8a3f1f3e..58c188b697 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -949,6 +949,12 @@ public: void onFishingRodReelEnd() { onEndResetFlg0(ERFLG0_UNK_20000); } void onFishingHit() { onEndResetFlg0(ERFLG0_UNK_10000); } void onFishingKeep() { onEndResetFlg2(ERFLG2_UNK_1); } + void onTraningCutHead() { onNoResetFlg3(FLG3_UNK_40); } + void onTraningCutFast() { onNoResetFlg3(FLG3_UNK_80); } + void onTraningCutLargeJump() { onNoResetFlg3(FLG3_UNK_200); } + void onTraningCutLargeTurn() { onNoResetFlg3(FLG3_UNK_100); } + void onTraningCutDown() { onNoResetFlg3(FLG3_UNK_10); } + void onTraningShieldAttack() { onNoResetFlg3(FLG3_UNK_8); } BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); } u32 getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); } diff --git a/include/d/d_meter2_info.h b/include/d/d_meter2_info.h index 7558a635d1..6865ac2ccb 100644 --- a/include/d/d_meter2_info.h +++ b/include/d/d_meter2_info.h @@ -309,6 +309,7 @@ u8 dMeter2Info_getNewLetterNum(); int dMeter2Info_setNewLetterSender(); bool dMeter2Info_isItemOpenCheck(); bool dMeter2Info_isMapOpenCheck(); +s16 dMeter2Info_getNowLifeGauge(); inline void dMeter2Info_Initialize() { g_meter2_info.init(); |
