All gamestates besides GS_LEVEL are unsupported by the save game functions. This commit forces players joining during these gamestates into GS_WAITINGPLAYERS, which is a basic gamestate that just maintains the connection until we can enter the start of a new one. Also provides an extremely simple drawer for GS_WAITINGPLAYERS so the joining player knows what's going on.
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.
* Draw background over titlemap
* HIDEBACKGROUND to show titlemap
* Specify NOMUSIC or IGNOREMUSIC (to not change music)
* Linedef execs implemented for tree hierarchy, including bubbling (NOENTERBUBBLE/NOEXITBUBBLE)
* Specify ENTERWIPE and EXITWIPE
* Menuid hierarchy fixes (Control mapping, joystick setup)
* Time attack handling fixes
* Specify custom wipes on runtime for D_Display and P_SetupLevel (for titlemap)
* Allow for forcing and skipping a wipe
* Wipe utility functions F_GetWipeLength and F_WipeExists
* M_SkyScroll optimization with still speeds; refactor background drawing
* Music (in time attack screens so far)
* FadeStrength
* HideTitlePics
* Scrolling backgrounds in Time Attack (moved F_SkyScroll to m_menu)