Index: MUSHclient.rc =================================================================== RCS file: /cvs/mushclient/MUSHclient.rc,v retrieving revision 1.222 retrieving revision 1.223 diff -c -r1.222 -r1.223 *** MUSHclient.rc 3 Jul 2008 23:55:25 -0000 1.222 --- MUSHclient.rc 8 Jul 2008 03:49:51 -0000 1.223 *************** *** 75,82 **** // VS_VERSION_INFO VERSIONINFO ! FILEVERSION 4,0,31,0 ! PRODUCTVERSION 4,0,31,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L --- 75,82 ---- // VS_VERSION_INFO VERSIONINFO ! FILEVERSION 4,0,32,0 ! PRODUCTVERSION 4,0,32,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L *************** *** 94,107 **** VALUE "Comments", "MUSHclient - a client program for playing MUD games\0" VALUE "CompanyName", "Gammon Software Solutions\0" VALUE "FileDescription", "MUSHclient\0" ! VALUE "FileVersion", "4.31\0" VALUE "InternalName", "MUSHCLIENT\0" VALUE "LegalCopyright", "Copyright © 2008 Gammon Software Solutions\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MUSHCLIENT.EXE\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MUSHclient\0" ! VALUE "ProductVersion", "4.31\0" VALUE "SpecialBuild", "\0" END END --- 94,107 ---- VALUE "Comments", "MUSHclient - a client program for playing MUD games\0" VALUE "CompanyName", "Gammon Software Solutions\0" VALUE "FileDescription", "MUSHclient\0" ! VALUE "FileVersion", "4.32\0" VALUE "InternalName", "MUSHCLIENT\0" VALUE "LegalCopyright", "Copyright © 2008 Gammon Software Solutions\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MUSHCLIENT.EXE\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MUSHclient\0" ! VALUE "ProductVersion", "4.32\0" VALUE "SpecialBuild", "\0" END END Index: PluginsDlg.cpp =================================================================== RCS file: /cvs/mushclient/PluginsDlg.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -c -r1.22 -r1.23 *** PluginsDlg.cpp 27 Jun 2008 21:35:50 -0000 1.22 --- PluginsDlg.cpp 8 Jul 2008 03:49:51 -0000 1.23 *************** *** 88,95 **** { CDialog::OnInitDialog(); ! int iColOrder [eColumnCount] = {0, 1, 2, 3, 4, 5}, ! iColWidth [eColumnCount] = {50, 130, 55, 55, 80, 30}; // set list control to display whole row when selected and to allow column drag/drop --- 88,95 ---- { CDialog::OnInitDialog(); ! int iColOrder [eColumnCount] = {0, 1, 2, 3, 4, 5, 6}, ! iColWidth [eColumnCount] = {50, 130, 55, 55, 80, 30, 20}; // set list control to display whole row when selected and to allow column drag/drop *************** *** 100,111 **** --- 100,116 ---- if (iColWidth [eColumnEnabled] < 20) iColWidth [eColumnEnabled] = 20; + // for upgrading + if (iColWidth [eColumnVersion] < 20) + iColWidth [eColumnVersion] = 20; + m_ctlPluginList.InsertColumn(eColumnName, TranslateHeading ("Name"), LVCFMT_LEFT, iColWidth [eColumnName]); m_ctlPluginList.InsertColumn(eColumnPurpose, TranslateHeading ("Purpose"), LVCFMT_LEFT, iColWidth [eColumnPurpose]); m_ctlPluginList.InsertColumn(eColumnAuthor, TranslateHeading ("Author"), LVCFMT_LEFT, iColWidth [eColumnAuthor]); m_ctlPluginList.InsertColumn(eColumnLanguage, TranslateHeading ("Language"), LVCFMT_LEFT, iColWidth [eColumnLanguage]); m_ctlPluginList.InsertColumn(eColumnFile, TranslateHeading ("File"), LVCFMT_LEFT, iColWidth [eColumnFile]); m_ctlPluginList.InsertColumn(eColumnEnabled, TranslateHeading ("Enabled"), LVCFMT_LEFT, iColWidth [eColumnEnabled]); + m_ctlPluginList.InsertColumn(eColumnVersion, TranslateHeading ("Ver"), LVCFMT_RIGHT, iColWidth [eColumnVersion]); // recover column sequence *************** *** 156,161 **** --- 161,171 ---- if (iResult == 0) iResult = item1->m_strName.CompareNoCase (item2->m_strName); break; + case eColumnVersion: + iResult = item1->m_dVersion < item2->m_dVersion; + if (iResult == 0) + iResult = item1->m_strName.CompareNoCase (item2->m_strName); + break; default: return 0; } // end of switch *************** *** 187,192 **** --- 197,203 ---- m_ctlPluginList.SetItemText (nItem, eColumnLanguage, p->m_strLanguage); m_ctlPluginList.SetItemText (nItem, eColumnFile, p->m_strSource); m_ctlPluginList.SetItemText (nItem, eColumnEnabled, p->m_bEnabled ? "Yes" : "No"); + m_ctlPluginList.SetItemText (nItem, eColumnVersion, CFormat ("%5.2f", p->m_dVersion)); m_ctlPluginList.SetItemData (nItem, (DWORD) p); } Index: PluginsDlg.h =================================================================== RCS file: /cvs/mushclient/PluginsDlg.h,v retrieving revision 1.11 retrieving revision 1.12 diff -c -r1.11 -r1.12 *** PluginsDlg.h 8 Jun 2007 01:30:36 -0000 1.11 --- PluginsDlg.h 8 Jul 2008 03:49:51 -0000 1.12 *************** *** 14,19 **** --- 14,20 ---- eColumnLanguage, eColumnFile, eColumnEnabled, + eColumnVersion, eColumnCount // this must be last! }; Index: doc.cpp =================================================================== RCS file: /cvs/mushclient/doc.cpp,v retrieving revision 1.233 retrieving revision 1.234 diff -c -r1.233 -r1.234 *** doc.cpp 6 Jul 2008 03:40:55 -0000 1.233 --- doc.cpp 8 Jul 2008 03:49:51 -0000 1.234 *************** *** 510,515 **** --- 510,516 ---- DISP_FUNCTION(CMUSHclientDoc, "SetToolBarPosition", SetToolBarPosition, VT_I4, VTS_I2 VTS_BOOL VTS_I2 VTS_I4 VTS_I4) DISP_FUNCTION(CMUSHclientDoc, "ShiftTabCompleteItem", ShiftTabCompleteItem, VT_I4, VTS_BSTR) DISP_FUNCTION(CMUSHclientDoc, "NotepadReadOnly", NotepadReadOnly, VT_I4, VTS_BSTR VTS_BOOL) + DISP_FUNCTION(CMUSHclientDoc, "AddFont", AddFont, VT_I4, VTS_BSTR) DISP_PROPERTY_PARAM(CMUSHclientDoc, "NormalColour", GetNormalColour, SetNormalColour, VT_I4, VTS_I2) DISP_PROPERTY_PARAM(CMUSHclientDoc, "BoldColour", GetBoldColour, SetBoldColour, VT_I4, VTS_I2) DISP_PROPERTY_PARAM(CMUSHclientDoc, "CustomColourText", GetCustomColourText, SetCustomColourText, VT_I4, VTS_I2) *************** *** 5853,5858 **** --- 5854,5863 ---- void CMUSHclientDoc::SendPacket (const char * lpBuf, const int nBufLen) { + + if (m_pSocket == NULL) + return; + m_iOutputPacketCount++; if (m_bDebugIncomingPackets) *************** *** 7841,7845 **** --- 7846,8026 ---- putontoclipboard (QuoteForumCodes (strContents)); } + + /* + typedef HANDLE (WINAPI *PAFMR)(PVOID, DWORD, PVOID, DWORD*); + typedef BOOL (WINAPI *PRFMR)(HANDLE); + + static PAFMR pAddFontMemResourceEx = NULL; + static PRFMR pRemoveFontMemResourceEx = NULL; + static BOOL initialized = FALSE; + + + long CMUSHclientDoc::AddSpecialFont (LPCTSTR PathName) + { + + // First, see if we can get the API call we need. If we've tried + // once, we don't need to try again. + if (!initialized) + { + HMODULE hDLL = LoadLibrary ("gdi32"); + + if (hDLL) + { + pAddFontMemResourceEx = + (PAFMR) GetProcAddress(hDLL, "AddFontMemResourceEx"); + + pRemoveFontMemResourceEx = + (PRFMR) GetProcAddress(hDLL, "RemoveFontMemResourceEx"); + } + + initialized = TRUE; + } + + if (pAddFontMemResourceEx == NULL || + pRemoveFontMemResourceEx == NULL) + return eNoSuchCommand; + + + // same one again - just leave well enough alone + if (m_strSpecialFontName == PathName && m_hSpecialFontHandle != 0) + return eOK; + + // get rid of old one, if any + RemoveSpecialFont (); + + CFile * pFile = NULL; + unsigned char * pFileBuffer = NULL; + DWORD iFileSize = 0; + + try + { + pFile = new CFile (PathName, CFile::modeRead | CFile::shareDenyWrite); // open file + iFileSize = pFile->GetLength (); + pFileBuffer = new unsigned char [iFileSize]; // get buffer + pFile->Read (pFileBuffer, iFileSize); + delete pFile; + } // end of try block + + catch (CFileException * e) + { + e->Delete (); + + delete pFile; // in case it was set up + delete [] pFileBuffer; // and get rid of buffer + + return eFileNotFound; + } // end of catching a file exception + + + void * pbFont = NULL; + DWORD cbFont = 0; + PVOID pdv = 0; + DWORD pcFonts; + + m_hSpecialFontHandle = pAddFontMemResourceEx (pFileBuffer, // font resource + iFileSize, // number of bytes in font resource + pdv, // Reserved. Must be 0. + &pcFonts); // number of fonts installed + + delete [] pFileBuffer; // get rid of buffer + + if (m_hSpecialFontHandle == 0) + return eBadParameter; + + return eOK; + } // end of CMUSHclientDoc::AddSpecialFont + + void CMUSHclientDoc::RemoveSpecialFont (void) + { + if (m_hSpecialFontHandle == 0) + return; + + if (pRemoveFontMemResourceEx == NULL) + return; + + pRemoveFontMemResourceEx (m_hSpecialFontHandle); + m_hSpecialFontHandle = 0; + m_strSpecialFontName.Empty (); + } + + */ + + + typedef int (WINAPI *PAFMR)(LPCTSTR, DWORD, void *); + typedef BOOL (WINAPI *PRFMR)(LPCTSTR, DWORD, void *); + + static PAFMR pAddFontResourceEx = NULL; + static PRFMR pRemoveFontResourceEx = NULL; + static BOOL initialized = FALSE; + + #define FR_PRIVATE 0x10 + #define FR_NOT_ENUM 0x20 + + long CMUSHclientDoc::AddSpecialFont (LPCTSTR PathName) + { + + // First, see if we can get the API call we need. If we've tried + // once, we don't need to try again. + if (!initialized) + { + HMODULE hDLL = LoadLibrary ("gdi32"); + + if (hDLL) + { + pAddFontResourceEx = + (PAFMR) GetProcAddress(hDLL, "AddFontResourceExA"); + + pRemoveFontResourceEx = + (PRFMR) GetProcAddress(hDLL, "RemoveFontResourceExA"); + } + + initialized = TRUE; + } + + if (pAddFontResourceEx == NULL || + pRemoveFontResourceEx == NULL) + return eNoSuchCommand; + + + // same one again - just leave well enough alone + if (m_strSpecialFontName == PathName) + return eOK; + + // get rid of old one, if any + RemoveSpecialFont (); + + + void * pbFont = NULL; + int cFonts; + + cFonts = pAddFontResourceEx (PathName, // file name + FR_PRIVATE, // flags + pbFont); // Reserved. Must be 0. + + + if (cFonts == 0) + return eFileNotFound; + + m_strSpecialFontName = PathName; // remember, so we can remove it + return eOK; + } // end of CMUSHclientDoc::AddSpecialFont + + void CMUSHclientDoc::RemoveSpecialFont (void) + { + if (m_strSpecialFontName.IsEmpty ()) + return; + + if (pRemoveFontResourceEx == NULL) + return; + + void * pbFont = NULL; + + pRemoveFontResourceEx (m_strSpecialFontName, // original file name + FR_PRIVATE, // flags + pbFont); // Reserved. Must be 0. + + m_strSpecialFontName.Empty (); + } Index: doc.h =================================================================== RCS file: /cvs/mushclient/doc.h,v retrieving revision 1.249 retrieving revision 1.250 diff -c -r1.249 -r1.250 *** doc.h 6 Jul 2008 03:40:55 -0000 1.249 --- doc.h 8 Jul 2008 03:49:51 -0000 1.250 *************** *** 21,28 **** // New versions - things to change ! #define THISVERSION 431 // Step 1. ! const CString MUSHCLIENT_VERSION = "4.31"; // Step 2. // Step 3. Don't forget VERSION resource in Resources tab // Step 4. Remember: README.TXT --- 21,28 ---- // New versions - things to change ! #define THISVERSION 432 // Step 1. ! const CString MUSHCLIENT_VERSION = "4.32"; // Step 2. // Step 3. Don't forget VERSION resource in Resources tab // Step 4. Remember: README.TXT *************** *** 1191,1196 **** --- 1191,1203 ---- deque m_sRecentLines; // for multi-line triggers + + CString m_strSpecialFontName; + HANDLE m_hSpecialFontHandle; + + long AddSpecialFont (LPCTSTR PathName); + void RemoveSpecialFont (void); + /* // background image CPalette m_pal; *************** *** 2443,2448 **** --- 2450,2456 ---- afx_msg long SetToolBarPosition(short Which, BOOL Float, short Side, long Top, long Left); afx_msg long ShiftTabCompleteItem(LPCTSTR Item); afx_msg long NotepadReadOnly(LPCTSTR Title, BOOL ReadOnly); + afx_msg long AddFont(LPCTSTR PathName); afx_msg long GetNormalColour(short WhichColour); afx_msg void SetNormalColour(short WhichColour, long nNewValue); afx_msg long GetBoldColour(short WhichColour); Index: doc_construct.cpp =================================================================== RCS file: /cvs/mushclient/doc_construct.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -c -r1.31 -r1.32 *** doc_construct.cpp 6 Jul 2008 03:40:55 -0000 1.31 --- doc_construct.cpp 8 Jul 2008 03:49:51 -0000 1.32 *************** *** 50,55 **** --- 50,56 ---- m_nBytesIn = 0; m_nBytesOut = 0; m_bTabCompleteFunctions = true; + m_hSpecialFontHandle = 0; m_bOutgoing_MUD_specific = false; // server said IAC DO 102 m_bIncoming_MUD_specific = false; // server said IAC WILL 102 *************** *** 573,578 **** --- 574,582 ---- // destroy accelerator table, if we had one if (m_accelerator) DestroyAcceleratorTable (m_accelerator); + + // if they loaded a special font, get rid of it + RemoveSpecialFont (); #ifdef PANE Index: functionlist.cpp =================================================================== RCS file: /cvs/mushclient/functionlist.cpp,v retrieving revision 1.35 retrieving revision 1.36 diff -c -r1.35 -r1.36 *** functionlist.cpp 29 Jun 2008 00:04:24 -0000 1.35 --- functionlist.cpp 8 Jul 2008 03:49:51 -0000 1.36 *************** *** 19,24 **** --- 19,25 ---- "ActivateClient", "ActivateNotepad", "AddAlias", + "AddFont", "AddMapperComment", "AddSpellCheckWord", "AddTimer", Index: lua_methods.cpp =================================================================== RCS file: /cvs/mushclient/lua_methods.cpp,v retrieving revision 1.90 retrieving revision 1.91 diff -c -r1.90 -r1.91 *** lua_methods.cpp 29 Jun 2008 00:04:24 -0000 1.90 --- lua_methods.cpp 8 Jul 2008 03:49:51 -0000 1.91 *************** *** 409,414 **** --- 409,425 ---- return 1; // number of result fields } // end of L_AddAlias + //---------------------------------------- + // world.AddFont + //---------------------------------------- + static int L_AddFont (lua_State *L) + { + CMUSHclientDoc *pDoc = doc (L); + lua_pushnumber (L, pDoc->AddFont ( + my_checkstring (L, 1) // PathName + )); + return 1; // number of result fields + } // end of L_AddFont //---------------------------------------- // world.AddMapperComment *************** *** 4930,4935 **** --- 4941,4947 ---- {"ActivateClient", L_ActivateClient}, {"ActivateNotepad", L_ActivateNotepad}, {"AddAlias", L_AddAlias}, + {"AddFont", L_AddFont}, {"AddMapperComment", L_AddMapperComment}, {"AddSpellCheckWord", L_AddSpellCheckWord}, {"AddTimer", L_AddTimer}, Index: methods.cpp =================================================================== RCS file: /cvs/mushclient/methods.cpp,v retrieving revision 1.221 retrieving revision 1.222 diff -c -r1.221 -r1.222 *** methods.cpp 6 Jul 2008 03:40:55 -0000 1.221 --- methods.cpp 8 Jul 2008 03:49:51 -0000 1.222 *************** *** 4142,4147 **** --- 4142,4149 ---- { 73, "MUSHclient compilation date/time" }, { 74, "Sounds directory" }, { 75, "Last MUD-specific string received" }, + { 76, "Special font pathname" }, + { 77, "OS Version - service pack" }, // (booleans - calculated at runtime) *************** *** 4231,4236 **** --- 4233,4242 ---- { 262, "World window non-client width" }, { 263, "World window client height" }, { 264, "World window client width" }, + { 265, "OS Version - major" }, + { 266, "OS Version - minor" }, + { 267, "OS Version - build number" }, + { 268, "OS Version - platform ID" }, // (dates - calculated at runtime) *************** *** 4285,4290 **** --- 4291,4306 ---- vaResult.lVal = rect.bottom; } // end of GetWindowHeight + OSVERSIONINFO ver; + + static void GetOSVersion (void) + { + // see which OS we are using + memset(&ver, 0, sizeof(ver)); + ver.dwOSVersionInfoSize = sizeof(ver); + ::GetVersionEx (&ver); + } // GetOSVersion + VARIANT CMUSHclientDoc::GetInfo(long InfoType) { VARIANT vaResult; *************** *** 4410,4415 **** --- 4426,4439 ---- case 73: SetUpVariantString (vaResult, __DATE__ " " __TIME__); break; case 74: SetUpVariantString (vaResult, ExtractDirectory (App.m_strMUSHclientFileName) + "sounds\\"); break; case 75: SetUpVariantString (vaResult, m_strLast_MUD_specific_stuff_received); break; + case 76: SetUpVariantString (vaResult, m_strSpecialFontName); break; + + case 77: + { + GetOSVersion (); + SetUpVariantString (vaResult, ver.szCSDVersion); + break; + } case 101: SetUpVariantBool (vaResult, m_bNoEcho); break; case 102: SetUpVariantBool (vaResult, m_bDebugIncomingPackets); break; *************** *** 4732,4737 **** --- 4756,4789 ---- break; } + case 265: + { + GetOSVersion (); + SetUpVariantLong (vaResult, ver.dwMajorVersion); + break; + } + + case 266: + { + GetOSVersion (); + SetUpVariantLong (vaResult, ver.dwMinorVersion); + break; + } + + case 267: + { + GetOSVersion (); + SetUpVariantLong (vaResult, ver.dwBuildNumber); + break; + } + + case 268: + { + GetOSVersion (); + SetUpVariantLong (vaResult, ver.dwPlatformId); + break; + } + case 301: if (m_tConnectTime.GetTime ()) // only if non-zero, otherwise return empty SetUpVariantDate (vaResult, COleDateTime (m_tConnectTime.GetTime ())); *************** *** 12226,12231 **** --- 12278,12295 ---- return true; } + + + long CMUSHclientDoc::AddFont(LPCTSTR PathName) + { + + if (strlen (PathName) <= 0) + return eBadParameter; // need a string + + return AddSpecialFont (PathName); + + } + /* Index: mushclient.clw =================================================================== RCS file: /cvs/mushclient/mushclient.clw,v retrieving revision 1.343 retrieving revision 1.344 diff -c -r1.343 -r1.344 *** mushclient.clw 6 Jul 2008 03:40:55 -0000 1.343 --- mushclient.clw 8 Jul 2008 03:49:51 -0000 1.344 *************** *** 2,8 **** [General Info] Version=1 ! LastClass=CSendView LastTemplate=CDialog NewFileInclude1=#include "stdafx.h" NewFileInclude2=#include "mushclient.h" --- 2,8 ---- [General Info] Version=1 ! LastClass=CMUSHclientDoc LastTemplate=CDialog NewFileInclude1=#include "stdafx.h" NewFileInclude2=#include "mushclient.h" Index: mushclient.cnt =================================================================== RCS file: /cvs/mushclient/mushclient.cnt,v retrieving revision 1.37 retrieving revision 1.38 diff -c -r1.37 -r1.38 *** mushclient.cnt 29 Jun 2008 00:04:24 -0000 1.37 --- mushclient.cnt 8 Jul 2008 03:49:51 -0000 1.38 *************** *** 164,169 **** --- 164,170 ---- 3 ActivateClient=FNC_ActivateClient 3 ActivateNotepad=FNC_ActivateNotepad 3 AddAlias=FNC_AddAlias + 3 AddFont=FNC_AddFont 3 AddMapperComment=FNC_AddMapperComment 3 AddSpellCheckWord=FNC_AddSpellCheckWord 3 AddTimer=FNC_AddTimer Index: mushclient.hlp =================================================================== RCS file: /cvs/mushclient/mushclient.hlp,v retrieving revision 1.97 retrieving revision 1.98 diff -c -r1.97 -r1.98 Binary files /tmp/cvs8WNFMq and /tmp/cvs1SbQe6 differ Index: mushclient.odl =================================================================== RCS file: /cvs/mushclient/mushclient.odl,v retrieving revision 1.116 retrieving revision 1.117 diff -c -r1.116 -r1.117 *** mushclient.odl 29 Jun 2008 00:04:24 -0000 1.116 --- mushclient.odl 8 Jul 2008 03:50:02 -0000 1.117 *************** *** 70,83 **** [id(44)] long SetCommand(BSTR Message); [id(45)] BSTR GetNotes(); [id(46)] void SetNotes(BSTR Message); ! [id(326), propget] long NormalColour(short WhichColour); ! [id(326), propput] void NormalColour(short WhichColour, long nNewValue); ! [id(327), propget] long BoldColour(short WhichColour); ! [id(327), propput] void BoldColour(short WhichColour, long nNewValue); ! [id(328), propget] long CustomColourText(short WhichColour); ! [id(328), propput] void CustomColourText(short WhichColour, long nNewValue); ! [id(329), propget] long CustomColourBackground(short WhichColour); ! [id(329), propput] void CustomColourBackground(short WhichColour, long nNewValue); [id(47)] void Redraw(); [id(48)] long ResetTimer(BSTR TimerName); [id(49)] void SetOutputFont(BSTR FontName, short PointSize); --- 70,83 ---- [id(44)] long SetCommand(BSTR Message); [id(45)] BSTR GetNotes(); [id(46)] void SetNotes(BSTR Message); ! [id(327), propget] long NormalColour(short WhichColour); ! [id(327), propput] void NormalColour(short WhichColour, long nNewValue); ! [id(328), propget] long BoldColour(short WhichColour); ! [id(328), propput] void BoldColour(short WhichColour, long nNewValue); ! [id(329), propget] long CustomColourText(short WhichColour); ! [id(329), propput] void CustomColourText(short WhichColour, long nNewValue); ! [id(330), propget] long CustomColourBackground(short WhichColour); ! [id(330), propput] void CustomColourBackground(short WhichColour, long nNewValue); [id(47)] void Redraw(); [id(48)] long ResetTimer(BSTR TimerName); [id(49)] void SetOutputFont(BSTR FontName, short PointSize); *************** *** 357,362 **** --- 357,363 ---- [id(323)] long SetToolBarPosition(short Which, BOOL Float, short Side, long Top, long Left); [id(324)] long ShiftTabCompleteItem(BSTR Item); [id(325)] long NotepadReadOnly(BSTR Title, BOOL ReadOnly); + [id(326)] long AddFont(BSTR PathName); //}}AFX_ODL_METHOD }; Index: telnet_phases.cpp =================================================================== RCS file: /cvs/mushclient/telnet_phases.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -c -r1.9 -r1.10 *** telnet_phases.cpp 6 Jul 2008 03:41:06 -0000 1.9 --- telnet_phases.cpp 8 Jul 2008 03:50:02 -0000 1.10 *************** *** 565,570 **** --- 565,571 ---- } m_strLast_MUD_specific_stuff_received += c; + TRACE1 ("<%d>", c); } Index: install/readme.txt =================================================================== RCS file: /cvs/mushclient/install/readme.txt,v retrieving revision 1.174 retrieving revision 1.175 diff -c -r1.174 -r1.175 *** install/readme.txt 6 Jul 2008 03:41:06 -0000 1.174 --- install/readme.txt 8 Jul 2008 03:50:02 -0000 1.175 *************** *** 1,7 **** ! MUSHclient version 4.31 ======================= ! Sunday, 6th July 2008 Author: Nick Gammon Web support: http://www.gammon.com.au/forum/ --- 1,7 ---- ! MUSHclient version 4.32 ======================= ! Tuesday, 8th July 2008 Author: Nick Gammon Web support: http://www.gammon.com.au/forum/