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.
- New array of pointers to structures in memory (currently mixing static for base-game and Callocated for custom)
- Centralises a metric-ton of previously seperately handled properties into one struct
- Gametype_Names[]
- Gametype_ConstantNames[]
- gametypetol[]
- timelimits[]
- pointlimits[]
- gametypedefaultrules[]
- gametypecolor[] - Nep: This one was blan exclusive but I added it regardless.
- Don't attempt to guess custom gametype in Replay Hut (requires more work to make custom gametypes behave across the entire experience)
- I_Error if invalid gametype set
- gametyperules is deprecated since it will never be modified seperately from gametype (temporarily a #define, don't wanna bloat this commit too much)