summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/c/c_lib.h1
-rw-r--r--include/d/a/e/d_a_e_ks.h8
-rw-r--r--include/d/a/e/d_a_en_base.h12
-rw-r--r--include/toBeSorted/d_path.h18
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;