// // Generated by dtk // Translation Unit: JASPlayer_impl.cpp // #include "JSystem/JSystem.h" // IWYU pragma: keep #include "JSystem/JAudio/JASPlayer.h" #include "JSystem/JAudio/JASDriverTables.h" /* 8027E170-8027E190 .text extend8to16__Q28JASystem6PlayerFUc */ s16 JASystem::Player::extend8to16(u8 param_1) { s16 var1 = param_1; if (param_1 & 0x80) { var1 += 0xFF00; } return var1; } const f32 JASystem::Player::s_key_table[] = { 1.000000, 1.000910, 1.001821, 1.002733, 1.003645, 1.004559, 1.005473, 1.006388, 1.007304, 1.008220, 1.009138, 1.010056, 1.010975, 1.011896, 1.012816, 1.013738, 1.014661, 1.015584, 1.016508, 1.017433, 1.018359, 1.019286, 1.020214, 1.021142, 1.022071, 1.023002, 1.023933, 1.024864, 1.025797, 1.026731, 1.027665, 1.028600, 1.029536, 1.030473, 1.031411, 1.032350, 1.033289, 1.034230, 1.035171, 1.036113, 1.037056, 1.038000, 1.038944, 1.039890, 1.040836, 1.041783, 1.042731, 1.043680, 1.044630, 1.045581, 1.046532, 1.047485, 1.048438, 1.049392, 1.050347, 1.051303, 1.052260, 1.053217, 1.054176, 1.055135, 1.056095, 1.057056, 1.058018, 1.058981, }; /* 8027E190-8027E250 .text pitchToCent__Q28JASystem6PlayerFff */ f32 JASystem::Player::pitchToCent(f32 param_1, f32 param_2) { f32 var1 = param_1 * 4.0f * param_2; s16 var3 = var1; f32 var2 = var1 - var3; if (var1 < 0.0f && var2 != 0.0f) { var2 += 1.0f; var3 -= 1; } if (var2 >= 1.0f) { var2 -= 1.0f; var3 += 1; } return s_key_table[u16(var2 * 64.0f)] * Driver::C5BASE_PITCHTABLE[var3 + 0x3c]; } /* 8027E250-8027E2C0 .text getRandomS32__Q28JASystem6PlayerFv */ s32 JASystem::Player::getRandomS32() { static s32 sV0 = 0x1000; static s32 sV1 = 0x5555; s32 result = sV1 * -0x6789abce + 1 + (sV0 * 0x13579bde >> 4); sV0 = sV1; sV1 = result; return result; } const JASystem::TOscillator::Osc_ JASystem::Player::sAdsrDef = { 0, 1.0f, NULL, NULL, 1.0f, 0.0f }; const JASystem::TOscillator::Osc_ JASystem::Player::sEnvelopeDef = { 0, 1.0f, NULL, sRelTable, 1.0f, 0.0f }; const JASystem::TOscillator::Osc_ JASystem::Player::sVibratoDef = { 1, 0.5f, sVibTable, sVibTable, 0.0f, 1.0f }; const JASystem::TOscillator::Osc_ JASystem::Player::sTremoroDef = { 0, 0.5f, sTreTable, sTreTable, 0.0f, 1.0f }; s16 JASystem::Player::CUTOFF_TO_IIR_TABLE[] = { 0x0F5C, 0x0A3D, 0x4665, 0x3999, 0x103F, 0x0A28, 0x45D7, 0x3925, 0x1122, 0x0A14, 0x454A, 0x38B0, 0x1205, 0x09FF, 0x44BC, 0x383C, 0x12E8, 0x09EA, 0x442E, 0x37C8, 0x13CB, 0x09D6, 0x43A0, 0x3754, 0x14AE, 0x09C1, 0x4312, 0x36E0, 0x1591, 0x09AC, 0x4284, 0x366C, 0x1674, 0x0998, 0x41F6, 0x35F8, 0x1757, 0x0983, 0x4168, 0x3584, 0x183A, 0x096E, 0x40DA, 0x3510, 0x191D, 0x095A, 0x404C, 0x349C, 0x1A00, 0x0945, 0x3FBE, 0x3427, 0x1AE3, 0x0931, 0x3F31, 0x33B3, 0x1BC6, 0x091C, 0x3EA3, 0x333F, 0x1CA9, 0x0907, 0x3E15, 0x32CB, 0x1D8C, 0x08F3, 0x3D87, 0x3257, 0x1E6F, 0x08DE, 0x3CF9, 0x31E3, 0x1F52, 0x08C9, 0x3C6B, 0x316F, 0x2035, 0x08B5, 0x3BDD, 0x30FB, 0x2118, 0x08A0, 0x3B4F, 0x3087, 0x21FC, 0x088B, 0x3AC1, 0x3012, 0x22DF, 0x0877, 0x3A33, 0x2F9E, 0x23C2, 0x0862, 0x39A6, 0x2F2A, 0x24A5, 0x084D, 0x3918, 0x2EB6, 0x2588, 0x0839, 0x388A, 0x2E42, 0x266B, 0x0824, 0x37FC, 0x2DCE, 0x274E, 0x0810, 0x376E, 0x2D5A, 0x2831, 0x07FB, 0x36E0, 0x2CE6, 0x2914, 0x07E6, 0x3652, 0x2C72, 0x29F7, 0x07D2, 0x35C4, 0x2BFE, 0x2ADA, 0x07BD, 0x3536, 0x2B89, 0x2BBD, 0x07A8, 0x34A8, 0x2B15, 0x2CA0, 0x0794, 0x341B, 0x2AA1, 0x2D83, 0x077F, 0x338D, 0x2A2D, 0x2E66, 0x076A, 0x32FF, 0x29B9, 0x2F49, 0x0756, 0x3271, 0x2945, 0x302C, 0x0741, 0x31E3, 0x28D1, 0x310F, 0x072D, 0x3155, 0x285D, 0x31F2, 0x0718, 0x30C7, 0x27E9, 0x32D5, 0x0703, 0x3039, 0x2775, 0x33B8, 0x06EF, 0x2FAB, 0x2700, 0x349C, 0x06DA, 0x2F1D, 0x268C, 0x357F, 0x06C5, 0x2E8F, 0x2618, 0x3662, 0x06B1, 0x2E02, 0x25A4, 0x3745, 0x069C, 0x2D74, 0x2530, 0x3828, 0x0687, 0x2CE6, 0x24BC, 0x390B, 0x0673, 0x2C58, 0x2448, 0x39EE, 0x065E, 0x2BCA, 0x23D4, 0x3AD1, 0x0649, 0x2B3C, 0x2360, 0x3BB4, 0x0635, 0x2AAE, 0x22EB, 0x3C97, 0x0620, 0x2A20, 0x2277, 0x3D7A, 0x060C, 0x2992, 0x2203, 0x3E5D, 0x05F7, 0x2904, 0x218F, 0x3F40, 0x05E2, 0x2877, 0x211B, 0x4023, 0x05CE, 0x27E9, 0x20A7, 0x4106, 0x05B9, 0x275B, 0x2033, 0x41E9, 0x05A4, 0x26CD, 0x1FBF, 0x42CC, 0x0590, 0x263F, 0x1F4B, 0x43AF, 0x057B, 0x25B1, 0x1ED7, 0x4492, 0x0566, 0x2523, 0x1E62, 0x4575, 0x0552, 0x2495, 0x1DEE, 0x4658, 0x053D, 0x2407, 0x1D7A, 0x473B, 0x0529, 0x2379, 0x1D06, 0x481F, 0x0514, 0x22EB, 0x1C92, 0x4902, 0x04FF, 0x225E, 0x1C1E, 0x49E5, 0x04EB, 0x21D0, 0x1BAA, 0x4AC8, 0x04D6, 0x2142, 0x1B36, 0x4BAB, 0x04C1, 0x20B4, 0x1AC2, 0x4C8E, 0x04AD, 0x2026, 0x1A4E, 0x4D71, 0x0498, 0x1F98, 0x19D9, 0x4E54, 0x0483, 0x1F0A, 0x1965, 0x4F37, 0x046F, 0x1E7C, 0x18F1, 0x501A, 0x045A, 0x1DEE, 0x187D, 0x50FD, 0x0445, 0x1D60, 0x1809, 0x51E0, 0x0431, 0x1CD3, 0x1795, 0x52C3, 0x041C, 0x1C45, 0x1721, 0x53A6, 0x0408, 0x1BB7, 0x16AD, 0x5489, 0x03F3, 0x1B29, 0x1639, 0x556C, 0x03DE, 0x1A9B, 0x15C4, 0x564F, 0x03CA, 0x1A0D, 0x1550, 0x5732, 0x03B5, 0x197F, 0x14DC, 0x5815, 0x03A0, 0x18F1, 0x1468, 0x58F8, 0x038C, 0x1863, 0x13F4, 0x59DB, 0x0377, 0x17D5, 0x1380, 0x5ABF, 0x0362, 0x1747, 0x130C, 0x5BA2, 0x034E, 0x16BA, 0x1298, 0x5C85, 0x0339, 0x162C, 0x1224, 0x5D68, 0x0324, 0x159E, 0x11B0, 0x5E4B, 0x0310, 0x1510, 0x113B, 0x5F2E, 0x02FB, 0x1482, 0x10C7, 0x6011, 0x02E7, 0x13F4, 0x1053, 0x60F4, 0x02D2, 0x1366, 0x0FDF, 0x61D7, 0x02BD, 0x12D8, 0x0F6B, 0x62BA, 0x02A9, 0x124A, 0x0EF7, 0x639D, 0x0294, 0x11BC, 0x0E83, 0x6480, 0x027F, 0x112F, 0x0E0F, 0x6563, 0x026B, 0x10A1, 0x0D9B, 0x6646, 0x0256, 0x1013, 0x0D27, 0x6729, 0x0241, 0x0F85, 0x0CB2, 0x680C, 0x022D, 0x0EF7, 0x0C3E, 0x68EF, 0x0218, 0x0E69, 0x0BCA, 0x69D2, 0x0204, 0x0DDB, 0x0B56, 0x6AB5, 0x01EF, 0x0D4D, 0x0AE2, 0x6B98, 0x01DA, 0x0CBF, 0x0A6E, 0x6C7B, 0x01C6, 0x0C31, 0x09FA, 0x6D5F, 0x01B1, 0x0BA3, 0x0986, 0x6E42, 0x019C, 0x0B16, 0x0912, 0x6F25, 0x0188, 0x0A88, 0x089D, 0x7008, 0x0173, 0x09FA, 0x0829, 0x70EB, 0x015E, 0x096C, 0x07B5, 0x71CE, 0x014A, 0x08DE, 0x0741, 0x72B1, 0x0135, 0x0850, 0x06CD, 0x7394, 0x0120, 0x07C2, 0x0659, 0x7477, 0x010C, 0x0734, 0x05E5, 0x755A, 0x00F7, 0x06A6, 0x0571, 0x763D, 0x00E3, 0x0618, 0x04FD, 0x7720, 0x00CE, 0x058B, 0x0489, 0x7803, 0x00B9, 0x04FD, 0x0414, 0x78E6, 0x00A5, 0x046F, 0x03A0, 0x79C9, 0x0090, 0x03E1, 0x032C, 0x7AAC, 0x007B, 0x0353, 0x02B8, 0x7B8F, 0x0067, 0x02C5, 0x0244, 0x7C72, 0x0052, 0x0237, 0x01D0, 0x7D55, 0x003D, 0x01A9, 0x015C, 0x7E38, 0x0029, 0x011B, 0x00E8, 0x7F1B, 0x0014, 0x008D, 0x0074, 0x7FFF, 0x0000, 0x0000, 0x0000, }; s16 JASystem::Player::sAdsTable[] = { 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000, 0x000E, 0x0000, 0x0000, }; s16 JASystem::Player::sRelTable[] = { 0, 10, 0, 15, 1, 0 }; s16 JASystem::Player::sVibTable[] = { 0, 0, 0, 0, 12, 0x7FFF, 0, 12, 0, 0, 12, 0xC000, 0, 12, 0, 13, 0, 1 }; s16 JASystem::Player::sTreTable[] = { 0, 0, 0x7FFF, 0, 20, 0, 0, 20, 0x8001, 0, 20, 0, 0, 20, 0x7FFF, 13, 0, 1 };