diff options
| author | 123456789758 <205478182+123456789758@users.noreply.github.com> | 2026-05-22 00:21:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-22 00:21:27 -0400 |
| commit | 02b81a670b1ee28c1fbb172fc2d43bfb659e06b7 (patch) | |
| tree | 4cdfb8b48a84321c62b0e5cc77cd5a3dcd110602 /include | |
| parent | ab5659b2016b4040424198f2f33080e125182f21 (diff) | |
d_a_npc_md - 99% matching (#896)
Co-authored-by: < >
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_npc_md.h | 91 |
1 files changed, 51 insertions, 40 deletions
diff --git a/include/d/actor/d_a_npc_md.h b/include/d/actor/d_a_npc_md.h index 2bc6cda8..015880a0 100644 --- a/include/d/actor/d_a_npc_md.h +++ b/include/d/actor/d_a_npc_md.h @@ -169,12 +169,12 @@ public: /* 0x1AC */ f32 m1AC; /* 0x1B0 */ f32 m1B0; /* 0x1B4 */ s16 m1B4; - /* 0x1B6 */ u16 m1B6; + /* 0x1B6 */ s16 m1B6; /* 0x1B8 */ u16 m1B8; - /* 0x1BA */ u16 m1BA; - /* 0x1BC */ u16 m1BC; - /* 0x1BE */ u16 m1BE; - /* 0x1C0 */ u16 m1C0; + /* 0x1BA */ s16 m1BA; + /* 0x1BC */ s16 m1BC; + /* 0x1BE */ s16 m1BE; + /* 0x1C0 */ s16 m1C0; /* 0x1C2 */ u16 m1C2; /* 0x1C4 */ s16 m1C4; /* 0x1C6 */ u8 m1C6; @@ -214,6 +214,7 @@ public: daMdStts_UNK1 = 0x00000001, daMdStts_UNK2 = 0x00000002, daMdStts_UNK4 = 0x00000004, + daMdStts_UNK8 = 0x00000008, daMdStts_FLY = 0x00000010, daMdStts_CAM_TAG_IN = 0x00000020, daMdStts_UNK40 = 0x00000040, @@ -264,20 +265,20 @@ public: void offDefaultTalkXY() { cLib_offBit<u32>(m30F0, daMdStts_DEFAULT_TALK_XY); } bool isDefaultTalkXY() { return cLib_checkBit<u32>(m30F0, daMdStts_DEFAULT_TALK_XY); } - void setOldLightBodyHit() {} // 0x20000? + void setOldLightBodyHit() { m3140 = isLightBodyHit(); } void setTypeEdaichi() { mType = 4; } void setTypeM_Dai() { mType = 5; } void setTypeM_DaiB() { mType = 6; } void setTypeShipRide() { mType = 7; } - bool isTypeAtorizk() { return mType == 0; } - bool isTypeAdanmae() { return mType == 1; } - bool isTypeM_Dra09() { return mType == 2; } - bool isTypeSea() { return mType == 3; } - bool isTypeEdaichi() { return mType == 4; } - bool isTypeM_Dai() { return mType == 5; } - bool isTypeM_DaiB() { return mType == 6; } - bool isTypeShipRide() { return mType == 7; } + BOOL isTypeAtorizk() { return mType == 0; } + BOOL isTypeAdanmae() { return mType == 1; } + BOOL isTypeM_Dra09() { return mType == 2; } + BOOL isTypeSea() { return mType == 3; } + BOOL isTypeEdaichi() { return mType == 4; } + BOOL isTypeM_Dai() { return mType == 5; } + BOOL isTypeM_DaiB() { return mType == 6; } + BOOL isTypeShipRide() { return mType == 7; } s16 getHead_x() { return mJntCtrl.getHead_x(); } s16 getHead_y() { return mJntCtrl.getHead_y(); } @@ -323,18 +324,23 @@ public: mpArmMorf->setAnmRate(mRunRate); } - void setStatus(u32) {} - void getFlyingTimer() {} - void setFlyingTimer(s16) {} - void calcFlyingTimer() {} - void checkBitEffectStatus(u8) {} - void clearJntAng() {} - void clearStatus() {} - void getTalkType() {} - void setTalkType(u8) {} - void setBitEffectStatus(u8) {} - void setEffectStatus(u8) {} - void setPiyo2TalkCNT(u8) {} + void setStatus(u32 status) { m30F0 = status; } + s16 getFlyingTimer() { return m_flyingTimer; } + void setFlyingTimer(s16 value) { m_flyingTimer = value; } + void calcFlyingTimer() { cLib_calcTimer(&m_flyingTimer); } + u8 checkBitEffectStatus(u8 bit) { return m3135 & bit; } + void clearJntAng() { + mJntCtrl.setHead_y(0); + mJntCtrl.setHead_x(0); + mJntCtrl.setBackBone_y(0); + mJntCtrl.setBackBone_x(0); + } + void clearStatus() { setStatus(0); } + u8 getTalkType() { return mType; } + void setTalkType(u8 type) { mType = type; } + void setBitEffectStatus(u8 bit) { cLib_onBit<u8>(m3135, bit); } + void setEffectStatus(u8 status) { m3135 = status; } + void setPiyo2TalkCNT(u8 cnt) { m313C = cnt; } daNpc_Md_c() {} ~daNpc_Md_c(); @@ -383,7 +389,7 @@ public: BOOL carryNpcAction(void*); BOOL throwNpcAction(void*); BOOL glidingNpcAction(void*); - void windProc(); + s16 windProc(); BOOL fallNpcAction(void*); BOOL fall02NpcAction(void*); BOOL wallHitNpcAction(void*); @@ -395,9 +401,9 @@ public: BOOL demoFlyNpcAction(void*); void routeAngCheck(cXyz&, s16*); void routeWallCheck(cXyz&, cXyz&, s16*); - void checkForwardGroundY(s16); - void checkWallJump(s16); - void routeCheck(f32, s16*); + f32 checkForwardGroundY(s16); + f32 checkWallJump(s16); + BOOL routeCheck(f32, s16*); BOOL searchNpcAction(void*); BOOL hitNpcAction(void*); void setNormalSpeedF(f32, f32, f32, f32, f32); @@ -460,7 +466,7 @@ public: BOOL setAnm(int); bool dNpc_Md_setAnm(mDoExt_McaMorf2*, f32, int, f32, f32, char*, char*, const char*); bool dNpc_Md_setAnm(mDoExt_McaMorf*, int, f32, f32, char*, const char*); - u8 chkAttention(cXyz, s16, int); + bool chkAttention(cXyz, s16, int); bool chkArea(cXyz*); void carryCheck(); void eventOrder(); @@ -472,7 +478,7 @@ public: void setAttention(bool); void lookBack(int, int, int); void lookBack(cXyz*, int, int); - void lookBackWaist(s16, f32); + s32 lookBackWaist(s16, f32); void setBaseMtx(); void deletePiyoPiyo(); BOOL init(); @@ -537,13 +543,15 @@ public: /* 0x3088 */ cXyz m3088; /* 0x3094 */ cXyz m3094; /* 0x30A0 */ cXyz m30A0; - /* 0x30AC */ u8 m30AC[0x30D0 - 0x30AC]; + /* 0x30AC */ cXyz m30AC; + /* 0x30B8 */ cXyz m30B8; + /* 0x30C4 */ cXyz m30C4; /* 0x30D0 */ f32 m30D0; /* 0x30D4 */ ActionFunc mCurrPlayerActionFunc; /* 0x30E0 */ ActionFunc mCurrNpcActionFunc; /* 0x30EC */ u32 mMsgNo; /* 0x30F0 */ u32 m30F0; - /* 0x30F4 */ u8 m30F4[0x30F8 - 0x30F4]; + /* 0x30F4 */ u32 m30F4; /* 0x30F8 */ f32 m30F8; /* 0x30FC */ f32 mRunRate; /* 0x3100 */ int m3100; @@ -575,12 +583,13 @@ public: /* 0x312C */ u8 m312C; /* 0x312D */ s8 m312D; /* 0x312E */ s8 mCurEventMode; - /* 0x312F */ u8 m312F[0x3131 - 0x312F]; + /* 0x312F */ u8 m312F; + /* 0x3130 */ u8 m3130; /* 0x3131 */ u8 m3131; /* 0x3132 */ s8 mActionStatus; /* 0x3133 */ u8 m3133; /* 0x3134 */ u8 m3134; - /* 0x3135 */ u8 m3135[0x3136 - 0x3135]; + /* 0x3135 */ u8 m3135; /* 0x3136 */ u8 m3136; /* 0x3137 */ u8 m3137; /* 0x3138 */ u8 mType; @@ -589,7 +598,8 @@ public: /* 0x313B */ u8 m313B[0x313C - 0x313B]; /* 0x313C */ u8 m313C; /* 0x313D */ u8 m313D; - /* 0x313E */ u8 m313E[0x3140 - 0x313E]; + /* 0x313E */ u8 m313E; + /* 0x313F */ s8 m313F; /* 0x3140 */ bool m3140; /* 0x3141 */ u8 m3141[0x3144 - 0x3141]; /* 0x3144 */ s16 m3144; @@ -597,9 +607,9 @@ public: /* 0x3148 */ s16 m3148; /* 0x314A */ s16 m314A; /* 0x314C */ s16 m314C; - /* 0x314E */ u8 m314E[0x3150 - 0x314E]; + /* 0x314E */ s16 m314E; /* 0x3150 */ f32 m3150; - /* 0x3154 */ u8 m3154[0x3158 - 0x3154]; + /* 0x3154 */ f32 m3154; /* 0x3158 */ s16 mEventIdxTable[10]; /* 0x316C */ s8 m_hair_jnt_nums[8]; /* 0x3174 */ cXyz m3174[8]; @@ -607,7 +617,8 @@ public: /* 0x3234 */ cXyz m3234[4]; /* 0x3264 */ f32 m3264[8]; /* 0x3284 */ char mModelArcName[3]; - /* 0x3287 */ u8 m3287[0x32A4 - 0x3287]; + /* 0x3287 */ u8 m3287[0x3298 - 0x3287]; + /* 0x3298 */ cXyz m3298; /* 0x32A4 */ cXyz m32A4; /* 0x32B0 */ cBgS_PolyInfo mPolyInfo; }; |
