summaryrefslogtreecommitdiff
path: root/src/JSystem/JAudio/JASInstSense.cpp
blob: cef0045fba0905bb2926e7f77c9869bc7b2e5af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//
// Generated by dtk
// Translation Unit: JASInstSense.cpp
//

#include "JSystem/JSystem.h" // IWYU pragma: keep

#include "JSystem/JAudio/JASInstSense.h"
#include "JSystem/JUtility/JUTAssert.h"

/* 802868F0-80286A1C       .text getY__Q28JASystem10TInstSenseCFii */
f32 JASystem::TInstSense::getY(int param_1, int param_2) const {
    int r6 = 0;
    switch (field_0x8) {
    case 1:
        r6 = param_2;
        break;
    case 2:
        r6 = param_1;
        break;
    }
    f32 ret;
    if (field_0x9 == 0x7f || field_0x9 == 0) {
        ret = field_0xc + r6 * (field_0x10 - field_0xc) / 127.0f;
    } else if (r6 < field_0x9) {
        ret = field_0xc + (1.0f - field_0xc) * (r6 / (f32)field_0x9);
    } else {
        ret = (field_0x10 - 1.0f) * ((r6 - field_0x9) / (f32)(0x7f - field_0x9)) + 1.0f;
    }
    return ret;
}

/* 80286A1C-80286B58       .text setParams__Q28JASystem10TInstSenseFiiff */
void JASystem::TInstSense::setParams(int trigger, int centerkey, f32 param_3, f32 param_4) {
    JUT_ASSERT(43, trigger >= 0);
    JUT_ASSERT(44, trigger < 256);
    field_0x8 = trigger;
    JUT_ASSERT(47, centerkey >= 0);
    JUT_ASSERT(48, centerkey < 256);
    field_0x9 = centerkey;
    field_0xc = param_3;
    field_0x10 = param_4;
}