Vanilla's ramping table sounds absolutely horrendous, most noticeably when it comes to slow volume fade-ins/outs. By default, precision has been increased by 4x vanilla US, which overall has an insignificant impact on performance. This is still half as precise as EU's volume ramping table, that's about the point where additional memory and performance aspects are impacted more significantly.
This allows sounds to start instantly without any fade-in. Using new soundbanks with delay values of 0 will not compile with base decomp, but old decomp-compliant soundbanks will work with this commit.
Refactored everything to be more memory efficient and execute fewer function calls than prior
Also accidentally discovered a significant bug with the audio modes always being forced to stereo so this is definitely 2.1 scope lmao
* Start samples at full velocity when using envelopes that start with a delay of 1
This can help eliminate sample artifacting that happens during a transition between a sudden fade-in into normal volume. It's not completely eliminated due to some processing weirdness, but it's a massive improvement.
* Fix vanilla issue causing misalignment when samples are initialized and played back with low attack values
NOW the artifacting is actually gone for real
* Improve artifacting bugfix
The first solution would've honestly been satisfactory, but this one seems to be slightly more accurate while actually removing code rather than adding it