Files
dusklight/src/JSystem/JAudio2/JASLfo.cpp
T
TakaRikka dfa8efa97b project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00

56 lines
932 B
C++

#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JASLfo.h"
#include "SSystem/SComponent/c_math.h"
JASLfo::JASLfo() {
field_0x0 = 0;
field_0x4 = 1;
field_0x8 = 0.0f;
mDepth = 0.0f;
mPitch = 1.0f;
mDelay = 0;
field_0x16 = 0;
}
f32 JASLfo::getValue() const {
if (field_0x16) {
return 0.0f;
}
if (mDepth == 0.0f) {
return 0.0f;
}
return mDepth * JMASinLap(field_0x8);
}
void JASLfo::incCounter(f32 param_0) {
if (field_0x16) {
field_0x16--;
return;
}
field_0x8 += param_0 * ((1.0f / 72.0f) * mPitch);
if (field_0x8 >= 1.0f) {
field_0x8 -= 1.0f;
}
}
JASLfo JASLfo::sFreeRunLfo;
void JASLfo::resetCounter() {
field_0x16 = mDelay;
switch (field_0x4) {
case 0:
field_0x8 = sFreeRunLfo.field_0x8;
break;
case 1:
field_0x8 = 0.0f;
break;
}
}