mirror of https://github.com/zeldaret/tp.git
50 lines
1008 B
C++
50 lines
1008 B
C++
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
|
|
|
#include "JSystem/JAudio2/JASProbe.h"
|
|
#include "JSystem/JAudio2/JASCriticalSection.h"
|
|
|
|
void JASProbe::start(char const* name) {
|
|
JASCriticalSection cs;
|
|
mName = name;
|
|
mStartTime = OSGetTime();
|
|
}
|
|
|
|
|
|
void JASProbe::stop() {
|
|
JASCriticalSection cs;
|
|
u32 r29 = OSGetTime();
|
|
_08 = r29 - mStartTime;
|
|
_08 /= OS_TIMER_CLOCK / 59.94f;
|
|
if (_10 < _08 && 100 < _1A8) {
|
|
_10 = _08;
|
|
}
|
|
_0C = _0C * 0.96f + _08 * 0.04f;
|
|
u32 resultIndex = _1A8 % 100;
|
|
_14 -= _18[resultIndex];
|
|
_18[resultIndex] = _08;
|
|
_14 += _08;
|
|
_1A8++;
|
|
}
|
|
|
|
JASProbe* JASProbe::sProbeTable[16];
|
|
|
|
void JASProbe::start(s32 index, char const* name) {
|
|
JASProbe* probe;
|
|
if (index < 16) {
|
|
probe = sProbeTable[index];
|
|
if (probe != NULL) {
|
|
probe->start(name);
|
|
}
|
|
}
|
|
}
|
|
|
|
void JASProbe::stop(s32 index) {
|
|
JASProbe* probe;
|
|
if (index < 16) {
|
|
probe = sProbeTable[index];
|
|
if (probe != NULL) {
|
|
probe->stop();
|
|
}
|
|
}
|
|
}
|