Merge pull request #135 from robojumper/minor-shadow-fixes

m_shadow improvements
This commit is contained in:
robojumper
2025-03-14 11:47:47 +01:00
committed by GitHub
5 changed files with 81 additions and 32 deletions
+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);