Merge branch 'main' into treasure-island

This commit is contained in:
CovenEsme
2025-03-14 13:16:22 +00:00
12 changed files with 160 additions and 104 deletions
-1
View File
@@ -99,7 +99,6 @@ public:
mBpntCount(0),
mAreaCount(0),
mFlags(0) {}
virtual ~dRoom_c() {}
virtual int create() override;
virtual int doDelete() override;
+21 -1
View File
@@ -66,6 +66,26 @@ public:
field_0x154 = arg;
}
const mQuat_c &GetQuat() const {
return mQuat;
}
const mVec3_c &GetPostion() const {
return mPositionMaybe;
}
const f32 GetOffset() const {
return mOffsetMaybe;
}
const f32 Get0x13C() const {
return field_0x13C;
}
void Set0x13C(const f32 f) {
field_0x13C = f;
}
const mFrustum_c &GetFrustum() const {
return mFrustum;
}
private:
/* 0x00C */ EGG::Heap *mpHeap;
/* 0x010 */ mShadowCircle_c *mpCircle;
@@ -189,7 +209,7 @@ public:
virtual int getType() const override;
/* 0x24 */ virtual void draw(const mMtx_c &);
void calc(mMtx_c, mMtx_c &);
void calc(mMtx_c, mMtx_c &) const;
/* 0x18 */ mMtx_c mMtx;
/* 0x48 */ f32 field_0x48;
+5
View File
@@ -6,6 +6,7 @@
#include "common.h"
#include "egg/math/eggMatrix.h"
#include "m/m_angle.h"
#include "m/m_quat.h"
#include "m/m_vec.h"
#include "nw4r/types_nw4r.h"
#include "rvl/MTX/mtx.h"
@@ -82,6 +83,10 @@ public:
return *this;
}
void applyQuat(mQuat_c &quat) {
PSMTXMultVec(m, quat.v, quat.v);
}
public:
static mMtx_c Identity;
};
+8
View File
@@ -8,12 +8,20 @@ class mQuat_c : public EGG::Quatf {
public:
mQuat_c() {}
mQuat_c(f32 x, f32 y, f32 z, f32 w) : EGG::Quatf(w, x, y, z) {}
mQuat_c(const mQuat_c &other) : EGG::Quatf(other.w, other.v) {}
mQuat_c &operator=(const EGG::Quatf &rhs) {
v = rhs.v;
w = rhs.w;
return *this;
}
mQuat_c &operator=(const mQuat_c &rhs) {
v = rhs.v;
w = rhs.w;
return *this;
}
bool Set(const mVec3_c &, const mVec3_c &);
void fn_802F2780(const mQuat_c &other);
bool fn_802F2450(const mVec3_c &, const mVec3_c &, f32);
+13 -5
View File
@@ -12,14 +12,24 @@ public:
/* 0x0C */ UNKWORD field_0x0C;
};
class UnkWithWater {
class UnkWithWaterBase {
public:
UnkWithWaterBase() : field_0x04(0), field_0x08(0) {}
virtual void calc() = 0;
private:
/* 0x04 */ UNKWORD field_0x04;
/* 0x08 */ UNKWORD field_0x08;
};
class UnkWithWater : public UnkWithWaterBase {
public:
typedef TList<UnkWithWaterNode, offsetof(UnkWithWaterNode, mNode)> NodeList;
UnkWithWater() : field_0x04(0), field_0x08(0) {}
UnkWithWater() {}
virtual ~UnkWithWater() {
remove();
}
virtual void calc() override;
static bool linkMdl(nw4r::g3d::ResMdl &mdl, UnkWithWater *thing);
bool hasLinks() const {
@@ -29,8 +39,6 @@ public:
private:
void remove();
/* 0x04 */ UNKWORD field_0x04;
/* 0x08 */ UNKWORD field_0x08;
/* 0x0C */ NodeList mList;
};