mirror of
https://github.com/zeldaret/mm.git
synced 2026-08-08 10:32:59 -04:00
z_olib.c OK and Documented (#202)
* z_olib.c OK * Clean-Up Clamp * Take out extra space
This commit is contained in:
+19
-19
@@ -185,7 +185,7 @@ s32 func_80086620(OSMesgQueue* param_1, PadmgrThreadStruct* param_2, OSContStatu
|
||||
// void func_80086880(void);
|
||||
// void func_800869A4(void);
|
||||
// void func_80086AF0(void);
|
||||
// void func_80086B30(void);
|
||||
f32 func_80086B30(f32 y, f32 x);
|
||||
// void func_80086C18(void);
|
||||
f32 func_80086C48(f32 param_1);
|
||||
// void func_80086C70(void);
|
||||
@@ -2104,24 +2104,24 @@ void func_8010A33C(GlobalContext* globalCtx, s16 param_2);
|
||||
// void Nmi_SetPrenmiStart(void);
|
||||
// s32 Nmi_GetPrenmiHasStarted(void);
|
||||
// void func_8010C1B0(void);
|
||||
f32 CamMath_Distance(Vec3f* a, Vec3f* b);
|
||||
f32 CamMath_DistanceAndDiff(Vec3f* a, Vec3f* b, Vec3f* diff);
|
||||
f32 CamMath_DistanceXZ(Vec3f* a, Vec3f* b);
|
||||
f32 func_8010C304(f32 a, f32 b);
|
||||
f32 func_8010C36C(f32 a, f32 b);
|
||||
// void func_8010C3D4(void);
|
||||
// void func_8010C484(void);
|
||||
// void func_8010C530(void);
|
||||
// void func_8010C574(void);
|
||||
// void func_8010C6C8(void);
|
||||
// void func_8010C710(void);
|
||||
// void func_8010C764(void);
|
||||
// void func_8010C7B8(void);
|
||||
// void func_8010C838(void);
|
||||
// void func_8010C8C8(void);
|
||||
// void func_8010C930(void);
|
||||
// void func_8010C9C8(void);
|
||||
// void func_8010CAA0(void);
|
||||
f32 OLib_Vec3fDist(Vec3f* a, Vec3f* b);
|
||||
f32 OLib_Vec3fDistOutDiff(Vec3f* a, Vec3f* b, Vec3f* dest);
|
||||
f32 OLib_Vec3fDistXZ(Vec3f* a, Vec3f* b);
|
||||
f32 OLib_ClampMinDist(f32 val, f32 min);
|
||||
f32 OLib_ClampMaxDist(f32 val, f32 max);
|
||||
Vec3f* OLib_Vec3fDistNormalize(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_VecSphToVec3f(Vec3f* dest, VecSph* sph);
|
||||
Vec3f* OLib_VecSphGeoToVec3f(Vec3f* dest, VecSph* sph);
|
||||
VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec);
|
||||
VecSph* OLib_Vec3fToVecSphGeo(VecSph* dest, Vec3f* vec);
|
||||
VecSph* OLib_Vec3fDiffToVecSph(VecSph* dest, Vec3f* a, Vec3f* b);
|
||||
VecSph* OLib_Vec3fDiffToVecSphGeo(VecSph* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_VecSphToVec3fSum(Vec3f* dest, Vec3f* a, VecSph* sph);
|
||||
Vec3f* OLib_Vec3fDiffRad(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3f* OLib_Vec3fDiffDegF(Vec3f* dest, Vec3f* a, Vec3f* b);
|
||||
Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b);
|
||||
void OLib_DbCameraVec3fDiff(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
void OLib_DbCameraVec3fSum(PosRot* a, Vec3f* b, Vec3f* dest, s16 mode);
|
||||
// void func_8010CB80(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
// void func_8010CD98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10);
|
||||
// void func_8010CFBC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6, UNK_TYPE2 param_7, UNK_TYPE2 param_8, UNK_TYPE2 param_9, UNK_TYPE2 param_10, UNK_TYPE2 param_11, UNK_TYPE2 param_12, UNK_TYPE2 param_13, UNK_TYPE2 param_14);
|
||||
|
||||
@@ -97,22 +97,6 @@
|
||||
#define BTN_B 0x4000
|
||||
#define BTN_A 0x8000
|
||||
|
||||
/* Buttons */
|
||||
#define BTN_CRIGHT 0x0001
|
||||
#define BTN_CLEFT 0x0002
|
||||
#define BTN_CDOWN 0x0004
|
||||
#define BTN_CUP 0x0008
|
||||
#define BTN_R 0x0010
|
||||
#define BTN_L 0x0020
|
||||
#define BTN_DRIGHT 0x0100
|
||||
#define BTN_DLEFT 0x0200
|
||||
#define BTN_DDOWN 0x0400
|
||||
#define BTN_DUP 0x0800
|
||||
#define BTN_START 0x1000
|
||||
#define BTN_Z 0x2000
|
||||
#define BTN_B 0x4000
|
||||
#define BTN_A 0x8000
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ u32 ramarray[15];
|
||||
/* 0x3C */ u32 pifstatus;
|
||||
|
||||
+23
-3
@@ -3,9 +3,6 @@
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
#define SHT_MAX 32767.0f
|
||||
#define M_PI 3.14159265358979323846f
|
||||
|
||||
#define VEC_SET(V,X,Y,Z) V.x=X;V.y=Y;V.z=Z
|
||||
|
||||
typedef struct {
|
||||
@@ -88,8 +85,31 @@ typedef struct {
|
||||
/* 0x06 */ s16 yaw; // azimuthal angle
|
||||
} VecSph; // size = 0x08
|
||||
|
||||
#define F32_LERP(v0,v1,t) ((1.0f - (t)) * (v0) + (t) * (v1))
|
||||
#define F32_LERPIMP(v0, v1, t) (v0 + ((v1 - v0) * t))
|
||||
#define F32_LERPIMPINV(v0, v1, t) ((v0) + (((v1) - (v0)) / (t)))
|
||||
#define BINANG_LERPIMP(v0, v1, t) ((v0) + (s16)(BINANG_SUB((v1), (v0)) * (t)))
|
||||
#define BINANG_LERPIMPINV(v0, v1, t) ((v0) + BINANG_SUB((v1), (v0)) / (t))
|
||||
|
||||
#define VEC3F_LERPIMPDST(dst, v0, v1, t){ \
|
||||
(dst)->x = (v0)->x + (((v1)->x - (v0)->x) * t); \
|
||||
(dst)->y = (v0)->y + (((v1)->y - (v0)->y) * t); \
|
||||
(dst)->z = (v0)->z + (((v1)->z - (v0)->z) * t); \
|
||||
}
|
||||
|
||||
#define IS_ZERO(f) (fabsf(f) < 0.008f)
|
||||
|
||||
// Trig macros
|
||||
#define DEGF_TO_BINANG(degreesf) (s16)(degreesf * 182.04167f + .5f)
|
||||
#define RADF_TO_BINANG(radf) (s16)(radf * (32768.0f / M_PI))
|
||||
#define RADF_TO_DEGF(radf) (radf * (180.0f / M_PI))
|
||||
#define DEGF_TO_RADF(degf) (degf * (M_PI / 180.0f))
|
||||
#define BINANG_ROT180(angle) ((s16)(angle + 0x8000))
|
||||
#define BINANG_SUB(a, b) ((s16)(a - b))
|
||||
#define DEG_TO_RAD(degrees) ((degrees) * (M_PI / 180.0f))
|
||||
#define BINANG_TO_DEGF(binang) ((f32)binang * (360.0001525f / 65535.0f))
|
||||
#define BINANG_TO_RAD(binang) (((f32)binang / 32768.0f) * M_PI)
|
||||
|
||||
// Vector macros
|
||||
#define SQXZ(vec) ((vec.x) * (vec.x) + (vec.z) * (vec.z))
|
||||
#define DOTXZ(vec1, vec2) ((vec1.x) * (vec2.x) + (vec1.z) * (vec2.z))
|
||||
|
||||
Reference in New Issue
Block a user