Commit graph

22897 commits

Author SHA1 Message Date
toaster
174b58c043 Pixel perfect progression bar filling
- Final line now ALSO uses ClipRect
- Reduce existing overreliance on ClipRect. A little overdraw is fine to prevent gaps
2023-05-10 14:42:59 +01:00
toaster
d0daa09637 Interpolation of the Player Pin when moving to new round
- Known hack: A one-frame offset if R_UsingFrameInterpolation() returns true
    - This permits the Sealed Star rank progression bar fill to reach the end.
    - It also allows us to match possible sound cue events between interp and non-interp frames.
2023-05-10 14:42:59 +01:00
toaster
cc4dbe48cf Adjust timing of player pin hop impact 2023-05-10 14:42:58 +01:00
toaster
db5734b64d On second thoughts, do not make the one-round roundqueue start in the upward position
This is so the two-round roundqueue condition where the second round is a Sealed Star will not give the game away early, or be discontinuous
2023-05-10 14:42:58 +01:00
toaster
b4a1b7daf3 Fix horizontal page scroll for cases where player results are centered 2023-05-10 14:42:58 +01:00
toaster
f42192f21d data.mainplayer
Instead of using whiteplayer (which isn't handled in splitscreen)
- Get the highest-ranked non-spectator player who's local (or display if demo.playback)
- Show an alternate arrow (currently not in assets) if
    - no player was found
    - OR the player becomes a spectator
    - OR has otherwise invalid properties
- Use SKINCOLOR_WHITE (and its invcolor) for associated colormaps in this case
2023-05-10 14:42:58 +01:00
toaster
9788df79e7 Hide song credit in artificial fade on menu-caused playsim start
Technically unrelated but it was annoying me, and since I modified songcredit here I can attach it as a second bullet point
2023-05-10 14:42:58 +01:00
toaster
d7e0df8bd8 Change y coordinate of Song Credit on intermission screen to be along bottom 2023-05-10 14:42:58 +01:00
toaster
0c63b76364 Funny little parabola for player pin on progression bar when progressing to new round 2023-05-10 14:42:57 +01:00
toaster
5a20a4756f Judder on incomplete fill for rank-based progression to Sealed Star
- Cleaner handling of player arrow position through addition rather than overwrite
- Cleaner inputs to FixedDiv
2023-05-10 14:42:57 +01:00
toaster
9fca550ab6 Line meter fill animation for grade at the end of the race rounds in GP
TODO:
- Interpolation
- Sounds
2023-05-10 14:42:57 +01:00
toaster
6aea8859fe G_MapIntoRoundQueue: Fix infinite loop if Cup has more bonus stages than regular stages 2023-05-10 14:42:57 +01:00
toaster
9352b3ef07 Make the one-round case of the roundqueue more visually interesting 2023-05-10 14:42:57 +01:00
toaster
679e901e5f Fix not having a background ramp upwards when the first entry in the round queue is on the "upper level" of the zigzag 2023-05-10 14:42:57 +01:00
toaster
b63246ccaf Fix erroneous case if there wasn't a special stage in the cup but gamedata->everseenspecial was true 2023-05-10 14:42:57 +01:00
toaster
1ed022d697 K_CeremonyDrawer: Adjust "EMERALD" option in case we don't come back to this later
- Show as "???" if you've never been in a Special round before
- Show as "PRIZE" if the cup doesn't use an Emerald
2023-05-10 14:42:56 +01:00
toaster
4cb639307c Roundqueue rank-restricted entry special case visual
- Show if you've ever visited a Special Stage
- Show if you're on the final non-Special Stage cup round and you're on pace to enter
- A horizontal line to the Prize option, which has its own unique bump around it.
    - Frustratingly has to be done inside the loop, due to overlap and order of operation issues.
2023-05-10 14:42:56 +01:00
toaster
a333b265b4 Clean up material that is no longer necessary to keep around 2023-05-10 14:42:56 +01:00
toaster
0d9f8076f8 Re-add Auto gamespeed scramble text (temporary height) 2023-05-10 14:42:56 +01:00
toaster
f4f52ede32 New consistent between-round countdowns using SmallNums
- Intermission
    - Unlike before, shows in all contexts, not just netgame/netreplay
- Voting
    - Replaces currently extant counter
2023-05-10 14:42:56 +01:00
toaster
84a2a94b28 Reimplement bottom progression bar
- 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
2023-05-10 14:42:56 +01:00
toaster
208f7d3b81 Improve header text handling
- 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"
2023-05-10 14:42:55 +01:00
toaster
4ffb5f2e10 Improvements to background handling
- 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)
2023-05-10 14:42:55 +01:00
toaster
2ca9f1aee5 Rename and rearrange the difficult-to-interpret patch variable names for the GP bottom progression visual
`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
2023-05-10 14:42:55 +01:00
toaster
aa925be7c5 Reimplement player result data
- 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
2023-05-10 14:42:55 +01:00
toaster
06c4a898e2 First steps at reimplementing functionality
- 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
2023-05-10 14:42:55 +01:00
toaster
ae7830b9ab Compilation fixes
- grandprixinfo.roundnum --> roundqueue.roundnum
- comment out unused patch
2023-05-10 14:42:54 +01:00
wolfy852
7712074b29 Make line colors reflect progress 2023-05-10 14:42:54 +01:00
wolfy852
465369f383 Logic for progress display markers 2023-05-10 14:42:54 +01:00
wolfy852
b20c16f3fd Draw remaining assets, GP restriction 2023-05-10 14:42:54 +01:00
James R
582b76f168 Intermission: fix marquee scroll 2023-05-10 14:42:54 +01:00
wolfy852
aa94bdb7cc Fix scroll directions 2023-05-10 14:42:54 +01:00
wolfy852
f8c1a0f758 WIP: Marquee & Checker scrolling
Bad numbers. Scroll is happening, just not the way we want it to.
2023-05-10 14:42:53 +01:00
wolfy852
ddd8f84648 Use a more descriptive var name 2023-05-10 14:42:53 +01:00
wolfy852
b1524a8c7f intermission skincolor + demolition of sanity 2023-05-10 14:42:53 +01:00
wolfy852
e7d46c3c0a V_MODULATE -> V_SUBTRACT 2023-05-10 14:42:53 +01:00
wolfy852
2496502b31 Draw marquee, checker, and player icon 2023-05-10 14:42:53 +01:00
wolfy852
1167105ba2 V_DrawFixedPatch -> V_DrawMappedPatch 2023-05-10 14:42:53 +01:00
wolfy852
f53e0398d5 lines 2023-05-10 14:42:52 +01:00
wolfy852
3070c2037b New intermission base
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.
2023-05-10 14:42:52 +01:00
wolfy852
1e2c3b8657 Dummy out old intermission code, draw level icon as background 2023-05-10 14:42:52 +01:00
Oni
5c5157bce5 Merge branch 'finish-jingles-tidy' into 'master'
Finish Jingles Tidy

See merge request KartKrew/Kart!1217
2023-05-10 06:42:54 +00:00
Sal
920f58fd18 Merge branch 'fix-block-players' into 'master'
Fix Block Players for waypoint detection

Closes #546

See merge request KartKrew/Kart!1228
2023-05-07 18:54:45 +00:00
Sally Coolatta
0ec5c4346b Fix Block Players for waypoint detection 2023-05-07 14:34:03 -04:00
toaster
965dc114aa Merge branch 'round-queue-automate' into 'master'
Round Queue Automate

See merge request KartKrew/Kart!1222
2023-05-07 14:14:34 +00:00
Sal
83a637bc11 Merge branch 'slow-duel-bomb' into 'master'
Slow down duel bombs

See merge request KartKrew/Kart!1227
2023-05-07 01:41:08 +00:00
Sal
b907880295 Merge branch 'centered-skies' into 'master'
Line up the center of skies with horizon line

See merge request KartKrew/Kart!1225
2023-05-07 01:39:24 +00:00
Sally Coolatta
865347544c Slow down duel bombs
They are a bit too fast.
2023-05-06 17:34:03 -04:00
Sally Coolatta
f017f4626f Line up the center of skies with horizon line 2023-05-06 02:19:26 -04:00
VelocitOni
64e091414b Default cam_height increase
75 --> 95  |  Tyron, Sal, and Oni want to test higher cam_height for readability (may drastically help flat maps).
2023-05-06 02:07:20 -04:00