diff options
| author | elijah-thomas774 <elijahthomas774@gmail.com> | 2025-11-16 23:19:57 -0500 |
|---|---|---|
| committer | elijah-thomas774 <elijahthomas774@gmail.com> | 2025-11-22 14:53:36 -0500 |
| commit | 54c3f67bdfc7de117899055558024b40266202ea (patch) | |
| tree | 09ed1aad52d42087216796ad430065c62992d9ff /include | |
| parent | 1e29b7940c336147849d32b4c20943277d028fd0 (diff) | |
porgress
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/a/d_a_base.h | 6 | ||||
| -rw-r--r-- | include/d/a/d_a_player.h | 7 | ||||
| -rw-r--r-- | include/d/a/npc/d_a_npc_ce_friend.h | 1 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_barrel.h | 40 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_base.h | 12 | ||||
| -rw-r--r-- | include/d/a/obj/d_a_obj_chair.h | 2 | ||||
| -rw-r--r-- | include/d/col/bg/d_bg_s_acch.h | 6 | ||||
| -rw-r--r-- | include/d/col/c/c_m3d_g_pla.h | 2 | ||||
| -rw-r--r-- | include/m/m_angle.h | 10 | ||||
| -rw-r--r-- | include/m/m_mtx.h | 8 | ||||
| -rw-r--r-- | include/toBeSorted/attention.h | 9 |
11 files changed, 78 insertions, 25 deletions
diff --git a/include/d/a/d_a_base.h b/include/d/a/d_a_base.h index 559d7046..97e33e47 100644 --- a/include/d/a/d_a_base.h +++ b/include/d/a/d_a_base.h @@ -149,10 +149,14 @@ public: return mRotation; } - mVec3_c getPostionDifference(const dAcBase_c &other) { + mVec3_c getPostionDifference(const dAcBase_c &other) const { return mPosition - other.mPosition; } + f32 getHeightDifference(const dAcBase_c &b) const { + return mPosition.y - b.mPosition.y; + } + f32 getSquareDistanceTo(const mVec3_c &point) const { mVec3_c diff = mPosition - point; return diff.x * diff.x + diff.z * diff.z; diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 786eabd6..04c95e2c 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -2,6 +2,7 @@ #define D_A_PLAYER_H #include "common.h" +#include "d/a/d_a_base.h" #include "d/a/d_a_item.h" #include "d/col/c/c_bg_s_poly_info.h" #include "d/d_player_mdl.h" @@ -93,6 +94,12 @@ public: return LINK; } + static dAcPy_c &GetLinkRM() { + return *LINK; + } + static const dAcPy_c &GetLinkR() { + return *LINK; + } static dAcPy_c *GetLinkM() { return LINK; } diff --git a/include/d/a/npc/d_a_npc_ce_friend.h b/include/d/a/npc/d_a_npc_ce_friend.h index 32d2b597..a5a5f5d6 100644 --- a/include/d/a/npc/d_a_npc_ce_friend.h +++ b/include/d/a/npc/d_a_npc_ce_friend.h @@ -12,6 +12,7 @@ public: virtual ~dAcNpcCeFriend_c() {} bool fn_11_17C0(dAcObjBase_c *); + bool fn_11_2A40(); private: /* 0x??? */ STATE_MGR_DECLARE(dAcNpcCeFriend_c); diff --git a/include/d/a/obj/d_a_obj_barrel.h b/include/d/a/obj/d_a_obj_barrel.h index 418670ba..b2f9e784 100644 --- a/include/d/a/obj/d_a_obj_barrel.h +++ b/include/d/a/obj/d_a_obj_barrel.h @@ -65,23 +65,29 @@ public: /** fn_293_4200 */ void fn_293_4200(); - /** fn_293_45A0 */ + /** Check to see if the Barrel should break */ bool fn_293_45A0(); /** fn_293_4A90 */ bool fn_293_4A90(const mAng &); - /** fn_293_4BC0 */ + /** Checks if On Lava or Sink Sand */ bool fn_293_4BC0(); + /** Checks if On Lava */ + bool fn_293_4C20() const; + /** fn_293_4C60 */ bool fn_293_4C60(); - /** fn_293_4D00 */ + /** Check to see if its below some range */ + bool fn_293_4CE0() const; + + /** Check to see if its being moved. (like Conveyor) */ bool fn_293_4D00(); - /** fn_293_4ED0 */ - bool fn_293_4ED0(); + /** Check to see if it is being moved upwards? */ + bool fn_293_4ED0() const; /** fn_293_4F80 */ bool fn_293_4F80(); @@ -89,12 +95,18 @@ public: /** fn_293_50B0 */ bool fn_293_50B0(); - /** fn_293_5150 */ - bool fn_293_5150(); + /** Perform Timeslip */ + void fn_293_5150(); /** fn_293_5360 */ void fn_293_5360(); + /** fn_293_5440 */ + void fn_293_5440(); + + /** fn_293_54D0 */ + void fn_293_54D0(); + /** fn_293_5850 */ void fn_293_5850(f32 *, bool); @@ -151,7 +163,7 @@ private: /* 0xD80 */ mQuat_c quat_0xD80; /* 0xD90 */ mQuat_c quat_0xD90; /* 0xDA0 */ mQuat_c quat_0xDA0; - /* 0xDB0 */ u8 _DB0[0xDBC - 0xDB0]; + /* 0xDB0 */ mVec3_c field_0xDB0; //< player direction vector /* 0xDBC */ mVec3_c field_0xDBC; /* 0xDC8 */ mVec3_c field_0xDC8; /* 0xDD4 */ f32 field_0xDD4; @@ -162,8 +174,12 @@ private: /* 0xDEE */ mAng field_0xDEE; /* 0xDF0 */ mAng field_0xDF0; /* 0xDF2 */ mAng field_0xDF2; - /* 0xDF4 */ u8 _DF4[0xDFE - 0xDF4]; - /* 0xDF4 */ u16 field_0xDFE; + /* 0xDF4 */ mAng field_0xDF4; + /* 0xDF6 */ mAng field_0xDF6; + /* 0xDF8 */ mAng field_0xDF8; + /* 0xDFA */ mAng field_0xDFA; + /* 0xDFC */ u16 field_0xDFC; + /* 0xDFE */ u16 field_0xDFE; /* 0xE00 */ bool field_0xE00; //< Can Damage ? /* 0xE01 */ bool field_0xE01; /* 0xE02 */ bool field_0xE02; @@ -176,8 +192,8 @@ private: /* 0xE09 */ bool field_0xE09; //< for OBJ_VSD Present /* 0xE0A */ bool field_0xE0A; /* 0xE0B */ bool field_0xE0B; - /* 0xE0C */ bool field_0xE0C; - /* 0xE0D */ bool field_0xE0D; + /* 0xE0C */ bool field_0xE0C; //< Timeslip Active + /* 0xE0D */ bool field_0xE0D; //< Timeslip_rev Active /* 0xE0E */ bool field_0xE0E; /* 0xE0F */ u8 mType; /* 0xE10 */ u8 field_0xE10; diff --git a/include/d/a/obj/d_a_obj_base.h b/include/d/a/obj/d_a_obj_base.h index 5b678cec..f5137e84 100644 --- a/include/d/a/obj/d_a_obj_base.h +++ b/include/d/a/obj/d_a_obj_base.h @@ -113,14 +113,18 @@ public: return mYOffset; } - bool checkStopped() const { - return getVelocityMag() <= EGG::Math<f32>::epsilon(); + bool isFullyStopped(f32 speed = EGG::Math<f32>::epsilon()) const { + return getVelocityMag() <= speed; } - bool checkSlower(f32 speed) const { + bool isSpeedStopped(f32 speed = EGG::Math<f32>::epsilon()) const { return std::fabsf(mSpeed) <= speed; } + bool isVerticalSpeedStopped(f32 speed = EGG::Math<f32>::epsilon()) const { + return std::fabsf(mVelocity.y) <= speed; + } + bool checkYOffsetField_0x100() const { return mYOffset <= field_0x100; } @@ -205,7 +209,7 @@ public: u32 roomId ); void fn_8002efa0(); - bool fn_8002eff0(f32 *, s16 *, f32 *, f32 *, f32 *); + bool fn_8002eff0(const f32 &, const s16 &, cCcD_Obj *, const f32 &, const f32 &); void createChildAttached2( fProfile::PROFILE_NAME_e actorId, u32 params1, mVec3_c *pos, mAng3_c *rot, mVec3_c *scale, u32 params2, u32 roomId diff --git a/include/d/a/obj/d_a_obj_chair.h b/include/d/a/obj/d_a_obj_chair.h index 14890cd1..ab8a2d40 100644 --- a/include/d/a/obj/d_a_obj_chair.h +++ b/include/d/a/obj/d_a_obj_chair.h @@ -6,13 +6,11 @@ #include "d/col/bg/d_bg_w.h" #include "d/col/cc/d_cc_d.h" #include "d/d_shadow.h" -#include "d/flag/sceneflag_manager.h" #include "m/m3d/m_smdl.h" #include "m/m_angle.h" #include "m/m_vec.h" #include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" -#include "s/s_StateMgr.hpp" class dAcOChair_c : public dAcObjBase_c { public: diff --git a/include/d/col/bg/d_bg_s_acch.h b/include/d/col/bg/d_bg_s_acch.h index f41b5f80..0d12de5d 100644 --- a/include/d/col/bg/d_bg_s_acch.h +++ b/include/d/col/bg/d_bg_s_acch.h @@ -521,10 +521,16 @@ public: dBgS_GndChk &GetGnd() { return mGnd; } + const dBgS_GndChk &GetGnd() const { + return mGnd; + } dBgS_RoofChk &GetRoof() { return mRoof; } + const dBgS_RoofChk &GetRoof() const { + return mRoof; + } void SetField_0xD4(f32 v) { field_0x0D4 = v; diff --git a/include/d/col/c/c_m3d_g_pla.h b/include/d/col/c/c_m3d_g_pla.h index 77734b2f..2ead0cff 100644 --- a/include/d/col/c/c_m3d_g_pla.h +++ b/include/d/col/c/c_m3d_g_pla.h @@ -56,7 +56,7 @@ public: cM3d_CalcPla(v1, v2, v3, &mNormal, &mD); } f32 getCrossY_NonIsZero(const mVec3_c *param_1) { - return ((-mNormal.x * param_1->x - mNormal.z * param_1->z) - mD) / mNormal.y; + return -(mNormal.x * param_1->x + mNormal.z * param_1->z) / mNormal.y; } f32 GetXZDist() const { diff --git a/include/m/m_angle.h b/include/m/m_angle.h index f4625c8e..9913a15a 100644 --- a/include/m/m_angle.h +++ b/include/m/m_angle.h @@ -6,6 +6,7 @@ #include "m/m_vec.h" #include "math.h" #include "nw4r/math/math_triangular.h" +#include "s/s_Math.h" struct mAng { mAng() {} @@ -35,6 +36,9 @@ struct mAng { void set(s16 val) { mVal = val; } + void setF(const f32 &val) { + mVal = val; + } s16 *ref() { return &mVal; @@ -65,6 +69,10 @@ struct mAng { return *this; } + s32 absDiff(const mAng &other) const { + return sLib::absDiff(mVal, other.mVal); + } + static s32 abs(const mAng b) { return labs(b); } @@ -98,7 +106,7 @@ struct mAng { return mVal * sAngToRad; } - static s16 fromRad(f32 rad) { + static mAng fromRad(f32 rad) { return rad * sRadToAng; } diff --git a/include/m/m_mtx.h b/include/m/m_mtx.h index effe67e6..ac131169 100644 --- a/include/m/m_mtx.h +++ b/include/m/m_mtx.h @@ -147,11 +147,15 @@ public: MTXMultVecSR(*this, in, out); } mVec3_c multVecSR(const mVec3_c &v) const { - mVec3_c ret = v; - MTXMultVecSR(*this, ret, ret); + mVec3_c ret; + multVecSR(v, ret); return ret; } + void multVecSR(mVec3_c &v) const { + multVecSR(v, v); + } + mMtx_c &operator+=(const mMtx_c &rhs) { MTXConcat(*this, rhs, *this); return *this; diff --git a/include/toBeSorted/attention.h b/include/toBeSorted/attention.h index 309c1454..1fd3de94 100644 --- a/include/toBeSorted/attention.h +++ b/include/toBeSorted/attention.h @@ -174,7 +174,12 @@ private: public: static AttentionManager *sInstance; - + enum Flags_e { + FLAGS_0, + FLAGS_1, + FLAGS_2, + FLAGS_3, + }; bool create(); bool createHeap(); bool execute(); @@ -183,7 +188,7 @@ public: void addTarget(dAcObjBase_c &actor, const InteractionTargetDef &def, u32, mVec3_c *); void addPickUpTarget(dAcObjBase_c &actor, f32 field_0x14); - void addSitTarget(dAcObjBase_c &actor, u32 flags, f32 field_0x14); + void addSitTarget(dAcObjBase_c &actor, f32 field_0x14, Flags_e flags); void addTalkTarget_unused(dAcObjBase_c &actor); |
