Commit graph

26 commits

Author SHA1 Message Date
Eidolon
bd7646346b Use new containers and json 2025-03-16 18:45:11 -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
Antonio Martinez
7161de29fd Migrate old profiles, set descriptiveinput Modern 2024-09-27 06:44:00 -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
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
Eidolon
53832edafc Move old data/profiles to .bak before writing
The hypothesis for this patch is that the operating system has not actually
finished writing the file to disk when moving the tmp file into place. The
move operation is atomic, but the write is not, even when flushed or using
unbuffered IO. So we reorder these operations, make the old save .bak
atomically and write the new save in place.

I doubt saving this backup will actually be useful given the frequency of
saves in the game, but at the very least it leaves _some_ backup in place in
the event of failure.
2024-05-19 12:03:12 -05:00
Ashnal
71cc9c0800 Auto-Ring Accessibility Option
Lacking animation at this commit
2024-05-05 01:18:22 -07:00
VelocitOni
1d596ac6a5 Changed == 2 to < 3
@jartha
· 25 minutes ago

Should be jsprof.version < 3 to upgrade 2.0 profiles too.
2024-05-04 00:55:02 -04:00
VelocitOni
544125bb99 Make it actually build
Oops, extra "." in version check and used comparison instead of "="
2024-05-03 20:43:24 -04:00
VelocitOni
020cb6c60b Turn Auto Roulette off in new versions
Turns off auto roulette in profiles from internal version 2 -> 3
2024-05-03 20:33:25 -04:00
Eidolon
0025e0fcfa Add random number to temp file names
Mitigates against multiple instances trying to write to the same
tmp file at the same time.
2024-04-30 14:25:58 -05:00
Eidolon
bc524cd0e9 Show exception message in profile saving 2024-04-30 14:25:58 -05:00
Eidolon
ed2036432b Use raw file IO instead of buffered when saving 2024-04-30 14:25:58 -05:00
Eidolon
723546a56b Add exception messages to data load I_Errors 2024-04-30 14:25:58 -05:00
James R
73a44ff255 FOV default is 100, profiles before version 2 are automatically updated 2024-04-25 16:45:01 -07:00
James R
020ca75cc9 Default chat binding is keyboard 't', old profiles (version 1) are converted
- Old profiles (version 1) have the chat key reset to
  default, unless the chat key was already bound to
  something else
2024-04-25 23:29:18 +00:00
James R
a3a1579875 Bump PROFILEVER, old profiles are converted and have Lite Steer turned off
- Prints a message in the log file

  Profile 'PRFA' was converted from version 1 to version 2
2024-04-25 01:45:25 -07:00
AJ Martinez
70b56bf973 Disable Lite Steer for new profiles by default 2024-04-24 23:28:56 -07:00
Eidolon
c22d6d75db Add several skin record stats, profile rounds 2024-04-06 11:25:31 -05:00
toaster
224deed01d More copyright updates
- 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
2024-04-02 22:14:49 +01:00
James R
df2e4f57fd Menus/Accessibility: add FOV option, 70 to 110
Adds FOV to profiles json
2024-03-04 22:11:35 -08:00
Eidolon
7b40b4c8c6 Rewrite ringprofiles format 2024-02-25 10:23:46 -06:00
Eidolon
cf84724fef k_profiles.c -> k_profiles.cpp 2024-02-25 09:55:48 -06:00
Renamed from src/k_profiles.c (Browse further)