Commit graph

664 commits

Author SHA1 Message Date
Antonio Martinez
84466de921 Minimum 80% XP in Frantic, remove Frantic poweritem buffs 2025-06-27 01:39:52 -04:00
Ashnal
f5aa2a701b Bail button
Transforms BT_RESPAWN into BT_BAIL
User bindings should migrate along with this
Respawn is now EBRAKE+BAIL
Respawn blocks LOOKBACK
Time Attack quick respawn is now VOTE
2025-06-23 18:07:59 -04:00
Antonio Martinez
4af7ab2555 Lower Duel HUD, global option to disable/enable Duel 2025-06-06 21:32:37 -04: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
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
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
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
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
AJ Martinez
4b00703856 Merge remote-tracking branch 'origin/master' into duel 2025-05-25 15:38:38 -04:00
VelocitOni
212603838d "use pwr.lv" into "use mobiums"
The only other case I can think of, I'd like to leave "PWR" on the master server
2025-05-25 04:48:48 -04:00
Antonio Martinez
3d39ab5225 more Duel 2025-05-24 21:19:33 -04: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
Antonio Martinez
0bb8684142 Merge remote-tracking branch 'origin/master' into ta24 2025-05-18 14:30:14 -04:00
Antonio Martinez
cacf470f6f 2.4 TA refinements mkII 2025-05-12 17:18:14 -04:00
AJ Martinez
90c28dc2d9 Spindash button, Strict Fastfall profile option 2025-05-05 20:36:00 -04:00
Eidolon
bd7646346b Use new containers and json 2025-03-16 18:45:11 -05:00
Eidolon
a2572f64df Update copyright years to 2025 2025-02-13 15:56:37 -06: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
1a8467fdaf Merge public master 2025-02-12 19:02:38 -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
NepDisk
a67bdb2ad0 Make i and j UINT16 to account for the fact MAXFOLLOWERS is 1024 2024-11-20 00:42:01 +00:00
Sal
8ff2e13c7d Merge branch 'dump-consistency-for-the-modern-age' into 'master'
DUMPCONSISTENCY for the modern age

See merge request KartKrew/Kart!2483
2024-10-25 17:48:21 +00:00
Sally Coolatta
6bf5662ca8 Delete resynchattempts
All values besides 0 and 1 have been unused for a while. Quite frankly, if the gamestate resend doesn't fix them, a rejoin won't either, so kicking them is just adding extra steps.
2024-10-22 02:57:05 -04:00
toaster
6578cf1b56 Rework the map command suite a little
The following funcs are now a suite with almost-identical argument lists.

- `map` is for immediately going to a map
    - Add `-random`/`-r`
- `queuemap` is for interacting with the live Round Queue
    - Add `-random`/`-r`
        - Performed server-side
    - `-clear` and `-show` now accept partial params `-c` and `-s`
    - Fix minor error with 0-argument print's text
- `showmap` is for printing information
    - Add arbitrary map name/ID input
        - `showmap robo` prints the course `map robo` would resolve to
    - Add `-gametype`/`-gt`/`-g`
        - For compatibility testing
    - Add `-random`/`-r`
        - Combine with `-gametype` for extra guarantees
- `randommap` was deprecated
    - Will only print replacement instructions of `map -random`, and nothing else
2024-10-11 13:46:36 +01: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
dfd15ca8a2 Real definitely final button unfuck TWO 2024-09-27 05:29:57 -07:00
Antonio Martinez
b1bd711d5e Really definitely final button literal unfuck 2024-09-27 05:29:47 -07:00
Antonio Martinez
555e4eaa4c Final raw button literal fixups?! 2024-09-27 04:44:59 -07:00
Antonio Martinez
7a9793f202 Fix profile control menu youfuckedups 2024-09-27 03:29:07 -07:00
Antonio Martinez
cad7273ff4 Controller type refactor 2024-09-27 03:28:40 -07:00
Antonio Martinez
80912b173c Descriptiveinput in profiles, various 6bt. modes 2024-09-27 03:28:40 -07:00
Antonio Martinez
598a91039b Change help text for descriptiveinput 2024-09-27 03:28:40 -07:00
Antonio Martinez
9eaf53b11f Misc menu fixups 2024-09-27 03:28:39 -07:00
Antonio Martinez
5563a06827 Lua ABC -> Lua 123, move dpad to generic to make room for lua gamecontrol translation 2024-09-27 03:28:39 -07:00
Antonio Martinez
81d6ac9f6e FUCK A DRAWBUTTON 2024-09-27 03:28:39 -07:00
Antonio Martinez
8c51bc235d "Use Button Names" option 2024-09-27 03:28:36 -07:00
toaster
b62892ba1c Reimplement midgame Pause Menu flow for Spectate status change
- Currently no console command, as "teamchange" no longer applies... relatively simple to add one if needed though
- Change the "Team Change" warning when allowteamchange is false to say "Joining Play"
2024-09-22 17:44:26 +01:00
Sal
653766010d FRIENDCODE (aka, Teamplay) 2024-09-17 01:41:26 +00:00
Craftyawesome
145fcc2344 Workaround for Egg TV replay deletion bugs 2024-08-29 01:19:02 -04:00
toaster
012bbc6a74 Refactor how Profile cvar toggles are set when applying changes
Reduces the number of unique places to update when adding new ones
2024-08-24 15:43:54 +01:00
toaster
d97db8f230 Do not reapply P1's Profile in full in edit menu flow
Prevents changing player skin/color cvar when backing out (resolves KartKrew/RingRacers#34)
2024-08-24 15:39:58 +01:00
toaster
3390cb5121 Move Challenges to second entry of Extras menu
Addons, Challenges, and Online Manual are the three primary visible entries now
2024-05-21 00:56:53 +01:00
Oni
93dae32e99 Merge branch 'manual-link' into 'master'
Add Online Manual and I_OpenURL stuff

See merge request KartKrew/Kart!2396
2024-05-20 21:20:19 +00:00
AJ Martinez
56a9a2044d Show Manual URL in messages, just in case 2024-05-18 21:29:18 -07:00
AJ Martinez
2679e0eae0 Add Online Manual and I_OpenURL stuff 2024-05-18 21:09:00 -07:00
katsy
348ad7c1f0 Remove leftover Record Attack lockout warnings 2024-05-07 12:15:10 -05:00