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.
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.
These particular patches need to be cached in
K_LoadKartHUDGraphics, but caching them anywhere else with a
different tag causes them to potentially be freed and then later
use-after-freed during a Sealed Star run, causing a crash. Instead,
let's cache them as PU_HUDGFX in all cases where they are used.
FixesKartKrew/Kart#1240
- All gametypes will be shown in the drawer, as opposed to just Race
- However, don't attempt to add the preview pic for CUPCACHE_SPECIAL (the Sealed Star)
You'll see the Platinum time to reach as a guiding star when Time Attacking the specific course, but with no accompanying empty medal icon.
Also
- fixes an x coordinate issue for higher medal quantity on the version that draws under the timestamp
- cache SECRET_ENCORE and SECRET_SPBATTACK availability in the statistics drawer too
Uninhibited voices/horns (see the "meme" setting in v1).
Removes the SECRET_MEMETAUNTS unlock, which didn't fit the general level of cohesion main game content should have.
- TehRealSalt and Lat` are currently preoccupied, so handle their credits
- Correct some accidential copypastes of existing boilerplate into new files
- Add a handful more of mine
- Consistency for Kaito Sinclaire's online handle
- Menu string for server count
- Thin string for server name
- Gear instead of difficulty (renamed to keep the old assets just in case online GP)
- Pwr fixes
- Handle -1 case as "No Pwr"
- Adjust draw coords a little
- Custom gametype support
- Shows name as net-communicated instead of Pwr
- Affects d_clisrv side a little bit too
- All custom gametypes MUST show up on the Modded room, no exceptions
- Cache gametype info instead of constant strcmp
Now performs unsigned portion of calculation including modulo, THEN multiplied by FRACUNIT
Variable names have been adjusted a little to make this clearer
- Instead of referring to conditionset id, the number you provide is unlockable id (as seen in unlocks.pk3, so plus one).
- This is preferable because multiple unlocks have the same conditionset.
- Show flashing highlight for the desired unlockable id on the scrollbar, too
- Different flash to unlock that hasn't been inspected yet