Commit graph

28677 commits

Author SHA1 Message Date
Antonio Martinez
93b62bf823 Low EXP reduces rubberbanding, fix minimum complexity modifier 2025-06-03 18:42:35 -04:00
AJ Martinez
8c463d47b9 Merge remote-tracking branch 'origin/master' into bot-grip 2025-06-03 13:02:10 -04:00
Antonio Martinez
55d63fb402 Allow complexity to drop a little lower 2025-06-03 13:02:04 -04:00
Antonio Martinez
0cb1f7bc41 Add back rubberband friction and speed friction 2025-06-03 13:00:47 -04:00
Antonio Martinez
926a95f117 Faster turn updates for bots going fast 2025-06-03 12:48:45 -04:00
jartha
4eb4f896ac Merge branch 'invinc-extra-tripwire-leniency' into 'master'
More tripwire leniency after invinc + fixed netgame crash caused by rocketsneaker boost type separation

See merge request kart-krew-dev/ring-racers-internal!2609
2025-06-03 01:02:24 +00:00
eebrozgi
7157d80d00 More tripwire leniency after invinc + fixed regression in rocketsneaker boost type separation
What it says on the tin.

Shoutouts to Ashnal for figuring out the regression before anyone got hit by it!
2025-06-03 01:58:12 +03:00
Oni VelocitOni
03d9430bb9 Merge branch 'replay-kms' into 'master'
demo improvements (why)

See merge request kart-krew-dev/ring-racers-internal!2598
2025-06-02 21:30:45 +00:00
Oni VelocitOni
5017cf1e52 Merge branch 'fix-overshield-stacking-from-boosts' into 'master'
Cap overshield stacking from sneaker boosts

Closes #1556

See merge request kart-krew-dev/ring-racers-internal!2607
2025-06-02 21:26:56 +00:00
eebrozgi
09dda82aff Cap overshield stacking from sneaker boosts
Previously the overshield you got from sneaker boosts could stack up to nonsensical amounts of overshield. This revises the behavior as follows:

- Sneakers give you 25 tics of overshield, but will never stack
- Rocket sneakers give you 1/2 second of overshield, but will never stack
- Sneaker panels extend your existing overshield for 1/3 seconds, but cap at 1 full second
2025-06-02 17:02:59 -04:00
Oni VelocitOni
c5366025c6 Merge branch 'relink-player' into 'master'
Relink player to kartitems

Closes #1537

See merge request kart-krew-dev/ring-racers-internal!2603
2025-06-02 20:48:48 +00:00
Oni VelocitOni
8373d6d97b Merge branch 'rocket-sneaker-boost-state' into 'master'
Rocket sneaker boost type separation from normal sneaker

See merge request kart-krew-dev/ring-racers-internal!2605
2025-06-02 20:48:06 +00:00
Oni VelocitOni
26bdc5d988 Merge branch 'top-sound' into 'master'
Fix tripwire sound riding garden top

See merge request kart-krew-dev/ring-racers-internal!2606
2025-06-02 20:47:38 +00:00
Antonio Martinez
5bd70c13bd Fix tripwire sound riding garden top 2025-06-02 13:56:47 -04:00
Antonio Martinez
60db6dac3e Expose sneaker typing stuff to Lua 2025-06-02 13:27:20 -04:00
eebrozgi
6c790348b3 Rocket sneaker boost type separated from normal sneaker
monkey copypaste
2025-06-02 20:17:46 +03:00
Antonio Martinez
e8140ae388 Relink player to kartitems 2025-06-02 12:02:58 -04:00
Oni VelocitOni
80c02ca6db Merge branch 'sneaker-and-invinc-buffs' into 'master'
Buff sneaker, invinc, and flameshield-burst

See merge request kart-krew-dev/ring-racers-internal!2600
2025-06-01 21:16:52 +00:00
Oni VelocitOni
c973e17e1b Merge branch 'ampscaling-fix' into 'master'
Ampscaling fixes

Closes #1554

See merge request kart-krew-dev/ring-racers-internal!2602
2025-06-01 21:16:31 +00:00
Ashnal
9893bf999c fix math 2025-06-01 14:26:30 -04:00
VelocitOni
a37114b6d2 Buff sneaker, invinc, and flameshield-burst
Sneaker (85% -> 100% boost buff), invinc at back (10secs -> 15secs), flameshield burst (50 -> 80 thrust)
2025-06-01 05:25:57 -04:00
Oni VelocitOni
9397e07541 Merge branch 'eid/explicit-mic-device' into 'master'
Turn on and off microphone explicitly

See merge request kart-krew-dev/ring-racers-internal!2595
2025-06-01 04:05:22 +00:00
Oni VelocitOni
e03c5c0927 Merge branch 'rqdx-menu' into 'replay-kms'
Round Queue UI & Menu-to-Level transition cleanup

See merge request kart-krew-dev/ring-racers-internal!2599
2025-06-01 04:05:14 +00:00
toaster
d9faf64463 Don't show the "start queue?" message outside of level play 2025-06-01 01:08:55 +01: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
5bfbfccdae M_LevelSelectInit: Catch potentially invalid skin dereference for Hivolt message, just in case 2025-06-01 00:05:45 +01:00
toaster
57cdb4fcb5 Time Attack respawn button: Specify hold behaviour
Now that TA wipes are their intended length, holding Respawn during Time Attack for more than a single frame repeatedly restarts the run. This is not ideal, and frankly wasteful of CPU. Here is the specified replacement for this case:
- Holding gc_respawn will hold on a black(/white) screen before mapload.
    - Allows for taking a conscious breather (or opportunity to curse) in the middle of long Time Attack sessions.
- Ticcmdbuilder will not interpret gc_respawn into BT_ constants in Time Attack contexts at all.
    - Fixes the occasionally visible E-Brake when coming out of this breather state.
2025-06-01 00:05:45 +01:00
toaster
71e1179030 M_MenuToLevelPreamble: Seriously clean up the process of starting a course from the menu
A lot of messy, copypasted boilerplate has been bundled together into a single function.
Programmers can now fire up a Match Race, the most basic type of gameplay, from menu code in only four steps (other modes take a little more attention):
- **M_MenuToLevelPreamble(UINT8 - splitscreen players #, boolean - false to extend wipe/true for short wipe)**
- set restoremenu
- D_MapChange(...)
- M_ClearMenus(...)
Includes the following fixes:
- Encore no longer has over-long wipes when started from menu, only standard-length
- "Boss Intro" and Encore start-of-round sounds will always play, even if no Title Card is drawn
- No long wipe when restarting a Time Attack run
- Auto Encore and Auto Gamespeed are no longer accidentially forced if you've manually changed them to Off and Gear 2 before starting netgame
2025-06-01 00:05:45 +01:00
toaster
860b888460 P_FreeLevelState
A chunk of P_LoadLevel, extracted.
Calling it in D_ClearState should clear up some of the straggling pointers that might cause Laz' reported issue.
With any luck, it should also significantly reduce the amount of memory the menu uses.
2025-06-01 00:02:19 +01:00
toaster
e4907227fc New simpler rewind code + re-enable in UI
- Built off g_fast_forward to utilise a lot of existing structure
- Only does steps of 5 seconds and therefore isn't precise, but that's better than having to rewatch/fastforward through the entire thing
- No single frame step back or general in-motion rewind preview, but that was all overkill
2025-06-01 00:02:19 +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
9e0510d674 Improve Demo end handing
- Demos/Ghosts that end before ticking once are now correctly ignored. (Resolves KartKrew/RingRacers#168)
    - There was code for discovering it on read! It was just placed slightly too early, probably due to the conversion for netreplays! I'm very mad!
- As a preventative measure, demos *recorded* before ticking will simply not save in the first place.
    - This was also a frustratingly easy fix for the amount of headache it's caused us.
- Reduced the amount of copypasted boilerplate by simplifying the places where DEMOMARKER can be written (and therefore read).
    - Previously, like half the write functions tried to guess their own output size and potentially end the demo at any point.
    - At best, this will grant us a few tics of reprireve for large netgames and MAYBE a handful of seconds for time attack, The Mode In Which The Aim Is To Go Fast.
    - Instead, double the size of the deadspace buffer extension and just check to see if we've crossed into that territory.
2025-06-01 00:02:19 +01:00
Oni VelocitOni
565733224f Merge branch 'whip-thief-pt1' into 'master'
Whip thief Pt 1

See merge request kart-krew-dev/ring-racers-internal!2597
2025-05-30 01:08:32 +00:00
Oni VelocitOni
341cd5682f Merge branch 'puyo-margin' into 'master'
Margin Boost UI psychosis

Closes #1543

See merge request kart-krew-dev/ring-racers-internal!2596
2025-05-30 00:34:24 +00:00
Eidolon
b9f80f902b Allow drop target to be picked up by whipping
and a bit of cleanup
2025-05-29 20:14:16 -04:00
Ashnal
cdc49d755b Update K_TryPickMeUp with allowHostile boolean 2025-05-29 20:14:16 -04:00
Ashnal
136cb20cb6 Whip collects items 2025-05-29 20:13:47 -04:00
Oni VelocitOni
a9e3472e21 Merge branch 'allied-item-screen-edge' into 'master'
Don't draw screen edge arrows for pickmeups

See merge request kart-krew-dev/ring-racers-internal!2593
2025-05-29 23:37:48 +00:00
Oni VelocitOni
f29e6f0327 Merge branch 'snap-message-drawer' into 'master'
Snap MessageFeed

See merge request kart-krew-dev/ring-racers-internal!2594
2025-05-29 23:37:25 +00:00
Antonio Martinez
9c07bd3ca8 Margin Boost UI psychosis 2025-05-29 19:11:32 -04:00
Eidolon
610599e7d1 Don't try to open microphone when sound is disabled 2025-05-29 15:32:50 -05:00
Eidolon
55a8a53077 Turn on and off microphone explicitly
On most devices these days, there is a mandatory microphone indicator
when an input device is being used. Moreover, on macOS and some Linux
distros, the user will be prompted to grant permission to the game for
microphone access. To ensure we're playing nicely with these
expectations, instead of just leaving the device on at all times on
first use, close and reopen the device as sound input is needed.
2025-05-29 15:21:14 -05:00
Antonio Martinez
0aa4c3f472 WIP - Puyo-like margin icon stacking 2025-05-29 13:47:58 -04:00
Antonio Martinez
4bcf0e2924 Snap MessageFeed 2025-05-29 11:57:44 -04:00
Oni VelocitOni
fdd093ef92 Merge branch 'early-items-again' into 'master'
Fix early items being incorrectly visible when race start doesn't spincam

Closes #1541

See merge request kart-krew-dev/ring-racers-internal!2592
2025-05-28 21:32:40 +00:00
Oni VelocitOni
dd26c3c488 Merge branch 'team-assignment' into 'master'
Save team assignments in demo (DEMO BREAKER)

Closes #1525

See merge request kart-krew-dev/ring-racers-internal!2591
2025-05-28 21:32:34 +00:00
Antonio Martinez
5d4dc6e297 Don't draw screen edge arrows for pickmeups 2025-05-28 17:20:05 -04:00
Antonio Martinez
e6de2e73d8 I'M TIRED OF YOU 2025-05-28 15:30:25 -04:00
Antonio Martinez
e75ffd0707 Save team assignments in demo (DEMO BREAKER) 2025-05-28 15:20:06 -04:00
AJ Martinez
1de1fec92e Merge branch 'flamescale' into 'master'
Scale flame shield to player when ticking

Closes #1522

See merge request kart-krew-dev/ring-racers-internal!2587
2025-05-28 04:11:03 +00:00