mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-28 23:15:32 -04:00
eed14acdc6
The hope of auto-importing data via lld MinGW + pseudo_reloc is now dead thanks to ARM64, so I just wrote a script to go annotate every exported data symbol in the game instead.
56 lines
947 B
C++
56 lines
947 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;
|
|
}
|
|
}
|
|
|
|
DUSK_GAME_DATA 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;
|
|
}
|
|
}
|