- When a nextmapoverride is in play, do not insert the just-played map into the GP Rank
- Put all the behaviour that determines which Round icon to show in exactly one places
Also, fix a bug where it would show the skin realname for a spectating player's tally instead of the ROUND text.
- 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).
* Rework HU_UpdatePatch to HU_UpdateOrBlankPatch with a "required" boolean.
* If desired graphic is not present in resources:
* If required is true, return `missingpat`.
* If false, return NULL as before (font compatibility).
* Add an alias with the previous function signature, so you don't need to add a million `true`s everywhere.
* Remove a ton of irrelevant graphics the game attempts to cache only because of code inherited from vanilla SRB2.
* Remove the unused hudinfo system, also inherited from vanilla SRB2.
* None of the following things (grouped by the fact they fade/slide in) use hardcoded static numbers; they'e now attached to the titlecard ticker.
* Minimap.
* All V_HUDTRANS items. (Not add/sub) - this was previously broken entirely
* FREE PLAY
* Record Attack Input (no longer slides in at all - needs to be visible from start of play.)
* Fixed a rare case where V_SLIDEIN HUD elements would occasionally jump a step too far.
* Fixed a bug where you'd see :nick: on the current character selection screen if you didn't have many skins loaded.
* Fixed a bug where character skins loaded in PK3s would attempt to load every single lump of the PK3, even if it wasn't in the same subfolder as the original S_SKIN, as a sprite into the player struct. Could stand to be ported to vanilla.
Requires new chars.kart, which was created using the help of the indev 2.2-based Kartmaker update which will be available shortly.
Also:
* SPR2_XTRA - instead of defining lumpnames in S_SKIN, those kinds of assets can just be bundled into the spriteset. Required for ending cutscene stuff, I guess, but also done for HUD life icon and character select image (aside from Sonic&Tails, still SOC'd in).
* Minor oversights in SPR2 support corrected.
* Better evaluation, featuring ending assets.
* Intro has warping-in blackrock, reusing ending assets.
* Cutscene text now supports lowercase (intro and custom).
* Disable the asset-fucking "gamma correction" I put in over two years ago when implementing colour cube. (This is the only thing I could move into another branch if you MUST, but it's basically invisble in the diff so w/e.)
* Don't blank the screen if the top left pixel of a screen-covering patch is transparent. (Checked via nonzero topdelta for first column)
Bugs:
* OPENGL ONLY: The first ~20 frames of both endings are fucked. A little help here? Might be HWR_DrawFadeFill's fault, which I just created. OR it could be in f_finale, but I doubt it, since it doesn't appear in Software.
* Do that thing where the character icons are ALWAYS 1x sized, through having two seperate lumps.
* Revamp the S_SKIN parameters to be `facerank` (rankings - equivalent of half-scale old face), `facewant` (WANTED - equivalent of old face), and `facemmap` (equivalent of old iconprefix).
* Do that thing Oni wanted where it shows two postions above and two positions below your current ranking (and you) to the left of the screen, instead of always the top 4, with some limits to avoid drawing outside of everything.
* Replace the last few shitty Mario numbers (for the left rankings) with cool, new Oni numbers.
* Change a bunch of offsets and things so the tab rankings and the intermission work nicer with 9+ players.
* Remove FUNCMATH from all void-returning functions, given GCC80 specifically complains about this case.
* Extend the length of all extant buffers to the safety threshold recommended by the compiler.
* Add void casts to WS_getaddrinfo's setting to prevent complaints about incompatible typecasts.
* Extend the charsel, face, and superface buffer sizes and writes to include the null terminator. (I didn't really want to do this because it's not even particularily NEEDED, but there was literally zero way to get around the request that I could find with multiple online searches. I tried.)
* https://cdn.discordapp.com/attachments/400761370800422922/456833651645349888/srb20051.gif
* Fix some wipe bugs.
* Solved that thing where there was no fade between two back-to-back cutscenes.
* Fixed there being no effective wipe between the end of the vanilla intro cutscene and the title screen.
* Smoothed out the behaviour of titlemap fades to prevent conflicts.
* [COMPLETELY UNRELATED] Kill the pause graphic and replace with a blue box with text in it, like what happens when the window loses focus. Much harder to miss.