- Actually accomodates variable-length cups/roundqueues
- Uses player skin and color for position indicator instead of iterating through results
TODO: Make the Sealed Star entry a special case
- Text on the header
- If they won, show [skin realname] GOT THROUGH ROUND
- This branch was showing this previously but inexplicably only had the skin realname when in GP
- If they retired, show NO CONTEST...
- Else, show spectator non-participation text
- if GT_VERSUS, show Boss name
- if battleprisons, "PRISON BREAK"
- else, "[gametype name] STAGE"
- Matches S1/S2 "SPECIAL STAGE" non-completion text
- Scrolls with the page
- Second page text always reads "TOTAL RANKINGS"
- Don't draw Lua HUD hook behind the background
- Flip background in Encore mode
- Only animate scrolling elements when not paused or P_AutoPause
- Don't clobber the (TC_DEFAULT, SKINCOLOR_YELLOW) cache, instead use (TC_RAINBOW, SKINCOLOR_INTERMISSION) directly
- Clearer variable name for background colormap (color to bgcolor)
`rrmrk1` is now `level_dot[BPP_DONE]`, for example.
BPP is short for "Bottom Progression Patch"
This is a necessary prerequisite to making the roundqueue visuals dynamic, but that is not yet the case
- A series of bars with stuff on them.
- Player position num
- Player character + color (via minimap icon)
- Uses MINIDEAD if a bot NO CONTESTs
- Player name (Aqua text instead of white if you're the main player)
- Player TIME/SCORE/RANK/PWR depending on context
- NO CONTEST now reads "RETIRED."
- More economical use of more limited space
- Gives failure a slightly different flavor to the previous entry in the series
- Re-implements the slide when switching from TIME/SCORE to RANK/PWR
- These are automatically spaced in varying degrees to try and use as much or as little space as possible, given the bars are fixed width.
- 1 to 3 players: Center-aligned column of result bars
- 4 to 6 players: Two columns of result bars, 1 extra pixel of vertical spacing
- 7 to 10 players: Two columns of result bars
- 11 to 16 players: Two columns of result bars, 1 less pixel of vertical spacing
TODO:
- "LAGLESS" host name-and-shame, which the revamped screen was not designed around
- Adjusting position of other entries on the screen to accomodate higher quantities of players
- Adjust spacing of other graphics on the screen to prevent overlap
- Re-add demo save HUD
- Re-add skip for drawing 3D scene required since Twodee
- Re-add Lua-controlled HUD disabling
- Cleanup for 0 instead of NULL in pointer field of patch drawer macros
- Cleanup for more extra tabs than the browser session of someone with ADHD
Very incomplete. Currently draws the background and most of the necessary patches. Ignore some of the stupid shit I did here, it'll be cleaned up later.
- Can be used to clear all entries in the round queue
- Stores the special state in the gametype field
- Returns a message if the queue is already empty
- "QueueStart"
- Activates just before RoundStart, but only if a roundqueue is being started
- "QueueEnd"
- Activates just before IntermissionStart, but only if the roundqueue has just finished its final map
I chose before in both instances because Automate_Run runs off COM_BufAddText, and I don't completely trust that the buffer won't overflow for particularly complicated server commands, so prioritising the rarer event. However, this is open for discussion