- Properly call D_SaveBan after remote bans. Bans are no longer saved in the ban command and instead wait for the actual kick to process, since before they were split between the two, which is what caused the discrepancy.
# Conflicts:
# src/d_clisrv.c
# src/i_tcp.c
The intent is to stop servers from needing to dedicate their limited name/MOTD space to things like advertising `lessbattlevotes`, and to avoid "punishing" a server in visibility for allowing temporary gametype switches. However, this is possibly a controversial change, so I'm doing it in its own commit in case there's a clear consensus to revert.
* A "canon" adaptation of the community-created server option `lessbattlevotes`.
* If set to "None", voting behaves as before.
* If set to "Race" or "Battle". that gametype is considered the preference.
* The voting screen is always operated from the perspective of the preferred gametype.
* If you're in an un-preferred gametype, the third vote option will always allow you to continue the gametype.
* If the preferred gametype is Race and you've just exited a Battle map, Encore may now appear on the second vote option.
* A number of bugs with voting have been corrected.
* If `kartencore` is on, the third vote option will now correctly have Encore applied.
* If a custom EXE or malformed packet sends an Encore flag alongside a Battle gametype ID, actively strip it.
* Just to note, clients do not enter Battle Encore with or without this change - this just prevents a promise the rest of the game couldn't fulfill.
2.2 Backports - add ceil slope double step-up/down and fix sprite/models all black in sector with light level of 256
See merge request KartKrew/Kart-Public!274
Makes the displayed FPS more accurate to what it's actually displaying.
Also removed HUDTRANS from it -- stop it fading out during level transitions, it's annoying when I actually want to see the FPS during those bits.
Was done this way for the sake of an older version of uncapped's timing; now that the new timing is much better, I decided it should remain as close to pre-uncapped as it can be.
Advertise_OnChange is CV_NETVAR, so the server will get registered by CV_LoadNetVars when the server starts.
This race condition occasionally pops up in master, but got very consistent with uncapped.