Turns out, for all this time, I never enabled FreeType's
mono-hinting.
Now, the English font looks pretty good. I can't say the same for the
Japanese one though - that one looks identical. I guess Noto doesn't
come with hinting data? FreeType's auto-hinter just makes it look
worse...
This will make it easier to integrate into the enhanced branch, and
also improved audio quality slightly (samples are mixed as 16-bit
instead of 8-bit).
The mixer itself is integer-only, but the millibel stuff is still
float-based (I don't know if it's worth adding a 10001-value-long
lookup table to replace it).
Anyway, according to a quick test, this new mixer is significantly
faster than the old floating-point one - rarely going above 100
clock() ticks per callback, with the old one almost always running
above that.
For now, only the SDL2 backend supports it - I'll add the others in
upcoming commits.
This will no-doubt cause problems with the enhanced (lite) branch,
where clownaudio always outputs float samples.
This commit changes which variables are static: the Mac (and
presumably the Linux) debug data tells you what variables are static,
by prefixing their names with double_underscores.
The variable names themselves also hint at this: global variables are
prefixed with 'g', and use upper-camelcase, while static variables
use whatever_you_call_this.
After asking around, people really seem to prefer Xbox-style
controllers. Admittedly, when I was playtesting with Nintendo
controls, I wound up using my fingers to press A/B because of how
awkward it was.
Prevents a crash on the Wii U port in 1280x720 when you try to open
the pause menu. There's a giant delay now instead, and I'm not sure
where it comes from. Still, it's an improvement.