mirror of https://github.com/zeldaret/tp.git
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#ifndef Z2CALC_H
|
|
#define Z2CALC_H
|
|
|
|
#include "dolphin/types.h"
|
|
#include "m_Do/m_Do_lib.h"
|
|
|
|
namespace Z2Calc {
|
|
#ifdef DECOMPCTX
|
|
// Hack to mitigate fake mismatches when building from decompctx output -
|
|
// see comment in sqrtf in math.h
|
|
static Vec cNullVec = {0.0f, 0.0f, 0.0f};
|
|
#else
|
|
static const Vec cNullVec = {0.0f, 0.0f, 0.0f};
|
|
#endif
|
|
|
|
enum CurveSign {
|
|
CURVE_SIGN_0 = 0,
|
|
CURVE_SIGN_1 = 1,
|
|
CURVE_SIGN_2 = 2,
|
|
};
|
|
|
|
struct FNoise1f {
|
|
FNoise1f(float param_0 = 0.1f, float param_1 = 0.0f, float param_2 = 0.01f) {
|
|
unk0 = param_0;
|
|
unk4 = param_0;
|
|
unk8 = param_2;
|
|
unk12 = param_1;
|
|
}
|
|
void setParam(float, float, float);
|
|
float tau(float);
|
|
float calcNoise1f();
|
|
|
|
float unk0;
|
|
float unk4;
|
|
float unk8;
|
|
float unk12;
|
|
};
|
|
|
|
float linearTransform(float, float, float, float, float, bool);
|
|
float getParamByExp(float, float, float, float, float, float, Z2Calc::CurveSign);
|
|
float getRandom(float, float, float);
|
|
float getRandom_0_1(void);
|
|
|
|
extern f32 cEqualCSlope;
|
|
extern f32 cEqualPSlope;
|
|
} // namespace Z2Calc
|
|
|
|
#endif /* Z2CALC_H */
|