Commit graph

734 commits

Author SHA1 Message Date
toaster
aed507baf4 Do not set restorelevellist on Challenges Menu tutorial warps
Resolves #1649
2025-09-06 19:21:35 +01:00
Oni VelocitOni
9675aaf40f Merge branch 'rqdx-menu-fix' into 'master'
Roundqueue DX Menu UI fixes

Closes #1570, #1572, and #1647

See merge request kart-krew-dev/ring-racers-internal!2786
2025-09-01 01:32:55 +00:00
toaster
515188e472 Forbid queue UI in Tutorial Mode
Doesn't even properly work with the way levels are ended there anyways
2025-08-30 23:00:25 +01:00
Antonio Martinez
4eaf58cec4 Also allow Addon Options Load... when client+admin 2025-08-29 16:07:45 -04:00
Antonio Martinez
f04ac2efcf Fix Addon Options being unavailable as a netgame client 2025-08-29 16:05:09 -04:00
toaster
72d9728c93 Eggman's Way should never be a netgame 2025-08-28 20:51:22 +01:00
toaster
026831d9c8 Statistics Map screen: If Sealed Stars have been visited but you haven't unlocked Special Mode, show them under Lost & Found instead of revealing the true cup order early 2025-08-28 15:48:31 +01:00
AJ Martinez
adf4085f84 Merge branch 'games-to-speak' into 'master'
Apply gamestochat restrictions to voice

See merge request kart-krew-dev/ring-racers-internal!2777
2025-08-28 03:24:34 +00:00
Antonio Martinez
1d2ec19c6e Voice menu fixups, apply tempmutes to guest/spectator 2025-08-27 21:55:46 -04: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
Antonio Martinez
d67bba9255 Fix SPB Attack and Class R attack replays 2025-08-25 15:53:11 -04:00
toaster
0da140e37f Safety cap on M_GetFollowerState 2025-08-22 12:48:44 +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
Oni VelocitOni
5dc2957c1e Merge branch 'encouraging-splits' into 'master'
Add split modes: "Off", "Next", "Leader"

See merge request kart-krew-dev/ring-racers-internal!2740
2025-08-20 09:16:20 +00:00
Oni VelocitOni
f8f4d6cfd6 Merge branch 'challenges-bonnus' into 'master'
Challenges Bonnus

See merge request kart-krew-dev/ring-racers-internal!2738
2025-08-19 19:39:29 +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
Eidolon
6d6acbae28 Merge public master 2025-08-18 19:43:36 -05:00
Antonio Martinez
8583613578 Add split modes: "Off", "Next", "Leader" 2025-08-18 20:43:29 -04:00
Eidolon
88ee8e1f7f Merge branch 'profile-fix' into 'master'
Profile fix #358

Closes #358

See merge request KartKrew/RingRacers!119
2025-08-19 00:14:11 +00:00
toaster
ca48b5092b Add Stone Shoe and Toxomister to Item Toggles
Resolves #1611
2025-08-18 21:38:51 +01:00
toaster
7568acd592 Don't do any further stuff if going to Tutorial course 2025-08-18 11:10:32 +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
9bd213ac78 Bugfixing for interactions between Profile charsel and Challenge Board
- Editing the current profile for a player will update their Driver so map command and Challenge Driver have proper comparison available
- Re-order M_CharacterSelectInit so driver/follower info is available/valid when M_SetupProfileGridPos is called
2025-08-15 20:10:03 +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
2e0c8fab33 Force a Challenge tile flip if you activate the effect of a given Challenge (profile set and alt title)
Racers and Followers will also play their unique sound too
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
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
248541833a extras-challenges: Clean up open and close
- Dedicated function for cleaning up Challenges Menu memory
- Adjust the required function slate to open Challenges menu without malformed data
    - Permits it to be used with restoreMenu, where it would silently infinitely loop before
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
VelocitOni
94197b13e1 "These may sometimes be needed for progression"
(Tutorial unlock message drops hint that some may block cups, in-case challenge board is unfortunately configured for the file)
2025-08-13 15:40:36 +01:00
toaster
b97e8a581e Challenges: Add "New Tutorial Data" popup alongside map unlock
Doesn't appear for Playground as it's explicitly not part of Tails' Way
2025-08-13 15:38:52 +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
VelocitOni
62e14fb2a3 Change some menu wording
"finish a perfect round" specifies above Gear 1, and Intense GP mentions top half instead of "4th" (because this changes in co-op)
2025-08-03 01:22:35 -04:00
Oni VelocitOni
e7917b2f05 Merge branch 'change-public-server-wording' into 'master'
Advertising a Server & Voice Chat Menu Rewording

See merge request kart-krew-dev/ring-racers-internal!2705
2025-07-25 04:52:14 +00:00
VelocitOni
d3e4f91824 More reversals to fix
More reverals fixed, forgot wording on blurb
2025-07-24 23:19:03 -04:00
VelocitOni
29d1dcef2d "Deafen" and "Server Voice Chat" now have new variables
cv_voice_chat -> cv_voice_selfdeafen & cv_voice_servermute -> cv_voice_allowservervoice
2025-07-24 22:54:43 -04:00
VelocitOni
51ac6c250b "Undeafen" (still cv_voice_chat for now), flipped all bools
Flipped all bools on Undeafen since it's worded different
2025-07-24 22:37:51 -04:00
VelocitOni
2c98eefa8d Another bit of renaming, and now is in mirrors into Server Options
Flipped the On/Off switch on Server Voice Chat & Deafen, put the server VC options in Server Options too
2025-07-24 22:02:07 -04:00
VelocitOni
aa0667bac3 Put Server VC options in Server options
Made a copy of Server VC Options and put it in the Server Options menu
2025-07-24 21:52:42 -04:00
VelocitOni
62e19778a0 Renamed "All Voice Chat" to "Undeafen & Unmute"
Even less confusion, All Voice Chat -> Undeafen & Unmute, moved Self-Mute to the top right above it.
2025-07-24 21:12:26 -04:00
VelocitOni
079d00ab15 Voice Chat menu for normies
Changed a bit of wording around to stop in-dev confusion, closer to Discord for player facing variables. Didn't change any of the actual true variable names at all.
2025-07-24 20:10:40 -04:00
VelocitOni
797a776ca4 Server Options "Advertising..." Rewording
"Advertising..." -> "Broadcast..."; "Advertise" -> "Make Public"
2025-07-24 20:09:40 -04:00
VelocitOni
c3482ee779 Base Online Menu "Advertise" Rewording
"Advertise" --> "Public"
2025-07-24 20:08:44 -04:00