Noto is massive, and draws too far down for some reason. Also, it
draws too big at 20x20 (the size needed to get MS Gothic to display
accurately). This new font has none of those problems.
Big thanks to joexyz for recommending this font.
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.
Since Nicalis reobtained the 'Cave Story' trademark back in April,
it looks like we're going to have to go the route of the Wine project
and change what the abbreviation is short for...
Can't Sue Everyone 2?
Clownacy Saga, Episode 2?
Code-Stealing Eyesore 2?
I realised GZDoom is a pretty poor comparison, since that thing goes
out of its way to add stuff like swimming, crouching, and jumping.
Boom specifically prioritised preserving the 'feel' of Doom, which I
think makes it much closer to CSE2E.