diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/c/c_lib.h | 1 | ||||
| -rw-r--r-- | include/d/a/e/d_a_e_ks.h | 8 | ||||
| -rw-r--r-- | include/d/a/e/d_a_en_base.h | 12 | ||||
| -rw-r--r-- | include/toBeSorted/d_path.h | 18 |
4 files changed, 33 insertions, 6 deletions
diff --git a/include/c/c_lib.h b/include/c/c_lib.h index be7b0d5e..c31d9bf9 100644 --- a/include/c/c_lib.h +++ b/include/c/c_lib.h @@ -12,6 +12,7 @@ s16 offsetPos(mVec3_c &target, const mVec3_c &v1, s16 angle, const mVec3_c &v2); void addCalcPos2(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep); f32 addCalcPosXZ(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep); f32 addCalcPos(mVec3_c *src, const mVec3_c &target, f32 scale, f32 maxStep, f32 minStep); +bool chasePos(mVec3_c &, mVec3_c &, f32); bool chasePosXZ(mVec3_c &, mVec3_c &, f32); // made up name diff --git a/include/d/a/e/d_a_e_ks.h b/include/d/a/e/d_a_e_ks.h index 73822fae..d63150e8 100644 --- a/include/d/a/e/d_a_e_ks.h +++ b/include/d/a/e/d_a_e_ks.h @@ -186,7 +186,9 @@ private: /* 0xC48 */ f32 field_0xC48; /* 0xC4C */ u8 _0xC4C[0xC70 - 0xC4C]; /* 0xC70 */ f32 field_0xC70; - /* 0xC74 */ u8 _0xC74[0xCE0 - 0xC74]; + /* 0xC74 */ u8 _0xC74[0xC90 - 0xC74]; + /* 0xC90 */ f32 field_0xC90; + /* 0xC94 */ u8 _0xC94[0xCE0 - 0xC94]; /* 0xCE0 */ f32 field_0xCE0; /* 0xCE4 */ f32 field_0xCE4; /* 0xCE8 */ u8 _0xCE8[0xCF8 - 0xCE8]; @@ -232,7 +234,7 @@ private: /* 0xD74 */ s16 field_0xD74; /* 0xD76 */ s16 field_0xD76; /* 0xD78 */ s16 mBlinkTimer; - /* 0xD7A */ s16 field_0xD7A; + /* 0xD7A */ u16 field_0xD7A; /* 0xD7C */ s16 field_0xD7C; /* 0xD7E */ s16 mSqueakSoundTimer; /* 0xD80 */ s16 mStunSoundTimer; @@ -252,7 +254,7 @@ private: /* 0xD9C */ s16 field_0xD9C; /* 0xD9E */ s16 field_0xD9E; /* 0xDA0 */ s16 field_0xDA0; - /* 0xDA2 */ u8 _0xDA2[0xDA4 - 0xDA2]; + /* 0xDA2 */ s16 field_0xDA2; /* 0xDA4 */ u8 field_0xDA4; /* 0xDA5 */ u8 field_0xDA5; /* 0xDA6 */ u8 field_0xDA6; diff --git a/include/d/a/e/d_a_en_base.h b/include/d/a/e/d_a_en_base.h index 3dc5d670..adbc1d0c 100644 --- a/include/d/a/e/d_a_en_base.h +++ b/include/d/a/e/d_a_en_base.h @@ -51,12 +51,14 @@ public: /* 0x33C */ u32 mInteractionFlags; /* 0x340 */ u16 field_0x338; /* 0x342 */ u16 mHealth; - /* 0x344 */ u8 _344[0x358 - 0x344]; + /* 0x344 */ u8 _0x344[0x346 - 0x344]; + /* 0x346 */ u8 field_0x346; + /* 0x347 */ u8 _0x347[0x358 - 0x347]; /* 0x358 */ mVec3_c mFinalBlowPosition; - /* 0x364 */ u8 _364[0x374 - 0x364]; + /* 0x364 */ u8 _0x364[0x374 - 0x364]; /* 0x374 */ dAcEnData *mpEnemyData; - bool checkInteractionFlags(u32 mask) { + bool checkInteractionFlags(u32 mask) const { return mInteractionFlags & mask; } void setInteractionFlags(u32 flag) { @@ -65,6 +67,9 @@ public: void resetInteractionFlags(u32 flag) { mInteractionFlags &= ~flag; } + void setFinalBlowPosition(const mVec3_c &v) { + mFinalBlowPosition = v; + } dAcBomb_c *getBombWithinRadius(f32 radius); // fn_8002f700 @@ -78,6 +83,7 @@ public: // Returns 0-3 based on collision int fn_800301b0(const mVec3_c &pos, mAng ang, bool, f32); void fn_80030400(m3d::mdl_c &, u8, bool, u8); + bool fn_80030570(m3d::mdl_c &, u8, f32); // lighting related void fn_800306D0(); void fn_80030700(); dAcObjBase_c *targetPlayerOrScrapper(f32 biasToScrapper); diff --git a/include/toBeSorted/d_path.h b/include/toBeSorted/d_path.h index 56856008..6337f5b4 100644 --- a/include/toBeSorted/d_path.h +++ b/include/toBeSorted/d_path.h @@ -59,6 +59,11 @@ public: return mpPathPtr->pointCount; } + s32 getLastPointIdx() const { + s32 pnt = getNumPoints() - 1; + return pnt >= 0 ? pnt : 0; + } + bool initWithPathId(s32 pathId, s32 roomId, bool pathSubtype); bool initWithPathIndex(s32 pathIndex, s32 roomId, bool pathSubtype); @@ -138,10 +143,18 @@ public: mSpeed = speed; } + f32 getSpeed() const { + return mSpeed; + } + void getDirection(mVec3_c &result) { mPath.getDirection(mSegmentIndex, mSegmentTime, result); } + const Vec *getPoint(s32 idx) const { + return mPath.getPoint(idx); + } + bool checkFlag(u32 flags) const { return (mFlags & flags) != 0; } @@ -154,6 +167,11 @@ public: mFlags |= flags; } + const dPath_c &getPath() const { + return mPath; + } + s32 getNextPointIndex2() const; + private: s32 getNextPointIndex(s32 point) const; s32 getNextPointIndex() const; |
