- V_HUDTRANS does not fade if combined with V_SLIDEIN
(since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
splitscreen players (since Tally will fade back out for
specific players).
- V_TitleCardStringWidth no longer has the special case
for punctuation, moved to this function instead.
- Handles both leading and trailing punctuation, and even
spaces.
toaster-assisted, thank-you-toaster
- The function is back to producing zone-allocated memory copies, like its precursor V_WordWrap
- The author of this commit got rid of that dependency originally because it seemed like a fair part of the API, and meant static buffers could be used in certain circumstances, but it was necessary to revert for the following change.
- Newlines can now be inserted mid-word, treating the width provided as ironclad except in the case of single characters wider than the region.
- This will be necessary for future work with the in-game chat.
- Reserves 8 characters at first, then Z_Reallocs double that every time it runs out.
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.
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
- Drawn over the top of basically everything when enabled.
- Update song credit on
- Menu music update (can sometimes clear it)
- Intermission begin
- Vote begin
- Return to title (by clearing it)
Instead of the absolute insanity that is V_DrawCroppedPatch, which makes you specify the number of pixels to crop off the top/left and then the number of pixels to show after the crop ... you just use V_SetClipRect to create a rectangle for any future draws to be cropped down to, and V_ClearClipRect afterwards to clear it.
Currently only supported by V_DrawStretchyFixedPatch. Ideally other drawing functions should also receive clipping rectangle support too.
All typedefs for structs that were present in other header
files have been moved to here. (Except node_t because the
renderer and netcode both define node_t LOL.)
Fixes PNG patch conversion crashing when called from vres
at game startup.
Also does not reload palette every time the resolution is
changed. (This had no effect on the SDL backend, don't
worry.)
* Blend tables generated by the game.
* The Color Cube accessibility tool.
* Fixed another stupid typo that got in the way of FF_BLENDMASK working.
* Some minor adjustments for code cleanliness.
All my work thus far on solving the drawflag/renderflag/additive/subtractive conundrum.
Outstandng problems:
* Bad additive/subtractive tables means that they appear opaque except under certain conditions.
* No support for FOFs, Polyobjects, or linedefs in OpenGL yet.
* All OpenGL support mostly done blind, may or may not function in practice.
If nothing else, the hard engineering problems are solved and it's just bug hammering...