# HG changeset patch # User unc0rr # Date 1224349294 0 # Node ID 1a391883261deb3e3d108e1fa12ac647f9f7a799 # Parent a9e768739345a2d9fe1a4dc39c93fd3e8b9de1fe Allow /me in chat diff -r a9e768739345 -r 1a391883261d QTfrontend/newnetclient.cpp --- a/QTfrontend/newnetclient.cpp Sat Oct 18 13:53:58 2008 +0000 +++ b/QTfrontend/newnetclient.cpp Sat Oct 18 17:01:34 2008 +0000 @@ -249,7 +249,7 @@ qWarning("Net: Empty CHAT_STRING message"); return; } - emit chatStringFromNet(QString("%1: %2").arg(lst[1]).arg(lst[2])); + emit chatStringFromNet(formatChatMsg(lst[1], lst[2])); return; } @@ -298,7 +298,7 @@ ConfigAsked(); } emit nickAdded(lst[i]); - emit chatStringFromNet(QString(tr("* %1 joined")).arg(lst[i])); + emit chatStringFromNet(QString(tr("*** %1 joined")).arg(lst[i])); } return; } @@ -310,7 +310,7 @@ return; } emit nickRemoved(lst[1]); - emit chatStringFromNet(QString(tr("* %1 left")).arg(lst[1])); + emit chatStringFromNet(QString(tr("*** %1 left")).arg(lst[1])); return; } @@ -492,7 +492,7 @@ { if(str!="") { RawSendNet(QString("CHAT_STRING")+delimeter+str); - emit(chatStringFromMe(QString("%1: %2").arg(mynick).arg(str))); + emit(chatStringFromMe(formatChatMsg(mynick, str))); } } @@ -516,3 +516,11 @@ netClientState = 3; RawSendNet(QString("ROUNDFINISHED")); } + +QString HWNewNet::formatChatMsg(const QString & nick, const QString & msg) +{ + if(msg.left(4) == "/me ") + return QString("* %1 %2").arg(nick).arg(msg.mid(4)); + else + return QString("%1: %2").arg(nick).arg(msg); +} diff -r a9e768739345 -r 1a391883261d QTfrontend/newnetclient.h --- a/QTfrontend/newnetclient.h Sat Oct 18 13:53:58 2008 +0000 +++ b/QTfrontend/newnetclient.h Sat Oct 18 17:01:34 2008 +0000 @@ -82,6 +82,7 @@ void RawSendNet(const QString & buf); void RawSendNet(const QByteArray & buf); void ParseCmd(const QStringList & lst); + QString formatChatMsg(const QString & nick, const QString & msg); int loginStep; int netClientState; diff -r a9e768739345 -r 1a391883261d hedgewars/CCHandlers.inc --- a/hedgewars/CCHandlers.inc Sat Oct 18 13:53:58 2008 +0000 +++ b/hedgewars/CCHandlers.inc Sat Oct 18 17:01:34 2008 +0000 @@ -297,7 +297,12 @@ procedure chSay(var s: shortstring); begin SendIPC('s' + s); -s:= UserNick + ': ' + s; + +if copy(s, 1, 4) = '/me ' then + s:= '* ' + UserNick + ' ' + s +else + s:= UserNick + ': ' + s; + AddChatString(s) end; diff -r a9e768739345 -r 1a391883261d hedgewars/uChat.pas --- a/hedgewars/uChat.pas Sat Oct 18 13:53:58 2008 +0000 +++ b/hedgewars/uChat.pas Sat Oct 18 17:01:34 2008 +0000 @@ -120,7 +120,7 @@ procedure AcceptChatString(s: shortstring); var i: TWave; begin -if s[1] = '/' then +if (s[1] = '/') and (copy(s, 1, 4) <> '/me ') then begin if CurrentTeam^.ExtDriven then exit;