mirror of https://github.com/zeldaret/tp.git
53 lines
1.0 KiB
C
53 lines
1.0 KiB
C
#ifndef JASOSCILLATOR_H
|
|
#define JASOSCILLATOR_H
|
|
|
|
#include "dolphin/types.h"
|
|
|
|
|
|
struct JASOscillator {
|
|
struct Point {};
|
|
|
|
struct EffectParams {};
|
|
|
|
struct Data {
|
|
/* 0x00 */ u32 _00;
|
|
/* 0x04 */ f32 _04;
|
|
/* 0x08 */ const short* _08;
|
|
/* 0x0C */ const short* _0C;
|
|
/* 0x10 */ f32 _10;
|
|
/* 0x14 */ f32 _14;
|
|
};
|
|
|
|
JASOscillator();
|
|
|
|
void initStart(const Data*);
|
|
void incCounter(f32 param_0);
|
|
f32 getValue() const;
|
|
void release();
|
|
void update();
|
|
void updateCurrentValue(f32 param_0);
|
|
|
|
void setDirectRelease(u16 param_0) { mDirectRelease = param_0; }
|
|
void stop() {
|
|
_1C = 0;
|
|
}
|
|
|
|
/* 0x00 */ const Data* mData;
|
|
/* 0x04 */ f32 _04;
|
|
/* 0x08 */ f32 _08;
|
|
/* 0x0C */ f32 _0C;
|
|
/* 0x10 */ f32 _10;
|
|
/* 0x14 */ u16 _14;
|
|
/* 0x16 */ u16 mDirectRelease;
|
|
/* 0x18 */ u8 _18;
|
|
/* 0x1A */ u16 _1A;
|
|
/* 0x1C */ int _1C;
|
|
|
|
static const f32 sCurveTableLinear[17];
|
|
static const f32 sCurveTableSampleCell[17];
|
|
static const f32 sCurveTableSqRoot[17];
|
|
static const f32 sCurveTableSquare[17];
|
|
};
|
|
|
|
#endif /* JASOSCILLATOR_H */
|