Commit graph

662 commits

Author SHA1 Message Date
Freaky Mutant Man
f18022e9c8 Display whether Frantic Items is on alongside Gear speed on pause menu. 2025-10-06 15:54:22 -05:00
Freaky Mutant Man
89df4da48c Disable character select cursor flashing when reducevfx is on. 2025-10-06 15:47:27 -05:00
Eidolon
0dc337c9a5 Fix lots of code for clang-cl compatibility 2025-09-17 17:24:32 -05:00
Antonio Martinez
1e9f3e67cc Add Mayflash 6bt profile 2025-09-16 18:47:15 -04:00
toaster
ca4b58a023 Item toggle menu: Show "(next)" for frantic items, since it changes on map reload 2025-09-14 22:33:24 +01:00
Eidolon
d702a61845 Fix voice indicator position in server list
Fixes https://gitlab.com/kart-krew-dev/ring-racers/-/issues/47
2025-09-13 13:52:26 -05:00
toaster
f951509e5f Add input UI for M_DrawLevelSelect (resolves #1572) 2025-08-30 23:07:26 +01:00
toaster
3b40b80dc4 Draw Round Queue UI under menu foreground (resolves #1570) 2025-08-30 22:18:39 +01:00
toaster
cf65205ec4 Fix "LOST & FOUND" header for only one L&F map available being a de-cupped Sealed Star 2025-08-28 21:26:58 +01:00
toaster
daf32c5eab Use "tiny timer" font if you have >=1000 wins on a Profile 2025-08-28 16:46:42 +01:00
toaster
69241774f8 M_DrawPause: Adjust names of Tutorial Mode gamecontrol hints
- No more "Respawn" - shows "Bail / Burst" instead
- Added spaces to "Spin Dash" and "Item / Rings" for consistency
2025-08-28 15:48:31 +01:00
Eidolon
985b33361c Merge remote-tracking branch 'public/master' 2025-08-27 18:40:26 -05:00
Oni
82e63d36c3 Merge branch 'photosensitivity' into 'master'
Color profile sub-menu in Video Options

See merge request KartKrew/RingRacers!61
2025-08-27 23:03:09 +00:00
toaster
c3131f697e Tutorial Recommendation hints for GP cup select
One new parameter on cupheader_t that can only be set in mainwads
If specified hint condition has been achieved, identifies from the actual unlock condition what Tutorial it should surface in a popup.
Funny question mark
2025-08-27 23:33:11 +01:00
toaster
2bd83082e4 Fix incorrect count on Add-Ons menu 2025-08-25 21:11:58 +01:00
Eidolon
7febf53ec0 Merge public master 2025-08-23 11:34:18 -05:00
Eidolon
2d9700e23f Fix Spring E. Thing's skincolor name change for dynamic skins 2025-08-23 11:00:28 -05:00
Spring E. Thing
fc5a3f2dc3 Racer Setup - Improved 'skincolor' Selection Information 2025-08-23 11:00:14 -05:00
Oni VelocitOni
3f7ae9dd23 Merge branch 'skinlimit' into 'master'
Increase skin limit to 1024

See merge request kart-krew-dev/ring-racers-internal!2743
2025-08-23 05:03:58 +00:00
Eidolon
a4ae01e170 Merge public master 2025-08-22 18:43:32 -05:00
FreakyMutantMan
9cd9f68ef0 Remove cup select emerald flashing if reducevfx is enabled. (Changing setting requires menu reload to take effect.) 2025-08-22 18:14:02 -05:00
toaster
be3c0faf7e More gracefully amend Splits/Attackstart data on ghost load rather than splits load 2025-08-21 18:25:03 +01:00
Oni VelocitOni
bd753a9b59 Merge branch 'more-item-toggles' into 'master'
Add Stone Shoe and Toxomister to Item Toggles

Closes #1611

See merge request kart-krew-dev/ring-racers-internal!2739
2025-08-20 09:30:54 +00:00
toaster
66b7bf649a Revamp Item Toggles screen again
There was confusion in testing so I took it as a challenge to improve the menu further.
- Put `Toggle All` on `<c>` instead of an Item slot
- Put `Frantic Mode` on `<r>` since it's in the changelog but not surfaced in any menus right now
- No gaps (RIP free real estate)
2025-08-19 15:29:59 +01:00
toaster
ca48b5092b Add Stone Shoe and Toxomister to Item Toggles
Resolves #1611
2025-08-18 21:38:51 +01:00
toaster
2f6d7230f0 Dumb post alert: Ease off the horn
If we're bringing the spice we have to bring the whole pepper
2025-08-17 13:06:02 +01:00
toaster
2618232260 Challenge Grid tile border colours
Something subtle and tasteful to break up the solid field of white without turning it into Windows 8 Desktop Dayglo
2025-08-15 21:01:56 +01:00
toaster
cba9292960 Extract K_DrawGameControl calls from M_DrawChallengePreview
Done to fix weird layering issues with Challenge hint text
2025-08-15 17:53:01 +01:00
toaster
fb2224e9b1 Allow pressing <a> again while a follower is on your Profile (or you have a local party and can't make any profile edits from here) to play horn... with goofy bonus text from the only obvious source 2025-08-15 13:20:09 +01:00
toaster
a7f119328e Challenge Preview for SECRET_ALTMUSIC: Consistency
- Since we're only using 50% of rollangle steps at 35fps, we can smooth it out under interp conditions like the flipping tile
- Don't grey out the text/stop the button animation for the input prompt, since pressing it again will stop the music, whereas grey text on Drivers/Followers/Colors means no function
- Keep the tile flipping even when not hovered over
2025-08-15 13:20:09 +01:00
toaster
d98b88a61f M_DrawChallengeTile: The non-category size of SECRET_MAP will now show a "map face", ala Map Anger/menu Round Queue 2025-08-15 13:20:09 +01:00
toaster
ee76f539e9 M_DrawChallengeTile: Fix brief flickers of invalid side caused by interpolation 2025-08-15 13:20:09 +01:00
toaster
bc75a1702e Extra polish to SECRET_ALTMUSIC on Challenges menu
If playing a given altmusic unlock...
- If selected, spin the disc
- If not selected, constantly flip the relevant tile on the board
- Either way, flash the relevant pixel in the scroll bar
2025-08-15 13:20:08 +01:00
toaster
4fcdb3c5fe Challenges menu QoL: <a> to set Driver and Follower
Also adjusts coordinates of other Challenges UI previews with control inputs to match
2025-08-15 13:20:08 +01:00
toaster
7b6b26fe30 Add skincolor Profile set Qol too 2025-08-15 13:20:08 +01:00
toaster
9074eaf3c8 Add the ability to play Tutorial courses from the Challenges menu
- Only works in parties of 1
- Currently intentionally disabled for other types of Match Race, as they tend to have too many options and I don't want to risk infinite menu loops
2025-08-15 13:20:08 +01:00
toaster
7c7bfe6054 Adjust how major and minor challenges affect percieved challenge completion
- The Chao Medal in the top right corner will be completely filled if you've unlocked everything, even if that was via skips
    - You basically never saw the silver Chao Medal. Major challenges *are* designed to be skipped if you don't want to, only 101% should be gruelling (complementary)
- The Scroll Bar at the top will darken pixels of complete columns ever so slightly even if minor challenges aren't yet achieved, to make it easier to find conditions to go back and fulfil if you're truly hunting for everything
2025-08-15 13:20:08 +01:00
toaster
1c6ca63933 K_DrawGameControl: Use _FONT enums instead of fragile laundered magic numbers
Fixes the Genesis font breaking all Menu font'd control visuals
2025-08-13 18:05:23 +01:00
Eidolon
892a6b8620 Merge public master 2025-08-12 16:49:14 -05:00
Eidolon
255570cfca Dynamically allocate skins
This avoids an issue where the skins array takes up a fixed, but large
amount of memory at runtime. On x86_64 linux, that array is roughly 80
megabytes in memory, most of which is unused when the game is unmodded.
Instead, we treat `skins` as a dynamically resizing array, and it is an
array-of-pointers into separate allocated `skin_t`.

This is based on Lactozilla's skin limit MR for SRB2, but I've rewritten
it because RR has diverged quite a bit.

This was verified to check every access of `skins` by using clangd's
find-all-references function. However, I have only tested plain skins,
not Lua addons, so that could afford some extra checking.
2025-08-12 15:33:00 -05:00
Oni VelocitOni
53c0f60a11 Merge branch 'gamedata-pokes' into 'master'
Gamedata pokes

Closes #1509

See merge request kart-krew-dev/ring-racers-internal!2582
2025-06-04 01:12:39 +00:00
toaster
830cfe76da Round Queue UI on Level Select
- Only works in Match Race and Online level selects
- Shows in-progress state on Pause and Cup Grid, but no direct influence available on those screens
- Z to queue current highlighted map
    - Pending until you press A, then sent to server
    - When done online, tries to send one at a time to avoid overloading connection
- C to clear
    - Removes one from pending first
    - If you're out of pending maps, prompts whether you want to clear server's queue
2025-06-01 00:25:20 +01:00
toaster
09e23e6e18 Rip out all the rewinding code
It was all messy and none of it is called in release builds because it was so crashy in testing
2025-06-01 00:02:19 +01:00
toaster
b4bb4db12b skinref_t: Don't dereference out-of-range
- Misjudged the boundary conditions as `numskins == MAXSKINS` is valid
- Internal version of public MR !113, credit Alu Folie for bringing attention to the area of error
2025-05-26 21:31:00 +01:00
toaster
ecb4ffeeca Add bonus pickups in conditions you couldn't grab Spray Cans before
- If you've gotten every Spray Can, or you're on a custom course...
- Only one of these spawns per map
- Correctly save and load these
- Statistics menu counts base-game bonuses
- If there are gaps in the list, or new Spray Cans are added later, these base-game bonuses are converted into the new Spray Cans
- New graphics required so far:
    - SBONA0 to SBONP0 - 16-frame prerendered circling sprite animation
    - GOTBON - 8x8 representation of the SBON object
2025-05-20 20:27:06 +01:00
toaster
3f9c0685eb Move cache_spraycan on the mapheader_t struct to recorddata_t
Still in that struct, just in a more appropriate container
2025-05-20 20:18:11 +01:00
Antonio Martinez
cacf470f6f 2.4 TA refinements mkII 2025-05-12 17:18:14 -04:00
toaster
a831fc3592 Adjust shade of no-Can dot to avoid matching any 2x2 region on the existing sprite 2025-02-22 23:28:08 +00:00
toaster
5fad786b8f Second pass at representing stacked information
Lots of internal discussion on my last approach, so here's a cleaner alternative
- No more offset with two complex flickering graphics on top of each other
- Instead, "less common" secondary info is represented by a coloured dot overlaid on the primary icon
    - Red for SPB Attack, Turquoise for Mystic Melody
- Only show Spray Can/Mystic Melody for Race-compatible courses
- Show courses where you haven't picked up a Spray Can with a dot
2025-02-22 22:32:15 +00:00
toaster
89afe780df Cup Select preview: Draw Spray Can (+ Ancient Shrine) list in Match Race
Expansion of previously implemented UI for Time Attack, but for showing gotten cans/shrines only.

Also:
- Halved flicker rate for SPB attack medals
- Made invalid cups not display Lost & Found's associated medals OR cans/shrines
2025-02-20 22:32:22 +00:00