From: <wel...@us...> - 2008-09-21 14:51:09
|
Revision: 2172 http://planeshift.svn.sourceforge.net/planeshift/?rev=2172&view=rev Author: weltall2 Date: 2008-09-21 14:51:04 +0000 (Sun, 21 Sep 2008) Log Message: ----------- - Various code Improvements and clean ups in chatwindow and chat bubbles - Fixes for FS#2209 and FS#2207 (wrong colours used for say and wrong chat bubbles placement of tells) - Added an option in chat bubbles configuration which, if enabled, mixes the defined ME / MY colours with the colour of the chat type - fixed problems with /say /me, /say /my - removed CHAT_ME and CHAT_MY which are now useless - BUMPED NET VERSION Modified Paths: -------------- trunk/data/gui/configchatbubbles.xml trunk/data/options/chatbubbles_def.xml trunk/docs/history.txt trunk/src/client/chatbubbles.cpp trunk/src/client/chatbubbles.h trunk/src/client/gui/chatwindow.cpp trunk/src/client/gui/chatwindow.h trunk/src/client/gui/pawsconfigchatbubbles.cpp trunk/src/client/gui/pawsconfigchatbubbles.h trunk/src/common/net/messages.cpp trunk/src/common/net/messages.h trunk/src/common/util/pscssetup.h trunk/src/server/chatmanager.cpp trunk/src/server/gem.cpp Modified: trunk/data/gui/configchatbubbles.xml =================================================================== --- trunk/data/gui/configchatbubbles.xml 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/data/gui/configchatbubbles.xml 2008-09-21 14:51:04 UTC (rev 2172) @@ -470,6 +470,11 @@ </widget> <widget name="longPhraseLineCount" factory="pawsEditTextBox"><frame border="yes" x="140" y="50" width="30" height="20" /></widget> + <widget name="mixActionColours" factory="pawsCheckBox"> + <frame x="10" y="50" width="350" height="20"/> + <text string="Mix Action colours" /> + </widget> + </widget> </widget_description> Modified: trunk/data/options/chatbubbles_def.xml =================================================================== --- trunk/data/options/chatbubbles_def.xml 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/data/options/chatbubbles_def.xml 2008-09-21 14:51:04 UTC (rev 2172) @@ -1,5 +1,5 @@ <?xml version="1.0" ?> -<chat_bubbles maxLineLen="32" shortPhraseCharCount="9" longPhraseLineCount="5" enabled="yes"> +<chat_bubbles maxLineLen="32" shortPhraseCharCount="9" longPhraseLineCount="5" mixActionColours="yes" enabled="yes"> <chat type="say" enabled="yes" colourR="186" colourG="168" colourB="126" shadowR="108" shadowG="98" shadowB="73" align="left" effectPrefix="chatbubble_" /> <chat type="tell" enabled="yes" colourR="38" colourG="196" colourB="15" shadowR="22" shadowG="66" shadowB="9" outlineR="0" outlineG="0" outlineB="0" align="left" effectPrefix="chatbubble_" /> <chat type="group" enabled="yes" colourR="108" colourG="57" colourB="222" shadowR="46" shadowG="24" shadowB="94" outlineR="0" outlineG="0" outlineB="0" align="left" effectPrefix="chatbubble_" /> @@ -13,4 +13,4 @@ <chat type="npc_me" enabled="no" colourR="68" colourG="136" colourB="255" shadowR="0" shadowG="68" shadowB="147" outlineR="0" outlineG="0" outlineB="0" align="left" effectPrefix="chatbubble_" /> <chat type="npc_my" enabled="no" colourR="251" colourG="180" colourB="87" shadowR="130" shadowG="80" shadowB="80" outlineR="0" outlineG="0" outlineB="0" align="left" effectPrefix="chatbubble_" /> <chat type="npc_narrate" enabled="no" colourR="186" colourG="168" colourB="126" shadowR="108" shadowG="98" shadowB="73" outlineR="0" outlineG="0" outlineB="0" align="left" effectPrefix="chatbubble_" /> -</chat_bubbles> \ No newline at end of file +</chat_bubbles> Modified: trunk/docs/history.txt =================================================================== --- trunk/docs/history.txt 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/docs/history.txt 2008-09-21 14:51:04 UTC (rev 2172) @@ -1,3 +1,13 @@ +*** 2008-09-21 by Stefano Angeleri +- Various code Improvements and clean ups in chatwindow and chat bubbles +- Fixes for FS#2209 and FS#2207 (wrong colours used for say and + wrong chat bubbles placement of tells) +- Added an option in chat bubbles configuration which, if enabled, + mixes the defined ME / MY colours with the colour of the chat type +- fixed problems with /say /me, /say /my +- removed CHAT_ME and CHAT_MY which are now useless +- BUMPED NET VERSION + *** 2008-09-20 by Steven Patrick - Minor changes to detailwindow, patch by Caarrie. Modified: trunk/src/client/chatbubbles.cpp =================================================================== --- trunk/src/client/chatbubbles.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/chatbubbles.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -40,8 +40,6 @@ #include "chatbubbles.h" #include "pscelclient.h" - - //#define DISABLE_CHAT_BUBBLES // Used to set default config files if the userdata ones are not found. @@ -122,11 +120,12 @@ bubbleMaxLineLen = chatBubblesNode->GetAttributeValueAsInt("maxLineLen"); bubbleShortPhraseCharCount = chatBubblesNode->GetAttributeValueAsInt("shortPhraseCharCount"); bubbleLongPhraseLineCount = chatBubblesNode->GetAttributeValueAsInt("longPhraseLineCount"); + + mixActionColours = chatBubblesNode->GetAttributeValueAsBool("mixActionColours",true); - if ((csString) chatBubblesNode->GetAttributeValue("enabled") == "no") - bubblesEnabled = false; - else - bubblesEnabled = true; + bubblesEnabled = chatBubblesNode->GetAttributeValueAsBool("enabled", true); + + csRef<iDocumentNodeIterator> nodes = chatBubblesNode->GetNodes("chat"); while (nodes->HasNext()) @@ -151,11 +150,11 @@ else if (type == "shout") chat.chatType = CHAT_SHOUT; else if (type == "me") - chat.chatType = CHAT_ME; + chat.chatType = CHATBUBBLE_ME; else if (type == "tellself") chat.chatType = CHAT_TELLSELF; else if (type == "my") - chat.chatType = CHAT_MY; + chat.chatType = CHATBUBBLE_MY; else if (type == "npc") chat.chatType = CHAT_NPC; else if (type == "npc_me") @@ -235,6 +234,21 @@ return true; } +//returns the template of the chat bubble. If not found returns NULL +BubbleChatType* psChatBubbles::GetTemplate(int iChatType) +{ + // get the template for the chat type + size_t len = chatTypes.GetSize(); + for (size_t a=0; a<len; ++a) + { + if (iChatType == chatTypes[a].chatType) + { + return &chatTypes[a]; + } + } + return NULL; +} + void psChatBubbles::HandleMessage(MsgEntry * msg, Client * client) { #ifdef DISABLE_CHAT_BUBBLES @@ -261,8 +275,11 @@ { return; } + + //we have to manage this separately as sPerson in this case holds the destination in place of the origin + if(chatMsg.iChatType == CHAT_TELLSELF) + chatMsg.sPerson = psengine->GetCelClient()->GetMainPlayer()->GetName(); - // Get the first name of the person (needed for NPCs with both the first and the last name) csString firstName; if ((a = chatMsg.sPerson.FindFirst(' ')) != (size_t)-1) @@ -270,45 +287,67 @@ else firstName = chatMsg.sPerson; - //We don't want /me or /my messages in the chat box, change them to something nice - if (chatMsg.sText.StartsWith("/me")) - { - chatMsg.sText.DeleteAt(0, 3); - chatMsg.sText.Insert(0, firstName); - chatMsg.sText.Insert(0, "* "); - chatMsg.sText.Append(" *"); - } - if (chatMsg.sText.StartsWith("/my")) - { - csString apofirstname(firstName); - apofirstname.Append("'s"); - chatMsg.sText.DeleteAt(0, 3); - chatMsg.sText.Insert(0, apofirstname); - chatMsg.sText.Insert(0, "* "); - chatMsg.sText.Append(" *"); - } - GEMClientActor* actor = psengine->GetCelClient()->GetActorByName(firstName); if (!actor) return; // get the template for the chat type const BubbleChatType* type = 0; - size_t len = chatTypes.GetSize(); - for (a=0; a<len; ++a) - { - if (chatMsg.iChatType == chatTypes[a].chatType) - { - type = &chatTypes[a]; - break; - } - } + type = GetTemplate(chatMsg.iChatType); + if (!type) return; if (!(type->enabled)) return; + //We don't want /me or /my messages in the chat box, change them to something nice + if (chatMsg.sText.StartsWith("/me") || chatMsg.sText.StartsWith("/my")) + { + const BubbleChatType* subType = 0; + BubbleChatType mixType; + if(chatMsg.sText.StartsWith("/my")) //we have to add an 's + { + firstName.Append("'s"); + subType = GetTemplate(CHATBUBBLE_MY); + } + else + { + subType = GetTemplate(CHATBUBBLE_ME); + } + chatMsg.sText.DeleteAt(0, 3); + chatMsg.sText.Insert(0, firstName); + chatMsg.sText.Insert(0, "* "); + chatMsg.sText.Append(" *"); + + //check if the subtype is enabled if so mix the main type to the subtype and generated a mixed type + if(!subType) + return; + + if(!(subType->enabled)) + return; + + if(mixActionColours) + { + //generate the mixed type: + //mix the colours + mixType.textSettings.colour = chatWindow->mixColours(type->textSettings.colour, subType->textSettings.colour); + mixType.textSettings.shadowColour = chatWindow->mixColours(type->textSettings.shadowColour, subType->textSettings.shadowColour); + mixType.textSettings.outlineColour = chatWindow->mixColours(type->textSettings.outlineColour, subType->textSettings.outlineColour); + + //copy the remaining data from the subtype + mixType.textSettings.hasShadow = subType->textSettings.hasShadow; + mixType.textSettings.hasOutline = subType->textSettings.hasOutline; + mixType.textSettings.align = subType->textSettings.align; + mixType.enabled = subType->enabled; //not really usefull but just to be safe + mixType.chatType = subType->chatType; //not really usefull but just to be safe + strcpy(mixType.effectPrefix, subType->effectPrefix); + type = &mixType; //put our mixed type in place of the type for use later + } + else //if we don't mix colours just get the settings for me/my directly + type = subType; + } + static csArray<psEffectTextRow> rowBuffer; rowBuffer.Empty(); Modified: trunk/src/client/chatbubbles.h =================================================================== --- trunk/src/client/chatbubbles.h 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/chatbubbles.h 2008-09-21 14:51:04 UTC (rev 2172) @@ -38,6 +38,10 @@ //============================================================================= #include "psengine.h" +//these are special cases used to manage /me /my configurations in chat bubbles +#define CHATBUBBLE_ME -2 +#define CHATBUBBLE_MY -3 + struct BubbleChatType { int chatType; // the chat type this settings will apply to @@ -60,6 +64,9 @@ size_t bubbleLongPhraseLineCount; // messages with more than this many lines get large bubble bool bubblesEnabled; // enable all chat bubbles + bool mixActionColours; + BubbleChatType* GetTemplate(int iChatType); + public: psChatBubbles(); virtual ~psChatBubbles(); @@ -81,6 +88,7 @@ void SetBubbleChatTypes(csArray<BubbleChatType> chatTypes) { this->chatTypes = chatTypes; } bool isEnabled() { return bubblesEnabled; } + bool isMixingActionColours() { return mixActionColours; } void setEnabled(bool enable) { bubblesEnabled = enable; } size_t GetBubbleMaxLineLen() { return bubbleMaxLineLen; } Modified: trunk/src/client/gui/chatwindow.cpp =================================================================== --- trunk/src/client/gui/chatwindow.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/gui/chatwindow.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -202,21 +202,21 @@ csString nodeName (option->GetValue()); if (nodeName == "loose") - settings.looseFocusOnSend = option->GetAttributeValueAsInt("value") ? true : false; + settings.looseFocusOnSend = option->GetAttributeValueAsBool("value", false); else if (nodeName == "selecttabstyle") settings.selectTabStyle = (int)option->GetAttributeValueAsInt("value"); else if (nodeName == "echoscreeninsystem") - settings.echoScreenInSystem = option->GetAttributeValueAsInt("value") ? true : false; + settings.echoScreenInSystem = option->GetAttributeValueAsBool("value", true); else if (nodeName == "mainbrackets") - settings.mainBrackets = option->GetAttributeValueAsInt("value") ? true : false; + settings.mainBrackets = option->GetAttributeValueAsBool("value", true); else if (nodeName == "yourcolormix") - settings.yourColorMix = option->GetAttributeValueAsInt("value") ? true : false; + settings.yourColorMix = option->GetAttributeValueAsBool("value", true); else { for (int i = 0; i < CHAT_NLOG; i++) if (nodeName == logWidgetName[i]) // Take the same name for simplicity - settings.logChannel[i] = option->GetAttributeValueAsInt("value") ? true : false; + settings.logChannel[i] = option->GetAttributeValueAsBool("value", false); } } } @@ -771,16 +771,10 @@ defaultButton = "Main Button"; } } - else if (words[0] == "/my") - { - chattype = CHAT_MY; - words.GetTail(1,text); - allowedTabs.Push("MainText"); - } else // when in doubt, use the normal way { - chattype = CHAT_ME; - words.GetTail(1,text); + chattype = CHAT_SAY; + words.GetTail(0,text); allowedTabs.Push("MainText"); } //pPerson.Clear(); @@ -1367,26 +1361,17 @@ case CHAT_SAY: { - buff.Format(PawsManager::GetSingleton().Translate("%s says: %s"), + if ( msg.sText.StartsWith("/me ") ) + buff.Format("%s %s", (const char *)msg.sPerson, ((const char *)msg.sText)+4); + else if ( msg.sText.StartsWith("/my ") ) + buff.Format("%s's %s", (const char *)msg.sPerson, ((const char *)msg.sText)+4); + else + buff.Format(PawsManager::GetSingleton().Translate("%s says: %s"), (const char *)msg.sPerson, (const char *)msg.sText); - colour = settings.yourColor; + colour = settings.chatColor; break; } - case CHAT_ME: - { - buff.Format("%s %s", (const char *)msg.sPerson, ((const char *)msg.sText)); - colour = settings.yourColor; - break; - } - - case CHAT_MY: - { - buff.Format("%s's %s", (const char *)msg.sPerson, ((const char *)msg.sText)); - colour = settings.yourColor; - break; - } - case CHAT_NPC: { buff.Format(PawsManager::GetSingleton().Translate("%s says: %s"), @@ -1548,15 +1533,10 @@ //if the yourColorMix is enabled mix the yourcolour with the colour of the chat type //else use the normal yourcolour if(settings.yourColorMix) - { - int r,g,b; - int r2,g2,b2; - graphics2D->GetRGB(colour,r,g,b); //gets the rgb values of the colour for the chat type - graphics2D->GetRGB(settings.yourColor,r2,g2,b2); //gets the rgb values of the colour yourColour - colour = graphics2D->FindRGB((r+r2)/2,(g+g2)/2,(b+b2)/2); //does the average of the two colours - } + colour = mixColours(colour, settings.yourColor); else colour = settings.yourColor; + flashEnabled = false; } else if ( psContain(noCaseMsg,chatTriggers) ) @@ -2325,6 +2305,16 @@ AutoselectChatTabIfNeeded(allowedTabs, "NPC Button"); } +int pawsChatWindow::mixColours(int colour1, int colour2) +{ + int r,g,b; + int r2,g2,b2; + graphics2D->GetRGB(colour1,r,g,b); //gets the rgb values of the first colour + graphics2D->GetRGB(colour2,r2,g2,b2); //gets the rgb values of the second colour + return graphics2D->FindRGB((r+r2)/2,(g+g2)/2,(b+b2)/2); //does the average of the two colours and returns it back +} + + //------------------------------------------------------------------------------ pawsChatHistory::pawsChatHistory() Modified: trunk/src/client/gui/chatwindow.h =================================================================== --- trunk/src/client/gui/chatwindow.h 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/gui/chatwindow.h 2008-09-21 14:51:04 UTC (rev 2172) @@ -181,6 +181,9 @@ /// Remove bad words from the output string void BadWordsFilter(csString& s); + /// mixes two colours and returns their mixed colour + int mixColours(int colour1, int colour2); + protected: void HandleSystemMessage( MsgEntry* message ); Modified: trunk/src/client/gui/pawsconfigchatbubbles.cpp =================================================================== --- trunk/src/client/gui/pawsconfigchatbubbles.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/gui/pawsconfigchatbubbles.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -105,7 +105,7 @@ break; case 7: temp.type = "me"; - temp.chatType = CHAT_ME; + temp.chatType = CHATBUBBLE_ME; break; case 8: temp.type = "tellself"; @@ -113,7 +113,7 @@ break; case 9: temp.type = "my"; - temp.chatType = CHAT_MY; + temp.chatType = CHATBUBBLE_MY; break; case 10: temp.type = "npc_me"; @@ -277,6 +277,12 @@ Error1("Could not locate longPhraseLineCount widget!"); return false; } + + mixActionColours = (pawsCheckBox*)FindWidget("mixActionColours"); + if (!mixActionColours) { + Error1("Could not locate mixActionColours widget!"); + return false; + } //Create scrollBar scrollBar = new pawsScrollBar; @@ -328,6 +334,7 @@ shortPhraseCharCount->Hide(); longPhraseLineCountText->Hide(); longPhraseLineCount->Hide(); + mixActionColours->Hide(); int startLineNo = (int) scrollBar->GetCurrentValue(); @@ -421,6 +428,14 @@ longPhraseLineCount->SetRelativeFramePos(X_B_POS, yPos); longPhraseLineCount->Show(); } + + ++lineNo; + + if (lineNo >= startLineNo && lineNo <= endLineNo) { + int yPos = Y_START_POS + HEIGHT * (lineNo - startLineNo); + mixActionColours->SetRelativeFramePos(X_TEXT_POS, yPos); + mixActionColours->Show(); + } } bool pawsConfigChatBubbles::Initialize() @@ -498,6 +513,8 @@ } } + mixActionColours->SetState(chatBubbles->isMixingActionColours()); + dirty = false; return true; @@ -511,8 +528,8 @@ // xml += "<!-- Supported attributes for <chat>: type, color[R,G,B], shadow[R,G,B], outline[R,G,B], align, effectPrefix -->\n"; // xml += "<!-- Supported Chat Types: say, tell, group, guild, auction, shout, me, tellself, my, npc, npc_me, npc_my, npc_narrate -->\n"; // xml += "<!-- Supported Align Types: left, center, right -->\n\n"; - xml.AppendFmt("<chat_bubbles maxLineLen=\"%s\" shortPhraseCharCount=\"%s\" longPhraseLineCount=\"%s\" enabled=\"%s\">\n", - maxLineLen->GetText(), shortPhraseCharCount->GetText(), longPhraseLineCount->GetText(), allEnabled->GetState() ? "yes" : "no"); + xml.AppendFmt("<chat_bubbles maxLineLen=\"%s\" shortPhraseCharCount=\"%s\" longPhraseLineCount=\"%s\" mixActionColours=\"%s\" enabled=\"%s\">\n", + maxLineLen->GetText(), shortPhraseCharCount->GetText(), longPhraseLineCount->GetText(), mixActionColours->GetState() ? "yes" : "no", allEnabled->GetState() ? "yes" : "no"); size_t lenPawsBubbleChatTypes = pawsBubbleChatTypes.GetSize(); for (size_t c = 0; c < lenPawsBubbleChatTypes; ++c) { Modified: trunk/src/client/gui/pawsconfigchatbubbles.h =================================================================== --- trunk/src/client/gui/pawsconfigchatbubbles.h 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/client/gui/pawsconfigchatbubbles.h 2008-09-21 14:51:04 UTC (rev 2172) @@ -94,6 +94,7 @@ pawsEditTextBox *longPhraseLineCount; pawsScrollBar *scrollBar; + pawsCheckBox *mixActionColours; }; CREATE_PAWS_FACTORY( pawsConfigChatBubbles ); Modified: trunk/src/common/net/messages.cpp =================================================================== --- trunk/src/common/net/messages.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/common/net/messages.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -496,20 +496,20 @@ { switch (iChatType) { - case CHAT_SAY: return "Say"; - case CHAT_TELL: return "Tell"; - case CHAT_NPC: return "TellNPC"; - case CHAT_TELLSELF: return "TellSelf"; - case CHAT_GROUP: return "GroupMsg"; - case CHAT_SHOUT: return "Shout"; - case CHAT_GM: return "GM"; - case CHAT_GUILD: return "GuildChat"; - case CHAT_AUCTION: return "Auction"; - case CHAT_MY: case CHAT_ME: case CHAT_PET_ACTION: return "Action"; - case CHAT_REPORT: return "Report"; - case CHAT_ADVISOR: return "Advisor"; - case CHAT_ADVICE: return "Advice"; - default: return "Unknown"; + case CHAT_SAY: return "Say"; + case CHAT_TELL: return "Tell"; + case CHAT_NPC: return "TellNPC"; + case CHAT_TELLSELF: return "TellSelf"; + case CHAT_GROUP: return "GroupMsg"; + case CHAT_SHOUT: return "Shout"; + case CHAT_GM: return "GM"; + case CHAT_GUILD: return "GuildChat"; + case CHAT_AUCTION: return "Auction"; + case CHAT_PET_ACTION: return "Action"; + case CHAT_REPORT: return "Report"; + case CHAT_ADVISOR: return "Advisor"; + case CHAT_ADVICE: return "Advice"; + default: return "Unknown"; } } Modified: trunk/src/common/net/messages.h =================================================================== --- trunk/src/common/net/messages.h 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/common/net/messages.h 2008-09-21 14:51:04 UTC (rev 2172) @@ -43,7 +43,7 @@ // This holds the version number of the network code, remember to increase // this each time you do an update which breaks compatibility -#define PS_NETVERSION 0x008F +#define PS_NETVERSION 0x0090 // Remember to bump the version in pscssetup.h, as well. // NPC Networking version is separate so we don't have to break compatibility @@ -733,7 +733,6 @@ CHAT_GUILD, CHAT_AUCTION, CHAT_SHOUT, - CHAT_ME, CHAT_TELLSELF, CHAT_REPORT, CHAT_ADVISOR, @@ -742,7 +741,6 @@ CHAT_SERVER_TELL, // this tell came from the server, not from another player CHAT_GM, CHAT_SERVER_INFO, - CHAT_MY, CHAT_NPC, CHAT_SYSTEM_BASE, // System messages that are also shown on the "Main" tab CHAT_PET_ACTION, Modified: trunk/src/common/util/pscssetup.h =================================================================== --- trunk/src/common/util/pscssetup.h 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/common/util/pscssetup.h 2008-09-21 14:51:04 UTC (rev 2172) @@ -24,7 +24,7 @@ #define CSSETUP_HEADER #ifndef APPNAME -#define APPNAME "PlaneShift Steel Blue (0.4.02)" +#define APPNAME "PlaneShift Steel Blue (0.4.03)" #endif #ifdef CS_COMPILER_GCC Modified: trunk/src/server/chatmanager.cpp =================================================================== --- trunk/src/server/chatmanager.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/server/chatmanager.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -153,8 +153,6 @@ break; } - case CHAT_MY: - case CHAT_ME: case CHAT_SAY: { // Send to all if there's no NPC response or the response is public Modified: trunk/src/server/gem.cpp =================================================================== --- trunk/src/server/gem.cpp 2008-09-21 02:06:14 UTC (rev 2171) +++ trunk/src/server/gem.cpp 2008-09-21 14:51:04 UTC (rev 2172) @@ -2427,8 +2427,6 @@ break; } case CHAT_SAY: - case CHAT_MY: - case CHAT_ME: { s->Format("%s says: %s", who, msg.sText.GetData()); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |