Commit graph

70 commits

Author SHA1 Message Date
Freaky Mutant Man
6d344ad118 Implement score-to-EXP scaling for Battle and Duel Race when Mobiums are not enabled. 2025-10-26 18:00:03 -05:00
Superstarxalien
6182b83518 Fix replacement bot in last place keeping negative points from previous bot 2025-10-15 21:36:12 -05:00
Ashnal
0da0cf4909 last place can get points now 2025-10-06 18:16:03 -04:00
Eidolon
c11ee99a53 Merge branch 'no-voice-ind-scores' into 'master'
Don't draw voice indicators on score unless voice is enabled on server

See merge request kart-krew-dev/ring-racers-internal!2872
2025-09-17 20:08:11 -05:00
Eidolon
21786610d7 Don't draw voice indicators on score unless voice is enabled on server 2025-09-17 19:51:12 -05:00
Eidolon
0dc337c9a5 Fix lots of code for clang-cl compatibility 2025-09-17 17:24:32 -05:00
Antonio Martinez
c7e07576f8 Higher Sealed Star entry reqs for first entry 2025-09-14 21:48:31 -04:00
Antonio Martinez
3e08ff9968 Make EXP rankings do something in teamplay 2025-09-12 01:32:26 -04:00
toaster
9449321944 Oni's suggestion for fixing EXP/Mobiums on Roundqueue Intermission (resolves #1647) 2025-08-30 23:32:13 +01:00
Antonio Martinez
8a87f0ed7d Apply gamestochat restrictions to voice 2025-08-27 20:38:45 -04:00
toaster
be3c0faf7e More gracefully amend Splits/Attackstart data on ghost load rather than splits load 2025-08-21 18:25:03 +01:00
Antonio Martinez
7b39fc4b7e "Staffsync" command to test staff ghost playback 2025-08-19 18:52:13 -04: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
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
Antonio Martinez
015e2f0930 TA: Prevent reset during tally if time is a new best 2025-08-07 21:59:42 -04:00
toaster
5da7e1612e Don't show "position" in GT_TUTORIAL tab rankings, as everybody's in 1st place all the time 2025-08-01 23:38:11 +01:00
Antonio Martinez
331110e6cf Use rank percentage for Sealed Star entry, not grade 2025-06-21 02:22:50 -04:00
Eidolon
fe1afa33c5 Don't show voice indicators on score panel outside netgames 2025-06-10 18:34:16 -05:00
Oni VelocitOni
338b0e893b Merge branch 'teams-juice' into 'master'
Teams juice

See merge request kart-krew-dev/ring-racers-internal!2601
2025-06-04 02:22:40 +00:00
Antonio Martinez
2190b5ebfe Teamplay intermission fixup TWO 2025-06-01 19:21:48 -04:00
Antonio Martinez
b8a4d21ba5 Intermission teamscore fixup 2025-06-01 18:28:32 -04:00
Antonio Martinez
adff23f106 Teams juice 2025-06-01 05:52:28 -04: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
Antonio Martinez
9dfdacb7c5 Always update match stats even in PWRLV_DISABLED 2025-05-27 15:00:32 -04:00
Oni VelocitOni
1cdf381aba Merge branch 'more-exp-stuff' into 'master'
Exp Improvements

See merge request kart-krew-dev/ring-racers-internal!2577
2025-05-26 02:22:24 +00:00
Ashnal
6e49378bc8 Fix botched tally rate increase 2025-05-25 18:30:40 -04:00
Ashnal
0cdd4d1b07 Increase intermission tally speed 2025-05-25 17:13:28 -04:00
AJ Martinez
4b00703856 Merge remote-tracking branch 'origin/master' into duel 2025-05-25 15:38:38 -04:00
Lach
a434e760c5 Add rank mode label to intermission tally screens (EXP/MOBIUMS) 2025-05-25 16:28:31 +10:00
Antonio Martinez
28f12acab1 Merge remote-tracking branch 'origin/master' into duel 2025-05-24 16:34:36 -04:00
Ashnal
50fd04bdb1 small hud performance improvement
now that we have spots on the player struct for both gradingfactor and exp, store exp in the exp field after adjusting gradingfactor, and just reference it instead of recalculating every time
2025-05-18 14:30:46 -04:00
Ashnal
5a42c99d0a Rname stuff better 2025-05-18 14:30:45 -04:00
Ashnal
bf6a5babfb Reworks changes to K_CalculateGPRankPoints to account for the 125+10 max for points
and untramples the implementation
fixes gp results screen totals

I really need to refactor lappoints to be named exppoints or something later
2025-05-18 14:30:45 -04:00
Ashnal
8242cb89f0 Replace GP points with exp
update GP results screen lap patches with exp patches
2025-05-18 14:30:45 -04:00
Eidolon
bd7646346b Use new containers and json 2025-03-16 18:45:11 -05:00
Eidolon
e4fc3cc5c2 Fix conditionals on rendermode to allow for more modes 2025-03-12 21:50:37 -05:00
Eidolon
cb7f437e60 Merge public master 2025-02-13 15:48:11 -06:00
Eidolon
a4d304a1f5 Update copyright years to 2025 2025-02-13 15:32:26 -06:00
Eidolon
22b20b5877 Add netgame voice chat
Implemented using libopus for the Opus codec, same as is used in Discord.
This adds the following cvars:

- `voice_chat` On/Off, triggers self-deafen state on server via weaponprefs
- `voice_mode` Activity/PTT
- `voice_selfmute` On/Off, triggers self-mute state on server via weaponprefs
- `voice_inputamp` -30 to 30, scales input by value in decibels
- `voice_activationthreshold` -30 to 0, if any peak in a frame is higher, activates voice
- `voice_loopback` On/Off, plays back local transcoded voice
- `voice_proximity` On/Off, enables proximity effects for server
- `voice_distanceattenuation_distance` distance in fracunits to scale voice volume over
- `voice_distanceattenuation_factor` distance in logarithmic factor to scale voice volume by distance to. e.g. 0.5 for "half as loud" at or above max distance
- `voice_stereopanning_factor` at 1.0, player voices are panned to left or right speaker, scaling to no effect at 0.0
- `voice_concurrentattenuation_factor` the logarithmic factor to attenuate player voices with concurrent speakers
- `voice_concurrentattenuation_min` the minimum concurrent speakers before global concurrent speaker attenuation
- `voice_concurrentattenuation_max` the maximum concurrent speakers for full global concurrent speaker attenuation
- `voice_servermute` whether voice chat is enabled on this server. visible from MS via bitflag
- `voicevolume` local volume of all voice playback

A Voice Options menu is added with a subset of these options, and Server Options has server mute.
2024-12-13 17:12:14 -06:00
Oni
71588f490f Merge branch 'queue-skin' into 'master'
Queued skin/color changes

See merge request KartKrew/Kart!2452
2024-09-28 17:46:42 +00:00
Antonio Martinez
81d6ac9f6e FUCK A DRAWBUTTON 2024-09-27 03:28:39 -07:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Sally Coolatta
141a37c48a Duel voting
Instead of voting for the level you want and the pick is decided by RNG ... now you take turns picking the maps you *don't* want, and the last one remaining gets picked. The previous loser gets to strike two stages and goes first, while the previous winner only gets to strike one.

Very incomplete visuals, very janky.
2024-09-03 20:08:04 -04:00
Sally Coolatta
b43d62367f Nametag stuff
- Enable item spy in all modes
- Add CPU tags
- New CPU indicator for tab screen
2024-08-23 01:51:52 -04:00
Eidolon
f75564371d Merge public master 2024-05-03 12:55:15 -05:00
bitten2up
cfacbd91be Fix implicit casts of int expecting 4-byte width
This fixes the issue with certain compilers that have int set to
different sizes by either explicitly casting or setting templates
manually
2024-05-03 17:53:53 +00:00
James R
8103bd21c1 HUD: fix delay indicator online
- As a bonus, the mindelay setting of other players is now
  visible to everyone
2024-04-27 15:44:43 -07:00
toaster
86b9d1a7c2 Widescreen support for Y_IntermissionButton 2024-04-10 00:51:09 +01:00
toaster
d7f4cd2d8f Copyright update for Viv Grannell specifically (the author of this commit) 2024-04-02 17:38:18 +01:00