Commit graph

129 commits

Author SHA1 Message Date
Eidolon
9087914dca Update hashes 2025-10-21 19:55:49 -05:00
Gunla
b10b845a05 RC7 Asset Hashes 2025-10-22 00:51:54 +00:00
zander3312
3e1311473d Improved netgame chat input eating 2025-10-17 15:46:09 -05:00
Gunla
40968abdc3 2.4 RC6 Asset Hashes 2025-10-12 22:58:02 +00:00
Eidolon
8ed4c1c081 Don't show prerelease message when taking thumbnails 2025-10-06 16:11:59 -05:00
Gunla
511d9b083b 2.4 RC5 Hashes 2025-09-30 22:36:34 +00:00
Eidolon
0e46138a14 Fix ABI issue with skiprender 2025-09-28 00:00:21 -05:00
Antonio Martinez
5950298ac6 "skiprender" cvar (performance incerase when fuzzing) 2025-09-25 19:57:21 -04:00
Eidolon
b980eb4fee Update hashes for 2.4-rc4 2025-09-18 20:39:01 -05:00
Eidolon
bc9e6821d9 Update hashes for 2.4-rc3 2025-09-17 21:47:33 -05:00
Gunla
2eeda6ec10 Quickie staffghost 2025-09-17 04:02:48 +00:00
Gunla
d2f6041ea3 RC2 Asset Hashes 2025-09-17 02:59:22 +00:00
toaster
7152217faa Resolve ring-racers#64 2025-09-17 00:13:45 +01:00
Gunla
d62f199f39 Just one more maps change, so asset hashes updated again 2025-09-10 23:56:11 +00:00
Gunla
5d7a1c599f 2.4 RC1 Asset Hashes 2025-09-10 01:44:34 +00:00
toaster
2b2b20718f findfile aggressive optimisation: If srb2home and srb2path are the current working directory, don't search in them
srb2path will report "." while this optimisation is in play, but this can be disabled if necessary by modifying the small #if (1) in IdentifyVersion
2025-08-25 21:00:44 +01:00
toaster
48261ae4b5 filesearch: Add "Priority folder" string parameter
If non-NULL, filesearch will begin in that subfolder of the desired searchpath, but can go back up to the root of the search later if not found in that location.

Primarily a small optimisation for checking the addons folder first
2025-08-25 20:14:37 +01:00
toaster
4d6fe8f233 W_VerifyNMUSlumps: Clean up
- Bake W_VerifyFile in, since it was a stub never called anywhere else
- Make it operate off file handles, since the following locations quickly filesearch'd more than once in quick succession.
    - W_InitFile
    - Command_Addfile
- Remove spurious call from W_InitMultipleFiles for `-file` startup param
2025-08-25 19:51:48 +01:00
toaster
8bd29a1011 Threaded HTTP downloader
Composite of the work of:
- Hacinef (SRB2 repository, https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2322 )
- alufolie91 (SRB2Kart-Saturn repository, 84bfb3991e )
This advancement made possible by Indev in the KKD discord

Untested because I don't know how to set up a HTTP download server
2025-08-25 13:07:06 +01:00
Antonio Martinez
7b39fc4b7e "Staffsync" command to test staff ghost playback 2025-08-19 18:52:13 -04:00
AJ Martinez
e7e719b595 Merge branch 'jartha/fix-titledemo-freeze' into 'master'
Fix replay playback not processing ticcmds after a titledemo ends

Closes #1623

See merge request kart-krew-dev/ring-racers-internal!2732
2025-08-13 21:50:38 +00: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
9dc7453159 Toaster recs for demo hygiene 2025-08-12 04:40:04 -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
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
1c7b26639a D_CleanFile: Consistent signedness for int types 2025-05-18 15:36:46 +01:00
Eidolon
5c85a0a578 Add md5expected array to W_InitMultipleFiles 2025-04-08 09:34:23 -05:00
Eidolon
00cf5ff50f Constrain shader search to data/ and srb2path 2025-04-06 11:53:38 -05:00
Eidolon
014ea281b6 Remove shaders.pk3 from wad list 2025-03-16 15:39:32 -05:00
Eidolon
faa0fbd31f Add W_InitShaderLookup, W_ReadShader
This manages a lump list of shader lumps from a shaders.pk3, separate
from the loaded wadlist, so that shaders do not participate in the
wadlist system at all.
2025-03-16 15:39:32 -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
Eidolon
2c0642b3d1 Set audio volumes before entering main loop
Fixes an issue where the volumes would be at max before the first wipe
finishes. This is because S_UpdateSounds isn't called during wipes.
2024-10-26 15:46:12 -05:00
Ashnal
2b07b5aed1 Adds the data subdir to the path of all data iwads
Prevents W_OpenWadFile from falling back to findfile
2024-08-28 22:37:08 -04:00
Sally Coolatta
b3dcfa248a Merge remote-tracking branch 'public-new/master' 2024-08-28 18:11:53 -04:00
haya_underscore
1f7bee7484 Fix random desyncs with -file in addons with custom net cvars. 2024-08-28 22:09:08 +00:00
Sally Coolatta
6b87b586d2 "snapshotmaps" command
Takes two screenshots for a list of maps that have an "Alternate View Point" thing with tag 0 -- one intended for level select pictures and another for Discord Rich Presence. If no view point exists, the map is skipped.
2024-07-21 08:54:49 -04:00
Eidolon
de862f2b5e Update textures_originalzones hash 2024-05-20 23:17:58 -05:00
Eidolon
2945521deb Update textures_segazones hash 2024-05-20 23:16:40 -05:00
Eidolon
ef2f7d4e25 Fix shaders pk3 hash again 2024-05-19 17:42:28 -05:00
Eidolon
c36c876725 Update shaders.pk3 hash with indexing fixes 2024-05-19 17:26:23 -05:00
Eidolon
caec64192d Update hashes 2024-05-05 21:51:02 -05:00
Eidolon
f2d6010d90 Update asset hashes 2024-05-05 20:25:20 -05:00
toaster
2dab274e17 Update asset hashes 2024-05-06 00:48:30 +01:00
Eidolon
c7aa5051a5 Update asset hashes 2024-04-26 15:29:24 -05:00