mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-05 01:06:37 +00:00
8d83727429
* split sys_math, sys_math3d, z_lib from global.h * suggestions * forgot this * more math stuff * nit fix * re-add ichain.h * resolve tharo's comments
44 lines
2 KiB
C
44 lines
2 KiB
C
#ifndef Z_LIB_H
|
|
#define Z_LIB_H
|
|
|
|
#include "libc/stddef.h"
|
|
#include "padmgr.h"
|
|
#include "z64math.h"
|
|
#include "color.h"
|
|
|
|
void Lib_MemSet(u8* dest, size_t len, u8 val);
|
|
f32 Math_CosS(s16 angle);
|
|
f32 Math_SinS(s16 angle);
|
|
s32 Math_ScaledStepToS(s16* pValue, s16 target, s16 step);
|
|
s32 Math_StepToS(s16* pValue, s16 target, s16 step);
|
|
s32 Math_StepToF(f32* pValue, f32 target, f32 step);
|
|
s32 Math_StepUntilAngleS(s16* pValue, s16 limit, s16 step);
|
|
s32 Math_StepUntilS(s16* pValue, s16 limit, s16 step);
|
|
s32 Math_StepToAngleS(s16* pValue, s16 target, s16 step);
|
|
s32 Math_StepUntilF(f32* pValue, f32 limit, f32 step);
|
|
s32 Math_AsymStepToF(f32* pValue, f32 target, f32 incrStep, f32 decrStep);
|
|
void Lib_GetControlStickData(f32* outMagnitude, s16* outAngle, Input* input);
|
|
s16 Rand_S16Offset(s16 base, s16 range);
|
|
void Math_Vec3f_Copy(Vec3f* dest, Vec3f* src);
|
|
void Math_Vec3s_ToVec3f(Vec3f* dest, Vec3s* src);
|
|
void Math_Vec3f_Sum(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
void Math_Vec3f_Diff(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
void Math_Vec3s_DiffToVec3f(Vec3f* dest, Vec3s* a, Vec3s* b);
|
|
void Math_Vec3f_Scale(Vec3f* vec, f32 scaleF);
|
|
f32 Math_Vec3f_DistXYZ(Vec3f* a, Vec3f* b);
|
|
f32 Math_Vec3f_DistXYZAndStoreDiff(Vec3f* a, Vec3f* b, Vec3f* dest);
|
|
f32 Math_Vec3f_DistXZ(Vec3f* a, Vec3f* b);
|
|
s16 Math_Vec3f_Yaw(Vec3f* origin, Vec3f* point);
|
|
s16 Math_Vec3f_Pitch(Vec3f* a, Vec3f* b);
|
|
f32 Math_SmoothStepToF(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep);
|
|
void Math_ApproachF(f32* pValue, f32 target, f32 fraction, f32 step);
|
|
void Math_ApproachZeroF(f32* pValue, f32 fraction, f32 step);
|
|
f32 Math_SmoothStepToDegF(f32* pValue, f32 target, f32 fraction, f32 step, f32 minStep);
|
|
s16 Math_SmoothStepToS(s16* pValue, s16 target, s16 scale, s16 step, s16 minStep);
|
|
void Math_ApproachS(s16* pValue, s16 target, s16 scale, s16 step);
|
|
void Color_RGBA8_Copy(Color_RGBA8* dst, Color_RGBA8* src);
|
|
void Sfx_PlaySfxCentered(u16 sfxId);
|
|
void Sfx_PlaySfxCentered2(u16 sfxId);
|
|
void Sfx_PlaySfxAtPos(Vec3f* projectedPos, u16 sfxId);
|
|
|
|
#endif
|