Chat and other multiplayer quality of life improvements.
Most of the changes here come straight from SRB2Kart and the SRB2Chat EXE released on the forums, and I believe they'd be quite useful for the base game as well. So here's a list of all the relevant changes, as precise as I can make them.
- Chat is now entierely separate from the console, like SRB2Kart. Just like it, you can also toggle back the old chat mode if for whatever reason you prefered that. (because I know some weirdos out there do :P)
- About the above, be aware that the new chat modes do NOT function with resolutions under 640x400 as they use downscaled text for the sake of actually being practical.
- Some options for this new chat mode (width, height.....) were added to the GAME OPTIONS menu, under "CHAT OPTIONS..."
- Caps Lock now actually works and can be used for both console and chat. (reguardless of chat mode)
- It is now possible to move the cursor left and right in chat as well as pasting stuff inside of it. (reguardless of chat mode)
- Names in chat are now coloured after the players. This happens reguardless of chat mode.
- A select few messages such as players joining, leaving, getting kicked/banned or renaming are now printed in chat, and in yellow (reguardless of chat mode) as they can be relevant to ongoing discussions.
- Starting a message with "/pm" will allow you to sayto to the playernum of your choice. For instance, '/pm0 hi' will private message "hi" to player 0! A list containing all the avaiable players and their number will pop up from the moment you type "/pm"
- Spam protection: if a user sends too many messages in too little time, they get eaten away. In the case of a spam bind, you would only recieve the first 3. (Note that Lua can still access these messages for the sake of consistency)
- Speaking of Lua, 'chatprint' and 'chatprintf' have been added as functions. They behave like print and CONS_Printf, with an additional 'sound' (boolean) argument to determine whether or not they should make sound when sent.
- Moreover, the PlayerMsg hook can now take a new boolean argument returning true if the message was supposed to get eaten by spam protection. (Be mindful that this is entierely clientsided and may cause synch problems if used incorrectly!)
- Scoreboards now display the ping next to the players. The value here is the same as if you were checking with the ping command.
- Added an option for a super compact scoreboard. So compact it can display 32 players!
- Added all the console colours from Kart because the limited choices of vanilla make me super sad.
I'm willing to take out anything that might seem like "too much" (in which case I'll probably MR another branch with less features)
Edited by Latapostrophe