[Reusable] SRB2Chat - Somewhat revamped chat system & more

This thread contains content that may be reused, modified, or ported by anyone.
Not open for further replies.


Absolute territory where
Kart Krew™️
Does anyone remember chatmanager? No? Well whatever!

Introducing SRB2Chat, an exe mod that attempts to make your netgame experience better by giving you a slightly better chat
So what does it do?
-Chat system is now separate from the console!
-Press the talk key to open the Chat Log, you can then press UP or DOWN arrow keys to scroll up or down recent messages.
-New /pm<node> command for the chat! Use that to send saytos without using the console.
-Capslock now actually works, because it didn't before for whatever reason (this also applies to the console.)
-You can use left and right arrow keys to go back and edit some stuff you've typed rather than deleting the entire thing, just like the console!
-Also like the console, you can now paste stuff into the chat! (selection and copy aren't avaiable since they aren't really useful in this context.)

-A bunch of cool cvars accessible from GAME OPTIONS.../CHAT OPTIONS...
chatwidth <64-150>: allows to change the width of the chat box.
chatheight <6-24>: allows to change the amount of lines that can be displayed on the log.
chatnotifications <On/Off>: change if you want to hear or not the chat beep when you recieve a message.
chatspamprotection <On/Off>: EXPERIMENTAL: Blocks messages from a node if they are sent too quickly. This may also happen because of lag spikes, hence the ability to turn it off.
chatbacktint <On/Off>: Adds the console background to messages on minimized chat to allow you to see better. Off by default.
consolechat <On/Off>: Revert everything back to the old chat system. Mostly exists so that playing with Terminal and the likes of it doesn't look too weird.

-Some cool Lua support:
chatprint(string): Prints something in the chat. Or in the console if the chat is disabled or if you're not in a netgame.
chatprintf(player_t, string): Does the same, but only for the specified player. (Think CONS_Printf)
PlayerMsg hook small update: It can now have a 5th argument which is a boolean that is set to true if the message was meant to be deleted because of spam. (The Hook takes priority over spam deletion)

All of the above can allow you to modify your PlayerMsg hooks to support this exe if you want to!

And stuff that has nothing to do with chatting:
-Ping on scoreboard! Now you can be reminded that I have 800 ping in every netgame I'm in by simply holding Tab!
-Scoreboard goes compact if there's 20 or more players so they can all be displayed. You can force this behavior by using compactscoreboard On or setting it On from the GAME OPTIONS... menu.
-master branch OpenGL. If somehow you haven't updated it, it makes openGL treat HUDs like software.


This EXE is experimental, and I'm a newbie to source code modding, so report any error/crash by sending the eip found in the RPT file for the latter.

Also included with the download is a dll file. It is required to run the EXE if you don't have it already. Drop it in your SRB2 folder.
And because rules are rules, here's the source code!


  • srb20257.png
    190.9 KB · Views: 7,233
  • srb20271.jpg
    161.9 KB · Views: 6,911
  • srb20141.gif
    142.4 KB · Views: 1,436
  • srb2chat.rar
    1.1 MB · Views: 829
Last edited:
Look at that Scoreboard, Fantastic, love it, Just needs token indicator to tell if a player got a token in current stage and we're set.


Ingame name is Lolour
you should add some commands like if you dont wanna someone messages appears just for you
Cheese's god is not yellow, but it is green
Last edited:


Absolute territory where
Kart Krew™️
SRB2Chat has been updated!
  • Added a /pm<node> command to the chat! This is used to send saytos without using the console. Just type, for example, "/pm0 Hi!" to PM "Hi" to the server! (compatible even with vanilla SRB2!). A list of players will show up and gradually empty as you type /pm and specify the number, so that you know who you're messaging.
  • Fixed autoscrolling sometimes being wonky.
  • Fixed not being able to see PMs you sent.
  • Updated OpenGL to match master branch. Yes I like OpenGL, fight me.


Mid-tier Pixel Artist
I don't use sayto all that much, but I'm sure that's going to be useful for admins and mods of dedicated servers.

But even then, SRB2CHAT is great! A streamlined chat system needs to be one of the features in 2.2. This is fantastic!

Now if only it works for Terminal and Utils' chat system...


Absolute territory where
Kart Krew™️
I'm terribly sorry but it seems last minute changes went wrong in the last update (who would've guessed)

  • Fixed sending normal messages (yes I managed to break that.)
  • Can no longer use /pm in say-team (this will error and not send anything)


For some reason, the dll was not included. Can you explain what happened? I am missing (as far as I know) libmingwex-0.dll.


Game Developer in Training
The dll file wasn't included when I downloaded the file. And I downloaded twice. So I'm currently unable to experience this modification. Can you double check that the zip file properly contains the dll file?


Absolute territory where
Kart Krew™️
SRB2Chat has been updated once again.

  • The chat position has been changed from top right to bottom left, as most games do it anyway.
  • A new console command has been added, chatbacktint (also accessible from the CHAT OPTIONS... submenu) will add the console tint to the back of messages when it is minimized, allowing you to see them better if turned on.
  • Entierely killed the chat box for resolutions lower than 640x400, it's a pain to maintain and it's not practical anyway.
  • PlayerMsg has been disabled temporarily because the likes of Terminal and Utility are annoying to deal with when using this EXE. (this change shouldn't affect multiplayer at all with those WADs uness there's a poor handling of things on their end.)
  • Fixed issues where word wrapping would sometimes skip lines in the middle of the box / leave full empty lines on occasion.
  • Fixed capslock affecting non-letter characters.
  • This time the dll file is in the rar (not that you couldn't Google it in 10 seconds before.)


(Glidro) The #1 Gliscor!
Except it only works in V2.1.20, currently. We're waiting to see if Lat will update this to be compatible with the latest version.
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)