Moves WordWrap to the font/V_GetFontSpecification system.
Much healthier long-term for our purposes, including the possibility of changing fonts for various contexts freely.
Reduces quantity of copypasted code between V_StringWidthScaled and V_DrawStringScaled to far more manageable "this is an inner loop and cannot be abstracted" levels.
Guarantees consistency in handling across existing and future functions.
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.
Adds the additional font. This requires a little cleanup before we can use it as the primary menu font, but worth at least putting this in the relevant places for later.
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.
Simple inversion on the face of things, but with a long tail of consequences, including 19 changed files.
Forced uppercase has been applied in a handful of locations where it was aesthetically imperative. Most menus will follow in another commit, so that that may be reverted if we change the default menu font.
Content of commit was originally written by Sal, but as a monolithic commit. The author of this commit is chunking it up for easier review.
- V_CharacterValid
- Makes checks for valid character drawing consistent and cleaner
- If a case isn't being forced, characters that can have case applied but don't exist will attempt to draw their other case.
- V_DrawCharacterScaled
- Saner core function that doesn't overload the character provided
- Previous terrible is supported for now via backwards-compatible shim function
It will be safe to call many of these functions in Vulkan even if a
context is active, but the contents of buffers and textures will be
considered undefined until updated.