cLib_addCalcPos

This commit is contained in:
lepelog
2021-11-09 21:09:33 +01:00
parent 891b4f14b1
commit 58715df2cb
3 changed files with 37 additions and 0 deletions
+5
View File
@@ -4,6 +4,11 @@
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
#include "msl_c/math.h"
inline bool cLib_IsZero(f32 f) {
return fabsf(f) < 8e-11;
}
void cLib_memCpy(void* dst, const void* src, unsigned long size);
void cLib_memSet(void* ptr, int value, unsigned long size);
+5
View File
@@ -3,6 +3,7 @@
#include "dolphin/mtx/vec.h"
#include "global.h"
#include "msl_c/math.h"
struct cXyz : Vec {
static const cXyz Zero;
@@ -50,11 +51,13 @@ struct cXyz : Vec {
y -= f;
z -= f;
}
void operator-=(const Vec& other) { PSVECSubtract(this, &other, this); }
void operator+=(const Vec& vec) {
x += vec.x;
y += vec.y;
z += vec.z;
}
void operator*=(f32 scale) { PSVECScale(this, this, scale); }
/* 80266C6C */ cXyz getCrossProduct(Vec const&) const;
/* 80266CBC */ cXyz outprod(Vec const&) const;
/* 80266CE4 */ cXyz norm() const;
@@ -116,6 +119,8 @@ struct cXyz : Vec {
cXyz tmp2(other.x, 0, other.z);
return tmp.abs2(tmp2);
}
f32 abs() const { return sqrtf(this->abs2()); }
f32 abs(const Vec& other) const { return sqrtf(this->abs2(other)); }
f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); }
};