Lots of things to bring it up to speed with the Lua dubs system.
To note:
- The `voice` cvars have been replaced with commands that are more robust
in scope. These commands accept multiple arguments:
- 1 arg (`voice` alone): Displays your current voice
- 2 args (`voice <vox_name>`): Sets your voice to the provided voice,
given it exists.
- 3 args (`voice <skin_name> <vox_name>`): Sets your voice
(given you're playing as the skin) and logs a preference.
- `voice --help`: Explains everything above
- A preferenecs system now exists, which is loaded in on-boot and saved
when quitting:
- When you swap skins, the game checks an unordered map of preferences,
indexed by skin name. If the skin you're changing to both exists in
your preference list, and has your preferred voice loaded in the
server, a notice will appear and you'll automatically use your
preferred voice.
- `listvoiceprefs` now exists, displaying voice preferences for the
given splitscreen player. If no additional args are provided,
it defaults to Player 1's first page of preferences.
- `voicepref_auto` now exists for all splitscreen players to
automatically assign preferences when you change your voice away
from the default. The default voice is not logged by `voicepref_auto`;
you have to do that manually. This cvar is toggled On by default.
- Voice settings and preferences are now saved to a `blanpreferences.cfg`
file, which is unique for each local player; each local player has their
own preference file.
It was technically possible for custom clients to spoil future rounds of a tournament queued while they are connected to a server.
Making it a PT direct packet to the servernode both solves this problem AND reduces irrelevant NetXCmd traffic for clients.
- Full valid format: queuemap [name/num] -gametype [name] -encore -force
- Server is fully authoriative about the order of maps in the round-queue
- Server sends XD_MAPQUEUE (which contains gametype, encore, and ordering)
- Admin clients have to send XD_REQMAPQUEUE (which contains gametype, encore, and mapnum)
- Servers spit out a processed XD_MAPQUEUE on reciept
- Done this way just in case an XD_MAPQUEUE is not recieved and has to be resent, guarantees ordering
- Will create a UI for this post-launch, this is primarily for testing but may be useful for user-ran tournaments
- It's what the people want, why bother to complain?
- Alt is now its own separate item titled the S-Monitor
- Several variables, macros, functions, and comments have been renamed to fit this change
also restore some of the heavy drop feel tuning when heavy-only is used (it should still be fun 🥹)
to keep light and heavy in balance we unfortunately need to sack the feel-tuning in fusion so it should stay like it is in d738ad595 there
as an additional measure hi-power heavy drop is now much shorter in fusion
A much more focused replacement for Hornmod, specc'd out by Tyron and Oni working together and implemented by the author of this commit because it's pretty funny.
- Followers have `hornsound` in their SOC configuration.
- The default sound for all followers without a provided one is sfx_horn00.
- They'll play this sound if you use lookback with one following you, and there's nearby players to get the player looking all the way around.
- Only the players who are successfully considered for lookback will hear it.
- Has a v1-like visual with less randomisation, but still netsynced.
- Also controlled by the cvar `taunthorns`, which, like `tauntvoices`, takes "Tasteful" (default), "Meme", and "Off".
TODO: make the condition for horn a little delayed, so you have to hold lookback for a little bit.
On maps with tripwires these are great for shortcuts not so much with offroad only setups. Lets try to level the playing field.
Oh and also lets add rumble support for flame and bubble boosts since it feels nice.
Uses an unordered-map system so we don't loop through every item constantly
Opting for trying to fit everyone on the screen; 320x200 users can deal with it
Scrolling is not yet implemented, and this system isn't netsynched yet
* Toggleable QoL option for Alt. Shrink
* While using Alt. Shrink, at or above a speed threshold (currently 175% the statblock's cruising speed), ignore most things that would damage you
* Rewards breakaways and incentivizes going fast
* Graphics are placeholder