iceMud - Change log

Known Issues

    • Plug-ins:
        • IED:
            • Local directory drop down - may not update or error if the folder is renamed.
            • Rename both remote and local do not work yet.
            • All commands do not work on folders, e.g. you can't upload a folder or dl one.
            • Extra prompts may be displayed due to commands executing if hide is enabled, it tries to remove them but it is not perfect.
            • Buffersize defaults of 1024 or larger may break uploading due to after encoding it is larger then 1024, to fix manually set to a lower number in perfs of IED plug-in.
        • ShadowMUD
            • Extra prompts may be displayed due to commands executing if hide is enabled, it tries to remove them but it is not perfect.
    • Unicode characters are not always displayed correctly.
    • Profile Editor:
        • Import/Export wizard, before new editor, a wizard was supported, currently it has not been re-added.
        • Numerous small things that the old editor has and the new one lacks, sooner or later they will be re-added, unless no longer needed or they where too buggy.
    • DPI - window/close button does not paint always, .net bug unfixable, related to DPI not being standard, work around is more complex then i want to work on, so if you use a non standard DPI your on your own for now, this includes all past versions.
    • MXP Entities - some &#nnn; formats do not correctly displays, this is a windows issue and how it paints unicode text, i convert any that are > 255 to use the user selected unicode font to try and paint them better.
    • SENDGMCP command has issues parsing arguemnts correctly right now.
    • Parsing:
        • Some spaces may be removed in parsing at the current time when using variables or inline functions
        • Some errors may happen when trying to parse quotes in parameters if parameter is not a valid inline function or predefined variable

v0.8 Build 5898 Revision 30044

    • New - Functions:
        • repeat(string, number) - will repeat string # of times
        • string(mixed) - will force the return value to always be string
        • ascii(string) - returns the ascii value of the first character of the string.
        • char(number) - returns the ascii charcter of number
        • number(string) - converts string into #
        • round(number) - rounds a number off
        • floor(number) - returns largest integer less that or equal to #
        • ceil(number) - returns smallest integer less that or equal to #
        • trim(string) - trim leading and trailing whitespace
        • trimleft(string) - trim leading whitespace
        • trimright(string) - trim trailing whitespace
        • contact(string1, ..., stringN) - concate all strings into one string
        • left(string, len) - return the leftmost len characters of the string
        • leftback(string, fromend) - return the leftmost part of string until fromend characters from the end
        • right(string, fromleft) - return the rightmost part of string starting at the fromleft position (the first character is position 1)
        • rightback(string, len) - return the rightmost len characters of the string.
        • numwords(string, delimiter) - return the number of words in string, delimited by string delimiter (if delimiter is missing, a space is used as the word delimiter)
        • word(string, n, delimiter) - return the nth word of string, delimited by string delimiter (if delimiter is missing, a space is used)
        • copy(string, start, len) - return a portion of string, starting at character position start (the first character is position 1), and returning len characters. If len is missing, then the rest of the characters in the string are returned. If start is less than zero, then the start position is relative to the end of the string instead of the beginning.
        • delete(string, start, n) - return the string with n characters starting at position start removed. The first character of a string has a start position of 1.
        • remove(item, string) - Remove substring item from string and return the result. Note that it only removes the first occurrence. To remove all occurrences, use the %replace function.
        • insert(item, string, start) - return the string with item inserted at position start.
        • replace(string, old, new) - return string with all occurrences of old replaced with new, if new is left off it will default to ""
        • subchar(string, oldlist, newlist) - Replaces characters of string contained in oldlist with the corresponding character in newlist and return the result. if newlist is left off it will default to ""
        • eval(expression) - this will eval the expression as if you had used [expression] from the command line.
        • subregex(string, regular-expression, substring) - test is string matches the regualr expression, if matches, the matched part will be replaced with substring. This uses the .net regular expression library so any .net regular expression is allowed, you may use $# to match grouping in the substring, for example #subregex("100 gold coins", "(\d+)", "$1+10") will replaced 100 with 100+10, or #subregex("100 gold coins", "(\d+)", "%eval($1+10)") will replace 100 with 110
        • begins(string1, string2) - returns true if string1 begins with string2
        • ends(string1, string2) - returns true if string1 ends with string2
        • pos(pattern, string) - returns position of pattern in string, 0 if not found
        • yesno(message, button1, button2, ..., buttonN)- displays a message box and returns 0 or 1, optional buttons are formated as value or title:value, if no title is supply the value will be set as the title, if button 1 and button 2 and no title it will default to "Yes" and "No"
        • pref(setting, value) - set or get preferance value, where settings it the name of the setting, does support zmud %pref key values where possible, if not supported will return nothing, more zmud pref wills be mapped over time as supported right now it only supports the ansi colors (ForeCol#, BackCol#) and the ansi styles (ANSIstyle), if value is missing it will return the setting value
        • color(fore|style, back) - converts a descriptive color into an attribute value.
        • ansi(fore, ..., back) - return formated ansi code string
    • New - Commands:
        • MXP - Echo the text to the screen like the SHOW command. However, Secure MXP commands are allowed in the text.
    • New - Misc:
        • Copy Url context item when right clicking a url.
        • Context menus now support menu seperators, just set the caption as - and it will appear as a menu seperator.
        • Macro daisy chaining - this allows you to combine macros and have them auto sent to the mud depending on the macro values or command line text.
        • Parsing now allows escaping of ( or ) so things like %clip\(\) will return the value of clip followed by ().
        • Cleaned up Reference Library » Commands to be easier to read, now has a syntax column.
    • Fixed - Profile Editor
        • Fixed bugs when editing context menus, the additional options where not saving or updating.
        • Fixed a bug when editing context menus and it would ask you to save even if you had already clicked the saved button.
        • Fixed a bug where context menus and control editors where not setting the changed flag when being edited.
    • Fixed - Misc:
        • Fixed a bug dealing with local echo and xterm colors
        • Fixed priority sorting for profile objects, it was ignoring prioirty when sorting triggers, context menus and other items when setting item order.
        • Fixed a bug in telnet processing when UTF is enabled and it not correctly inserting newlines and other characters into the UTF string, it would append them instead causing malformed text.
        • Fixed a bug in the scripting system not correctly accepting escaped characters
        • Fixed a bug in parameter parsing if parameter was not found it would not correctly append the (string) to the output instead just returning %param.
        • Fixed a bug in parameter parsing when constants (letters/numbers) where parsed and contained a comma
        • Fixed parsing of string constants in user or inline functions to not be as stritch so things like %pos(ABC, 12ABC) will correctly work even if not quoted strings.
        • Readded len, upper, lower, and proper functions
    • Fixed - MXP:
        • Fixed sound and music default url issues
        • Fixed an issue where the tag arguments where being cut by one letter
        • Fixed music tag not correctly continuing, it would instead restart when no C=# used, it should default to 1 which is continue where out and repeat the sound when it reaches the end.
    • Fixed - MSP:
        • Fixed relation to MXP sound and music tag and default url
        • Fixed music downloading, if last played and played again it was trying to redownload the file instead of correctly loading from disk.
        • Fixed music continue not correctly counting repeats
        • Fixed music and sound process where if an exception happened it would crash the client.
        • Fixed music not starting downloading of file.
        • Fixed downloading freezing the progress dialog when starting a download.
        • Fixed autoplay after download has completed.
        • Fixed download size display to have correct amount of bytes received displayed.
        • Fixed off argument not always working

v0.8 Build 5461 Revision 29569

    • Changed - Misc:
        • Added support for the following protocols when detecting urls: skype, aim, callto, gtalk, im, itms, msnim, tel, ymsgr
            • These protocols do not do the :// but only have a :, it is only basic detection as these protocols may have further requirements,only basic detection was added of protocol:text
        • Added setting to disable URL detection, this unlike enable url protocols will turn off searching text totally, meaning any text that has been displayed while this is follw will not have any urls enabled, while the enable urls will find all valid links and only enable those selected.
    • Fixed - Misc:
        • Fixed a painting issue with status bar, it would trim leading spaces.
        • Fixed a bug in GMCP where it would say object not set to a referance
        • Fixed a bug in parser where it was always stripping leading zeros
        • Recoded how icons where updated to try and cut some performance issues, now the state icons are only update if the state has changed, should lower cpu in places and possible remove some lag.
        • Fixed a bug in how mailto: was parsed, it would make a link even if mailto was at the end of another word.
        • Fixed a bug in www. and protocol: where it would not be detected as a url correctly
    • Fixed - Plugins:
        • Status Window
            • Skins had wrong colors for armors, if you customized skins for status window no need to update them.

v0.8 Build 5531 Revision 29664

    • New - Icon overlays in windows 7+ when pinned to start menu or task bar, allowing you to see the status correctly.
    • New - Data Paths:
        • If you use the installer it now creates a ApplicationData Path + iceMud to store files and iceMud will check if this path exisits and will use it, if not uses the application startup thisshould fix permission issues on vista, 7 and 8.
        • Allow custom data path instead of the default one.
    • New - Scripting:
        • SendGMCP(string data) - send data to the mud wrapped in a GMCP telnet packet, do note you need to format data for target mud manually as a string, this is sent as telnet command so doe not effect idle time
        • SendSocket(string data) - send raw telent with out escaping the IAC command.
        • JSON(object data) - convert data to JSON string
    • New - Telnet trigges have been expanded and will trigger no patterns of DO, WILL, WONT, DONT now so you can emulate custom telenet options.
    • New - Commands:
        • SENDGMCP - send gmcp packet to mud in the format of #SENDGMCP Module.Message Data
        • SENDSOCKET - send raw telent with out escaping the IAC command.
        • JSON - convert data to JSON string
    • New - Plug-ins:
        • IED:
            • Remote list now shows modified date and size of file.
    • Changed - Misc:
        • Switched to NLua instead of LuaInterface, NLua is a fork of LuaInterface and is updated more often and uses a newer version of Lua.
        • Removed web update feature for now as website no longer works.
        • Upgraded Dockpanelsuite to 2.3. in thoery it may work on linux with only minor feature lost but untested, but it downgraded to a more default theme instead of the older more pretty theme.
    • Fixed - Profile Editor:
        • Database variables would error when saving.
        • Variable editor would not correctly load different type editors.
        • Use Default value was being enabled every time the name was changed in variable editor.
    • Fixed - Misc:
        • Toolwindow docking was not painting inactive tabs correctly.
        • Toolwindow captions where not displaying icon correctly when you drag a window into a floating.
        • Floating window toolbar where not being correctly unmerged from the main window.
        • There was an issue with how connection time was stored, using milliseconds caused the sqlite db to overflow causing a -date on total time on a mud, it now uses seconds for less accurate counting, but larger range of time, old times are converted
        • Active window icon was not correctly updating when window was not focused.
        • Ansi overline style support has been added.
        • The triming of lines for when you reach the limit was not correctly recounting text length causing the find text system to break.
        • A bug in speedwalking causing an object not found error do to a miss placed \n
        • Removed web update systems as website is no longer valid.
    • Fixed - MXP:
      • Line change would reset ansi colors when changing line modes.
      • Expire attribute was not correcly stripping quotes.
      • Was not resetting custom entities or elements on connect
      • Did not correctly reset tag on close if same tag nested, eg: <c red>red<c blue>blue</c>red</c> was not not turning the 2nd red back to red.
      • V/VAR/!ENTITY REMOVE was not storing the new string list after removing the value.
      • Line fragments where not correctly parsed if it had MXP tags in the center of the line
      • Fixed a parsing issue with custom elements that would throw a runtime error.
    • Fixed - Plug-ins:
      • ShadowMud:
          • During parsing if the line was corrupted it would produce an error, it now checks to ensure enough data is present before parsing.
          • Update who is url to point to new port.

v0.8 Build 4717 Revision 36210

    • New - Libraries:
        • fastJSON - add JSON support for GMCP and in future will be used to add functions/commands to allow JSON encoding/decoding
    • New - Generic MUD Communication Protocol (GMCP):
        • Added GMCP support, you can use %gmcp.module.message.key, for example %gmcp.char.hp would return the character hp
        • GMCP trigger types, you can trigger on the package module.message when received
            • core.hello is a speical trigger pattern, if created it will allow you to override the default hello sent to a mud, allowing you to do a custom hellow, and core.support.set
        • GMCP paramers avaiable in triggers:
          • %gmcp.module // main package name
          • %gmcp.package // actually the subpackage
          • %gmcp.message // the name of the message
          • %gmcp.data // the data received for this package as a database variable/string list
          • %gmcp.olddata // the previous data for this message
          • %0 // the raw string value received with the message. Should normally be a JSON string
    • New - Misc:
        • Telnet echo system has been added, it should now turn off/on if server supports it to hide passwords, can be disabled in the prefreneces, this also removed the hidden echoed command from history/command box, as most of the time this is for password protection.
        • Reply to Telnet NOP, if enabled, will simply send back the same telnet NOP back to server
        • Aliases now support %-# format, it will append from # to end of arguments so %-2 would append starting from argument 2.
        • Double underline ansi style and mapping, allows you to display double underlined text using the ansi escape or mapping.
        • Ansi mapping preference dialog:
            • A reset button that will restore all the mappings to the current ones without needing to reload all preferences.
            • A default button that will restore all the mappings to the default ones without needing to reload all preferences.
        • RemoteInfo has been updated to display MSDP and GMCP server status
        • MXP:
            • H1 to H6 tags added, it just bolds the text, and doesn't change the font size
            • RESET tag, closes any open tags, and set the forecolor and the backcolor to defaults
            • STRIKE tag, same as S and STRIKEOUT
    • New - Predefined Variables
      • %server.gmcp and %server.msdp have been added to return weather server supports them
    • Change - Misc:
        • All underlined text is now custom draw instead of using built in font style, this allows underline style even if font does not support it, and for extras like double lined.
        • TestColorsDetails script function format display cleanup.
        • Color syntax preference dialog now has double underline, and general layout tweaked to better fit the new syntax
        • DotNetZip hacks removed as MCCP was recoded to use standard decompressors, allowing standard DotNetZip library dll to be used.
        • Cleaned and Optimized Ansi/MXP parsing, also fixed an issue with leaind zeros not being ignored always.
        • Autologin system now adds a 100 millisecond delay before sending username/password, this allows for any telnet or other text from the mud to be processed before sending the username/password.
    • Fixed - Plug-ins:
        • ShadowMud:
            • Correctly handle the satyr race, the left and right hooves are now considerd feet for display
            • Re-did party to support changes to correctly remove party members when they leave the party before it would leave them with bar and 0/100 hp
            • Handles starting omud protocol better when news prompts, it will now send the init again.
    • Fixed - MXP:
        • When line mode changed from open to any other, mxp tags should have been closed but where not.
        • &#nnn; or &nnn; entities painting them had issues when high #s due to unicode issues, I have forced it to use the user selected unicode font for now in an attempt to make it paint a little better.
        • Tags were being closed on ansi block changes,when ansi block should be seemless and work with MXP block.
    • Fixed - Misc:
        • Command history up action would continue to loop the list instead of stopping once at the start.
        • Macros would echo to the screen even if append was selected.
        • %n and %d for trigger pattern types where not correcly matching, for example 1000gp would match even if just gp, it now correcly fails to match if just gp
        • Error when setting keepalive after disconnecting and staying offline
        • Recoded MCCP, should be more stable now and will be enabled by default.
        • A bug in blinking, if a mapping was set to blink, it would not blink, do note that blinking may cause slowdowns as it is still being optimized, and remember you need the global enable flashing text option on to have blinking text.
        • #SHOW had a bug where if string was only 1 letter it would error.

v0.8 Build 4670 Revision 38548

    • New - Misc:
        • Keep Alive, this feature allows you if enabled it will override the windows default to set how long to wait before keepalive is started and how long between each one, if both time and interval are 0 it will disable keep alive
            • Time - the amount of time in seconds to wait before keep alive starts
            • Interval - the time between keepalives
    • Update - Misc:
        • Command list in the manual to have the new commands from v0.8
    • Update - Libraries:
        • SQLite v1.0.66.0 to v1.0.82.0
        • DotNetZip v1.9.1.5 to v1.9.1.8
    • Changed - Plug-ins:
        • Status Window:
            • Overall AC is now just Overall, if showing ac it displays your Overall AC, if health it will display your overall Health based on your hp
    • Fixed - Plug-ins:
        • Status Window:
            • When choosing None for a skin from the options dialog it would error.
    • Fixed - Misc:
      • Error dialogs where not being on top always and would disappear behind the window and you would not see them til you clicked on them.
      • When using command history and clear command it was skiping the newest command added when using the up arrow.
      • Bug in telnet split buffering in IAC SB, it was not correctly storing the data to complete the telnet operation.
      • Unknown telnet options are now ignored correctly, before it was sending IAC when it should do nothing.
      • Readded #MENU command to execute menu items, see Reference Library for syntax
      • Readded #GAG command to gag text, also supports #GAG (expression)
      • Readded #SCRIPT. syntaxed tweaked, now #SCRIPT {script} "language" or #SCRIPT list, if language is omitted it defaults to LUA, script can also be a valid file that will be loaded and executed
      • Readded #SS, but changed how it worked, follows more zMUD/CMUD style of "language" {script} or just list, it is also no longer parsed, meaning now variables are expanded and replaced, script can also be a valid file that will be loaded and executed

v0.8 Build 4265 Revision 33749

    • New - Plug-ins:
        • ShadowMUD:
            • Added code to process hp -xp.
            • Correctly now disables or enables mud if you change the process omud pref with out a relog
    • New - Macros now support another 15 new keys, or should.
    • Update - Installer now checks to see if .Net 4 is installed
    • Fixed - Misc:
        • Down arrow key in the command line was not properly adding new commands to the command history.
        • MSXP send menu, now shows on left click, beleave this is the correct action.
        • A hack to allow corrupted profiles to load, if a profile has more then 1 item of same name it will add the irst and ignore the rest, when resaved it will lose the duplate items.
    • Fixed - Profile Editor:
        • new sound length in the trigger editor
        • an issue when saving a trigger not correctly setting the trigger when checking if a name already is added
    • Fixed - Plug-ins:
        • Status Window:
            • Issues with party member bars now being removed correctly
        • ShadowMUD:
            • Typo in prefs - composs should have been compose.
        • IED:
            • The advanced interface had issues with the lock sync system and how it matched local to remote by only matching prefixed instead of whole word.

v0.8 Build 4152 Revision 35385

    • New - Plug-ins:
        • IED:
            • Open in editor option - can now disable if you want a file to auto open in editor on download complete.
            • Delete - you can now delete remote files.
        • ShadowMUD:
            • Added code to process future combat messages to allow capture of combat data
        • Status Window
            • Added combat and party progress bar support based on using the combt and party varibles as databases with key/value pairs
    • New - Preferences:
        • Update Current Profile On Change - update the current loaded profile when it is changed by the global profile editor, in future this will some day also watch for file changes to update and reload an active profile when the file is edited.
    • New - Triggers:
        • Sound Length, you can now set for how long a sound file should play for.
    • New - Scripting:
        • PlaySound2(string soundfile, int end) - play a sound file until end postion
        • PlaySound2Ex(string soundfile, int volume, bool repeat, int end) - play a sound file until end postion
        • PlayMusic2(string soundfile, int end) - play a music file until end postion
        • PlayMusic2Ex(string soundfile, int volume, bool repeat, int end) - play a music file until end postion
        • RemoveVariable(string name) - remove a variable from profile
        • RemoveVariableDatabase(string name, string key) - remove a database key from varible
    • Fixed - Misc:
        • Seems there was a bug when dealing with tracking threads,I have updated to newer code using .net 4.0 that has better thread handling and should fix the issue I hope.
        • Bug in triggers dealing with regular expressions, it was passing next regex object not the current one so the numbers where wrong displaying wrong data or cutting data short
        • A parsing bug when parsing script commands
    • Fixed - Plug-ins:
        • General:
            • The interface had old api calls and wrong data formats for some functions.
        • ShadowMUD:
            • Skill window was not refresh when a skill was changed if open.
    • Fixed - Profile Editor:
        • Trigger Editor
            • When playing a sound file to test it would not reset the buttons when it ended.
        • Errors when saving a profile.
        • I recoded saving for items, it should check better and hopfully fix the duplicate item bug that has been around since the new editor was put in.
        • Move/Copy items was unloading the profile from cache causing errors it now should leave the profile loaded in cache till the editor windows is close.
        • Issue when pasting certain items if a copy was already in a profile, it will now correctly rename to a generic name of "item type #" eg a trigger is renamed to "Trigger_(Copy_1)" if a the unquie pattern is already in the profile.

v0.8 Build 4121 Revision 31534

    • Update - Libraries:
        • iceMud and all librarys and plugins now compile and target .Net 4.0, the only current issue is SQLite library, I am unable to get the newest version to compile (1.0.68.0) that is suppose to be .net 4 complaint, for now the work around is a custom iceMud.config file that allows a 2.0 library to run under 4.0 runtime
        • DotNetZip v1.8 to v1.9
        • IronPython v2.6.1 to v2.7
        • IronRuby v1.0.0.1 to v1.1.3.0
    • Fixed - Scripting:
        • There where problems using new multi thread system with LUA/COM setups causing certain lua code to fail
    • Fixed - Plug-ins:
        • StatusWindow:
            • Error loading skins as used wrong parse code for path
            • Error loading prefreneces due to how preferences where gotten/set
    • Fixed - Misc:
        • Was not correctly repainting when using split screen mode when trying to select text cuasing the selected text to look unselected.

v0.8 Build 4091 Revision 39334

    • New - Plug-ins:
        • IED:
            • Remote context menu has been cleaned up and right clicking on a directory no longer shows actions for files
            • Can now click changed directory and it will cd to the directory of the selected object/sub directory
            • Copy full path - copy the selected remote items full path to clipboards
      • ShadowMud:
          • Skill window size is now saved and restored correctly.
          • Who's online window size is now saved and restored correctly.
          • Who's online window now has scrollbars enabled.
    • New - Misc:
        • Add scroll bars to commandbox - disable adding scroll bars when text is larger then command box.
    • Update - Libraries:
        • LUAInterface - a patch to current version to help memory leaks.
    • Fixed - Misc:
        • Html logging of links was not being done correctly.
        • Split menu item under window menu was being shown for windows that had split disabled.
        • New blank windows where not displaying split menu item correctly, now the item is alway show if split is enabled.
        • Split menu item under window was causing a bug if used when not enough text to split screen.
        • == and ^^ where not being processed correctly causing characters to be missed and not handled right.
        • Notify windows should no longer show up in ALT+TAB
        • A repaint issue with selection, at certain points of dragging the mouse it leaves ghost of the selection at the end of previous selected lines.
        • Small crash bug after installing ie9 dealing with JScript engine.
        • Think i finally got the clear command box bug when you hit end of line and it added scrollbars

v0.8 Build 4018 Revision 35580

    • New - Logging:
        • Delete log on stop if zero bytes in advanced logging, enabled by default, when you stop a log it will remove it if it is zero bytes.
        • Ansi codes has been removed and replaced with a logging style system, you can now do Text, Ansi, or Html styles. HTML will be slower as it has to build the html based on all the data, it should get faster in the future as i optimize and work on the html converter.
        • Split log on clear, split the log when you click the clear screen button or use the ClearScreen() function, Note this will only matter if you use autoname or some custom file format, as if the file name ends up being the same it will just continue on from the same file.
        • Log Viewer now supports Export as HTML
    • New - Preferences:
        • Newline shortcut - allows you to pick how you want to beable to add anew line when using the command line, default is ctrl+enter
    • Fixed -Timers:
        • Changed timer styles to default to iceScript instead of text.
        • Timers whre over looked on the recode for parsing, they now correctly work again and use proper handling of new parsing system.
    • Fixed - Scripting:
        • GetPreference and GetVariableColor where not returning the correct values due to how it handled multi-threading, it now works correctly.
        • SetPreference was throwing an exception error when trying to set custom enum types, it now handles parsing them correctly.
    • Fixed - Plug-ins:
        • IED:
            • More crashers linked to shellnotify, i missed commenting out some code and it would crash on certain changes in windows, for now it no longer watches shell changes till i code a fix or switch to a better library.
    • Fixed - Misc:
        • The previous command in history was not being correct selected when clear command line was enabled.
        • Any browser for file/folder dialogs now handle inital opening better to set to correct paths/files.
        • On using return key in command line it was not properly surpressing the key sometimes leading to extra newlines at the start or end of a command.
        • Prepend text for logging was not handling with ansi codes correctly, it now handles as it is now part of the logging style.
        • Ansi logging was adding an extra newline every line.
        • special characters in " " where not being parsed correctly.

v0.8 Build 4011 Revision 4391

    • Fixed - Misc:
        • Bug in logging, certain characters where causing a crash due to not being allowed in windows, all charcters not supported in windows now get replaced with a _
        • Processing aliases added an extra new line at certain times.

v0.8 Build 4010 Revision 38458

    • New - Misc
        • I have added more error catching in an attempt to help narrow errors down.
    • Fixed - Misc
      • Seems %* was not marking them as used so was producing a double up effect.
      • Processing of aliases would add an extra line return when it should have been nothing there by having extra blank lines displayed

v0.8 Build 4009 Revision 42071

    • Fixed - Misc:
        • Custom Title Text was being parsed incorrectly.
        • %* was not being processed correctly.

v0.8 Build 4009 Revision 39608

    • New - Profiles:
        • Events:
            • OnNotifyClosed - Issued when a notify window is closed, title and text as arguments, Note this event fires afte all other notify events
            • OnNotifyCloseButton - Issued when a notify window is closed by using the close button, title and text are arguments
            • OnNotifyFaded - Issued when notify window is closed by being fade, title and text as arguments
    • New - Misc:
        • System tray on double click, allows you to set what happens when you double click on the notifyicon if enabled, you can Toggle window, Show window, Hide window, Show menu, Nothing, default is toggle
        • System tray on click, allows you to set what happens when you double click on the notifyicon if enabled, you can Toggle window, Show window, Hide window, Show menu, Nothing, default is nothing
    • Fixed - Profile Editor:
        • Events editor did not list all predefined events.
        • When creating a new item under main profile tree it would not correctly update the treeview control.
    • Fixed - Misc:
        • System Tray is now spelled as system tray in the preferance dialog.
        • Spell checked change log.
        • When first loading a mud window and you had custom title text it was erroring as at certain points the profile was not loaded fully at the time.

v0.8 Build 4008 Revision 37938

    • New - Notify icon context menu, added Hide Window menu item when window is not minimized, Also changed Show Window to Activate Window when window is not minimized.
    • New - Totally re-coded command parsing system to make it easier to add new commands, parameters and other features.
        • now a multi line comment format similar to c/c++/c# is now allowed to be enabled /* code */
    • New - Profile Editor:
        • Parse option is totally removed and a new style iceScript is added, selecting iceScript will be the old parse code
        • iceScript error catching on save, so will not save till errors are fixed if iceScript style is selected.
    • New - Commands:
        • nnn - execute a command block from 0 to nnn times (e.g. #10 #sa test, will display test 10 times to the screen), nnn can be between 0 and MAXINT
        • WAIT - delay a script for a period of time (#WAIT expression) wait the number of milliseconds before moving to next command
        • LOOP - look commands (#LOOP range {commands}) range is a min value and a max value separated by a command (min,max)if only a single value it is assumed to be max value and min value is 1
        • REPEAT - repeat for the number of times (#REPEAT expression {commands})
        • UNTIL - look until expression is true (#UNTIL expression {commands})
        • SWITCH - execute command when that expression evaluates to true, or execute else (#SWITCH (expression) {command} .. (expressionN) {commandN}{else command})
        • BREAK - Exit current loop block (#BREAK)
        • CONTINUE - skip remaining command and move to start of loop (#CONTINUE)
        • WHILE - while expression is true (#WHILE expression {commands})
        • RETURN - return value, only valid in user functions (#RETURN expression)
        • RESULT - set return value with out exiting function (#RESULT expression)
        • ABORT - exit code totally
        • ADD - add value to variable (#ADD varname expression), for compatibly with tintin based clients or zmud best to do @variable = @variable + expression or variable = @variable + expression
    • New - Predefined Variables
        • maxint - maximum value an int can hold
        • maxfloat - maximum value a float can hold
        • i .. z - for loop counters for up to 17 nested loops (%z)
        • repeatnum - the current loop counter value
    • New - Functions
        • clip - return or set current clipboard test (%clip or %clip() returns clip text, %clip(text) sets it, to set it to empty text just do %clip("")
        • dice - return dice (not new but now allows Fudge dice, e.g. %dice(4dF) and percent dice e.g. %dice(1d%) returns a random number form 0.0 to 1.0
        • diceavg - return the avg roll of dice
        • dicemax - return the max dice roll
        • dicemin - return the minimum dice roll
        • dicedev - return correct standard deviation of dice ((sides2-1)/12 * amount)
        • zdicedev - return zmud standard deviation of dice value ((sides -1))2/12 * amount)
        • stddev - return standard deviation of arguments, strings are considered 0 (%stddev(parameters))
        • abs - absolute value of an expression (%abs(expression))
        • bitand - bitwise and of 2 expressions (%bitand(expression, expression))
        • bitnot - bitwise not of an expression (%bitnot(expression))
        • bitor - bitwise or of 2 expressions (%bitor(expression, expression))
        • bitxor - bitwise xor of 2 expressions (%bitxor(expression, expression))
        • max - return max value of parameters, strings are ignored (%max(parameters))
        • min - return min value of parameters, strings are ignored (%min(parameters))
        • mod - modulus between 2 expressions (%mod(expression, expression))
        • pow - raise expression a to b (%pow(a,b))
        • sqrt - sqrt of an expression (%sqrt(expression))
    • New - Profile :
        • User functions
            • now accessed with the @ variable charter to make all user created vars/functions different then the system functions/variables
            • Inline option, allows you to create a function with out a #return or #result, if disabled #return or #result is required to get a value from a function.
        • Status
            • Made simpler, but breaks support of older status items, old status had separate places for window/line now combined into 1 value
            • Show in status bar - display the status item in the status bar
            • Show in status window - display in status window (currently no status window but it is a future add)
    • New - Scripting:
        • Wait(int milliseconds) - sleep for the amt of millisecond, milliseconds must be greater then 0;
        • SavePreferences() - allows you to save the preferences at any time
        • SetPreference() - now saves every time a value is set.
    • New - Misc:
        • Pattern matching now supports %/regex/% format as used in the new CMUD, just uses .net regex engine instead of perl.
        • Pattern matching now supports named sub patterns (@var:subpattern) must have the @
        • Prep for move from defaulting to startup path for saving files, in future it will allow you to set to save all files in ApplicationData Folder\iceMud to allow multiple users to use the same iceMud and keep there data in there app folder, in future will make this work from installer and maybe allow custom paths.
        • Macros from inherited profiles where not being processed correctly when send to mud was unchecked.
        • Listviews/treeviews now use the Win7/Vista look, if one does not report it.
    • New - Preferences:
        • Scripting has now been split into scripting and scripting command line and options have been moved where they best where suited and some more fine grained controlled, you can enable . disable commends for general scripting (profile items)and command line independently, note: all of the options for general also apply to command line unless separate options in Scripting Command Line, and command line allow you to enable features that general scripts can not use or are always on.
    • New - Plug-ins:
        • IED:
            • You can now make a new or remove directory.
      • ShadowMUD:
          • New icon and about logo, now uses the Monument picture from the web site, looks better then the generic random fantasy image from before.
    • Fixed - Profile Editor:
        • Profile settings where not all saving.
        • Functions where being created as nicknames and not functions so erroring.
        • Profile editor inherit icons had some problems when first loading.
        • Spaced out checkboxes more on Profile edit page, font/dpis could cause overlaps or checkboxes being hidden by others.
        • Selecting profile in the treeview caused a null error when saving preferences.
        • Control Editor
            • Resetting states to default when loading.
            • Drop down colors when menu style were not updating in the sample.
        • Was not restoring previous selected item when reloaded if more then 1 type had the same name (e.g. class named test and a menu named test, class is always selected no matter which)
        • Save/Restoring currently selected item, it would fail to restore if item had a \, | or / in the item name, it now stores differently to correctly avoid it by using a more obscure charter to separate the paths
    • Fixed - Plug-ins:
        • IED:
            • When editor not found now displays a more friendly message popup.
            • Advanced interface not updating the local dropdown when changed by double clicking a folder
            • Fixed a long standing bug in IED Advanced when crashing on Windows 7 64bit, the reason it crashed was a miss handling of memory on notification system.
    • Fixed - Triggers:
        • After the first enabled trigger it would stop checking others, even if the enabled trigger was not executed.
        • Setting of default class was wrong, it was setting every trigger instead of just the one that is executed.
        • Cleaned up a lot of code, so things may break but will make maintaining of triggers easier and faster code.
        • A few places did not execute TriggerOnTriggers correctly, now all triggers correctly call this.
        • In several places it would try and remove triggers from the main profile, but the triggers where from inherited profile.
    • Fixed - Misc:
        • Finally fixed a closing bug that when new windows opened then closed, it would prevent the main window from closing.
        • Sound state when trying to get length of sound file.
        • Find had a bug when search up was checked.
        • About dialog links now work to open url for the libraries used in iceMud.
        • Mud list was broken, now opens again.
        • File/Directory creation, it was creating paths all over, it now changes CWD to startup path
        • When error logging and if you had more then 1 error after another it would crash iceMud with an error about not be able to access error log more then once, this is due to the file being locked from the first error, now has proper catching and will display if it fails, along with the error message.
    • Changed - Display:
        • If background color is the same as selection background color it now reverses background and foreground selection colors.
    • Changed - Logging
        • auto-generated log names with name named, was using @name variable, now uses %name, which is the username for the current session, either set from the mud manager, login prompt or in the telnet url (telnet://username:password@server:port) syntax if you want to sue @name use a custom log file name as it allows user variables and any other parameter.
    • Known Issues - Misc:
        • 0.8 breaks old profiles that had status items, this is due to a update and removal old and duplicated code.
    • Known Issues - Plug-ins:
        • IED:
            • Local directory drop down - may not update or error if the folder is renamed.
            • Rename both remote and local do not work yet.
            • Make New Directory does not work for local yet.
            • All commands do not work on folders, e.g. you can upload a folder or dl one.
    • Known Issues - Profile Editor:
        • Import/Export wizard, before new editor, a wizard was supported, currently it has not been re-added.
        • Numerous small things that the old editor has and the new one lacks, sooner or later they will be re-added, unless no longer needed or they where buggy.
    • Known Issues - Parsing:
        • Missing Commands, some old commands have not yet been converted to the new parsing system, will be re-added as i get to them, if they are important and you used them get a hold of me and i will see about redoing that command before next release, and possible send you an alpha with a working command.
        • DPI - window/close button does not paint always, .net bug unfixable, related to DPI not being standard, work around is more complex then i want to work on, so if you use a non standard DPI your on your own for now, this includes all past versions.

v0.7 Build 3850 Revision 25769

    • New - Scripting:
        • Eval(string text), evaluates text using iceMud scripter and returns the expanded string
        • WSH engines now support an auto included file like ruby/python, just name it ENGINE and put it in the scripts directory, where engine is the name (e.g. JScript or VBScript), I plan to move from ims to the native extension but I have yet to find where windows stores the link between engines and their default extensions
        • WSH most functions that used variable number of arguments now require it in array format due to limitations of Com, certain languages and .Net, (e.g. iceMud.Print(["JScript", 3]); or iceMud.Print array("VBScript, 4") ), other functions have been re-coded to allow fixed arguments (e.g. Random, now requires a min/max, by setting -1 as max, min is treated as max - iceMud.Random(10, -1) returns 0 to 9, set both to -1 and it returns a random number of 0 to MAXINT)
        • JScript comes with a a custom function that allows you to pass arrays to the iceMud object, reason is jscript arrays do not always work, just do ConvertArray(jsarray),
        • (e.g. iceMud.Print(ConvertArray(["Hello", "World"]));)
        • GetParameter now supports named arguments, #'s and * for those areas that offer them (triggers, aliases, events) allowing disabling of parsing as many scripting language charters are parsed and may cause errors.
        • WSH engines now have all predefined constants added so you can do things like JSCript: iceMud.MessageBox(["message", "caption", MBButton_OK, MBIcon_Exclamation]);
        • all constants can be accessed from the icemud object (e.g. iceMud.CONSTANT) this allows for languages that need a direct number (e.g. VBScript marks constants as an object)
        • SendFile and SendRawFile prefix and postfix argument are now optional, you can do SendFile(file), SendFile(file, pre), SendFile(file, pre, post)
        • LUA now adds script objects, iceMud is the only one unless a plug-in registers one. (e.g. iceMud.BLAH) should now work in LUA, note some functions may not work the same as the direct call do to i have some LUA code that wraps them for ease of use (e.g. iceMud.Print is warped in local LUA code to trans late the parameters into a table for passing new LUA interface fixes this issue so wrapper code may no longer be needed.)
        • New constants that can be used with execute or evaluate script with proper casing, ENG_LUA = "LUA", ENG_PYTHON = "IronPython", ENG_RUBY="IronRuby", ENG_JSCRIPT = "JScript", ENG_VBSCRIPT = "VBScript"
            • e.g. ExecuteScript("code", ENG_JSCRIPT) or ExecuteScript("code", "jscript")
    • New - Predefined Variables
        • os - returns current os information.
        • netbios or machinename - returns net bios name or machine name for current pc
        • server.connected - returns true if mud is connect return false if disconnected
        • server.naws - returns true if server supports NAWS, false if it doesn't
        • server.mxp - returns true if server supports MXP, false if it doesn't
        • server.msp - returns true if server supports MSP, false if it doesn't
        • server.mccp - returns true if server supports MCCP version 1 or MCCP version 2, false if it doesn't
        • server.mccp1 - returns true if server supports MCCP version 1, false if it doesn't
        • server.mccp2 - returns true if server supports MCCP version 2, false if it doesn't
    • New - Misc:
        • Preferences - Enable Scroll Optimizing, turn off the code I use to try and improve cpu and redrawing speed, disabling will redraw the entire screen when new text arrives, while the other optimizing code tries to scroll the screen and only redraw the changed
        • Preferences - Show Script Execute Time, display how long a script took to execute only applies if style is set to a scripting language or SCRIPT/SS/SCR commands
        • area using winapi. disabling it may produce smoother scrolling for newer systems, while older systems will benefit from the older optimizing systems.
    • New - Timers:
        • Updated Editor for timers to allow disable of parsing as in any object in a profile.
        • Editor interface has been updated to feel more like new profile editor.
    • Update - Libraries:
        • Dock Panel Suite v2.2 to v2.3.1 modified to suit iceMud needs.
        • SQLite v1.0.65.0 to v1.0.66.0
        • DotNetZip v1.8 to v1.9
        • LuaInterface v2.0.3 to r17m a modified library from latest svn that fixes some bugs and some custom code by me to add some features for easier interaction between .net and LUA
    • Update - Help:
        • Added Ruby, JScript, and VBScript links to the Scripting page, also started work on sub pages for functions as I coded Com fixes, with examples for each of the 5 languages (lua, python, ruby, jscript, vbscript)
        • Added DisplayNotification Information to main scripting page, including constant list for bgstyle
        • All syntaxes should now color iceMud constants bold dark red
    • Changed - Scripting:
        • Escape now will escape any special characters using the escape character if escape character in icemud is enabled, disabled it replaces \ with \\ and " with \"
        • Removed MSScriptControl object and now access WSH directly using com interface allowing direct control instead of using the older activex control as a middle man.
        • Fixed function names, all functions from iceMud should be create casing now with camel casing or try and follow the naming convention of that language if feasible.
        • All iceMud constants are all caps now regardless of language, for non case sensitive languages it doesn't matter
        • GetVariableColor() no longer returns a color object but a string representation in a one of the supported color formats.
        • ExecuteScript(string file|code, string engine, bool parse) - can now be used to execute code instead of just a file, instead of passing a file path, pass a code snippet to be executed
        • EvaluateScript(string file|code, string engine, bool parse) - can now be used to evaluate code instead of just a file, instead of passing a file path, pass a code snippet to be executed
    • Changed - Fonts
        • Added more trap code to font selection seems .net has a problem in the font dialog when new fonts are installed while iceMud is loaded and may cause a crash, this may or may not fix the problem
    • Changed - Misc:
        • Command line switches now support /switch format or the -switch format
        • Some code clean up, removes unused code and graphics to make faster/ smaller exe
        • SCRIPT/SS/SCR list command has been re-coded to be faster and cleaner
    • Fixed - Sound/Music - internal sound system was setting volume wrong, now sets correctly based on the 0 to 100%, effected MSP only
    • Fixed - Display:
        • A long standing double up text when painting has been fixed, it would happen if you received text while the client was minimized.
    • Fixed - Profile Editor:
        • Control data was not saving correctly every time.
        • Editors where not applying syntax highlighting correctly.
        • Error in the IronPython syntax file.
        • All Editors had problems when changing parse and updating syntax highlighting.
        • When changing highlight if error in syntax fight causes editor to not be shown correctly.
        • JScript syntax file comments are now green like most other languages
        • IronRuby syntax file now supports block comment highlighting
        • IronRuby global variables where not being set right so it was erroring when you tried to use one.
        • Copy, Cut, Paste, Delete now use proper code for when the value text editor has focus, before cut was not working and copy/paste/delete where hacks
    • Fixed - Scripting:
        • IronRuby does not work like IronPython it seems so you can not call functions directly (e.g. Print("test")) you must use the iceMud object (e.g. iceMud.Print("test"))
        • SetVariableDatabase , SetVariableDatabaseEx, and GetVariableDatabase where not being exposed to scripting.
      • RemoteInfo(), LocalInfo(), ProcessInfo(), DebugInfo(), ClearScreen(), TestMSPSound(), TestMSPMusic(), ShowWindow() where not correctly exposed for scripting and some would not reset text colors after displayed
      • PlaySound(string soundfile)
          • Was only playing sound the first time.
          • Default Volume was to low, now defaults to 100%, use PlaySoundEx(string file, int volume (0 to 100), bool repeat) to adjust volume
      • PlayMusic(string soundfile)
          • Was only playing music the first time.
          • Default Volume was to low, now defaults to 100%, use PlayMusicEx(string file, int volume ( 0 to 100), bool repeat) to adjust volume
      • All Window Script Host that would try and access iceMud object would fail on any function call due to interface problems, Note before fixes most if not all iceMud.functionname failed, now they work with one note any variable argument functions are missed with arrays e.g. iceMud.DisplayNotification(["JScript", "test"]), iceMud.DisplayNotifications array("VBScript", "test"), notice how the arguments are in the form of an array, some functions will mix argument, argument, array of args as required variables are not in an array
      • When loading it was creating IronRuby and IronPython engines every time instead of on first use due to the way I handled adding iceMud to scripting engines, now they no longer are created and client should load faster.
      • Forgot to add defines for BackgroundStyle for DisplayNotification()
      • FlashWindow() has been fixed to allow variable arguments instead of requiring all 3
      • ExecuteScript, EvaluateScript and SCRIPT/SS/SCR to allow case insensitive for selecting script engines, before it needed exact case for WSH engines.
    • Fixed - Plug-ins:
        • IED:
            • Running external editor would error if file not found, now displays a not found error.
            • Wrapped all code that executes a process so it now traps any errors (opening a file, running editor, notepad, etc...), this should keep icemud from crashing if there is an error opening or trying to run a file.
            • Remote drop down box had incorrect icons in windows 7, now should use correct folder icon.
    • Fixed - Misc:
        • Currently iceMud requires 2.0 and 3.5 due to the way Microsoft handles .net,newer versions do not install older version meaning you need to install 1 of each version, even if 3.5 (2.0 + WPF/WCF) really is just and extension of 2.0, 3.5 should install 2.0 but it may not. (http://en.wikipedia.org/wiki/.NET_Framework)
        • Now compiled in vs 2010, move to trying to update to .Net 4.0 as scripting is suppose to be faster and better memory management but it will take a few builds before totally 4.0
        • When Command auto resize was enabled and the screen was minimized then restored, it would deselect any text in the command box.
        • Bug in Webupdate, due to the way icemud.no-ip.org was loading it would error, it now uses http://www22.brinkster.com/lordwolfen/telnet/

v0.7 Build 3772 Revision 3408

    • Fixed - LUA and LuaInterface where older version so caused errors when using LUA as scripting language

v0.7 Build 3771 Revision 40402

    • Fixed - Notify Icon tool tip text is limited to 64 characters and I didn't have a check for it.
    • Fixed - Profile Editor Closing, seems there was a bug in closing and I was unable to find it, there is now more error catching on closing editor.

v0.7 Build 3769 Revision 38915

    • New - Profile Editor:
        • Re-Coded from the ground up to be cleaner and offer more features.
        • Filtering:
            • No more pages per type, now you filter by type so you can view any items you want at a time
            • Class as Folder/Item toggle to allow listing as a folder navigation or all items as 1 list
            • Quick filtering, allows you to enter text and filter by that based on name, value, or notes.
        • Listview has been replaced with a treeview, where root is the profile, and only 1 profile is shown at a time
        • Updated the image selection, now uses the same dialog box that you use when picking your icon in the mud editor.
        • Updated object editors, they have been cleaned up and new functions have been added, most editors now have hidden panels that hide the more advanced options or notes
    • New Inline Function:
        • %escape(string, parse) - works like escape scripting function by escaping a string using C style (\ become \\ and " become \"), parse argument is optional, by default it will attempt to parse the string for variables and functions, parse value is either true/1 or false/0, examples:
            • %escape("@test") - will parse @test as a variable and escapes the returned value
            • %escape("@test", true) - same as above
            • %escape("@test", 1) - same as above
            • %escape("@test", false) - escapes @test
            • %escape("@test", 0) - same as above
        • any other value besides 0 or false is considered true
    • New - Profiles:
        • All objects now have a Notes field to allow making quick notes for an object.
        • This should be the last of any major features added to profiles I hope, any new stuff should be to the types them self and not new types.
        • Functions:
            • Custom user functions used as %functionname(args...)
            • Supports named arguments or the %# formats.
            • If function name is same as internal function the custom one is called.
            • Currently text style can not return values, only other languages can as text is not a real scripting language at the moment but a faux hack parsing system that does every thing inline instead of a vm/interpreter system.
        • Controls:
            • Push button, a simple push button that will execute the script when clicked
            • Toggle button, a simple toggle button that is either on or off state, can se the @variable name supplied to access state, returns 0 or 1, can use the variable to change the state too
            • Gauge, allows for progress controls, can set a low, max and current value and a color for max and or not.
            • Menu, a menu drop down button that will drop a menu of items from a class set to the type of submenu, value is the full class name, e.g. class1|subclass...|classn
            • Multistate, split menu button, the main button acts like a push button while the drop down arrow allows you to change the state of the button to one from the menu
            • Separator, a simple line separator
            • Label, displays plain text
            • All controls allow user to select color, font, size, location, and many other options to control location/appearance.
      • Menus:
          • Priority, used to order the menus from lowest to highest, remember all sorting is Main profile first by priority, then each inherited profile by order and there priorities.
          • Icon, now supports using internal key to access built in images.
          • SubClass, replaces children, you put the full path to the class you want as a sub menu, if class has sub menu option enabled will display all menu items as a submenu. Use the | separator to put in a full path e.g.: class1|subclass|subsubclass.
      • Macros:
          • Send to MUD, new option to tell macro to send directly to the mud after parsing.
          • Append to Command, new option to tell macro to append to command text after parsing, if send to mud is check it will not append to command
          • Names are now optional.
          • Can no longer pick None as a key as well that's counter point of why you want a macro.
          • Win key as a modifier, note built in windows short cuts like WIN+E can't be overridden
      • Nicknames:
          • Regular Expression, new option to treat the replacement as a regular expression patter.
      • Classes, You can now group items by class to allow you to enable/disable as 1 group instead of one at a time, also now used to set sub menu items instead of the old children system.
          • Enable when connecting, will enable class when connecting to a mud
          • Disable when connecting, will disable class when disconnected from a mud
          • Set as Default when executing, when an item in class is executed or ran set it as the default class to use when creating new items from command
          • Sub menu class, the class is a sub menu for use with Drop down menu buttons and Context menus
      • Paths :
          • Use Keypad, when enabled allows you to use the numpad if numlock is on to enter the directions or delete a direction
          • Use Directions, uses the new direction items for short format of number and 1 char per direction, else uses the old system
      • Directions:
          • Used when paths have Use directions enabled, allows single characters to be translated to a command.
      • Statuses:
          • Status bar/window items, if Line is not empty they are appended to the status bar with a space in between, works just like the custom status text only allows multiple items to be combined into 1 long status message.
      • Variables:
          • Type, new option to set the type of variable instead of style, style is now only used with certain types, the String list is no longer a style but a type
              • AutoType, will attempt to set its type based on the value entered, if a number will be an integer, if a decimal a float, if a string in list format (val1|...|valn) will be treated as a string list, if in data record format (key1=val1|...|keyn=valn) it will be treated as a database record.
              • Integer, will always be treated as a number no matter what the value
              • String Expanded, expands the string value like previous using style and parse options to know how to handle the value
              • String Literal, value is as is
              • String List, an array of strings
              • Float, will always be treated as a floating point number
              • Database Record, a Key and Value type, you use @varname[key] to access or set
      • Events:
          • OnNotifyTitle, fired when title text of a notification window is clicked, arguments of Title, Text
          • OnNotifyText, fired when text of notification window is clicked, arguments of Title, Text
          • $ is now optional for named arguments.
    • New - Misc:
        • Image selection dialog has been updated, now only shows 1 image instead of a 16x16 and a 32x32 for a cleaner look, also now has a reset button that will clear and reset to defaults.
        • Double speed path character if using directions option is enabled or force directions, it will try to reverse the path.
        • Styles can now be access from View menu not just toolbar context menu.
        • Plug-in manager now displays plug ins that have errored when loading and allows you to remove them.
        • Show in System Tray - icon now can be displayed in the system tray.
        • Hide on Minimize - hide window from task bar when window has been minimized, only worked if Show in System tray is enabled.
        • New notification Preference page to set default style and look of popup notification window.
    • New - Login Triggers - Added as some muds may not be able to use the send right now system currently in place, this will allow for even more custom and tuned login. If login prompt is enabled and no username and password are supplied it will display the login prompt when the username login trigger is first fired and then use that username and password to send for the triggers.
        • Username, when triggered it will send the user name stored for the mud login
        • Password, when triggered it will send the password stored for the mud login
        • Maximum of commands enabled. the number of commands before the triggers will no longer work for, meaning after this many commands have been sent to the mud they will no longer be able to trigger unless disconnected and reconnected.
        • Regular Expression - Treat login triggers as regular expressions, else it is exact matching of text.
    • New - Command Line:
        • Speed paths now offer a direction mode that will force the string to use Directions from the current profile. the to enable force mode add a - after the speed walking character (e.g. .-n would force n as the path in direction mode, ..-n would reverse the path in direction mode) Note: force is only applied if a speedpath is not found. reason this feature was added so that it would keep the backward support of either number or space separators and the direction system.
    • New - Scripting:
        • SetVariableDatabase(string name, string key, object value), Works like SetVariable but for the new database records
        • SetVariableDatabaseEx(string name, string key, object value, string color) - Works like SetVariableEx but for the new database records
        • ShowWindow(), Shows main window and actives the mud window that issued the call
        • HideWindow(), Hides main window if System Tray option is enabled, other wise it minimized it to the task bar.
        • GetVariableDatabase(string name, string key), works like GetVariable just allows a key for the new database record type
        • DisplayNotification(string message), Display a notification balloon in the lower right corner of the desktop
        • DisplayNotification(string message, int displaytime)
        • DisplayNotification(string title, string message)
        • DisplayNotification(string title, string message, int displaytime)
        • DisplayNotification(string title, string message, string icon)
        • DisplayNotification(string title, string message, string icon, int displaytime)
        • DisplayNotification(string title, string message, string|color textcolor, string|color backcolor)
        • DisplayNotification(string title, string message, string icon, string|color textcolor, string|color backcolor)
        • DisplayNotification(string title, string message, string icon, string|color textcolor, string|color backcolor, int style)
        • DisplayNotification(string title, string message, string icon, string|color titlecolor, string|color messagecolor, string|color gradient, string|color backcolor)
        • DisplayNotification(string title, string message, string icon, string|color titlecolor, string|color messagecolor, string|color gradient, string|color backcolor, int style)
            • All Colors - string as a format icemud accepts or a Color type(IronRuby and IronPython)
          • title - the title of the notification popup
          • message - the message of the notification popup
          • icon - a path or image key to set the popup icon;
              • Image Keys: Rune Axe, Gun, Terminal, Terminal2, Terminal3, Terminal4, Wizard, Wand, Tools, Tools2, Heart, CompassN, CompassNE, CompassE, CompassSE, CompassS, CompassSW, CompassW, CompassNW, Application, Asterisk, Error, Exclamation, Hand, Information, Question, Shield, Warning, WinLogo
          • textcolor - Color of message and title
          • backcolor - Background color
          • titlecolor - color of title
          • messagecolor - color of message
          • syle - background fill style must be a number between 0 and 4, or use one of the predefined constants
              • NOTIFY_STYLE_HORIZONTAL = 0;
              • NOTIFY_STYLE_VERTICAL = 1;
              • NOTIFY_STYLE_FORWARDDIAGONAL = 2;
              • NOTIFY_STYLE_BACKWARDDIAGONAL = 3;
              • NOTIFY_STYLE_SOLID = 4;
          • displaytime, milliseconds to display popup, if 0 stays displayed until closed, title clicked, or text clicked.
    • Updated - Libraries:
        • IronPython 2.6.1
        • IronRuby 1.0 RC2
    • Changed - Misc:
        • Icons have been updated, most are the same, some will look cleaner/clearer.
        • Gradient Style renamed to Professional.
        • Internals have been cleaned up more so may help increase speed in places.
        • Status bar no longer is processed if hidden, and once re-shown it will refresh interface for all mud windows, where before it would process the status bar info regardless if shown or not.
        • Colors now support the #RGB, #ARGB, #AARRGGBB formats, along with the old formats of #RRGGBB - R,G,B - R:G:B - A,R,G,B - A:R:G:B and color names
        • // Style comment setting no longer applies to command line, meaning if enabled and you use.
        • ; style commands have been changed and no longer apply to command line
    • Fixed - Variables
        • Variables individual enable/disable was not being taken into account, meaning even if disabled variables where still being updated/changed
        • Interface was not being updated correctly when variables where changed, e.g. the status bar text wasn't always the most current.
    • Fixed - Profiles:
        • Several items where saving extra unneeded data, it has been striped so profiles should be smaller and easier to read.
    • Fixed - Scripting:
        • LUA was not working on x64 systems due to it being x86 native code, All iceMud is now set to compile as x86 to ensure compatibility.
        • .\scripts\pre.lua was requiring the bit library wrong and was not loading correctly
        • Escape now escapes " as \"
    • Fixed - Misc:
        • Menus didn't always update correctly after closing floating windows.
        • Null check to parsing.
        • Error Logging, when logging certain errors it was well generating other errors and hiding the real problem, it will now log the inner errors first then outer errors.
        • MXP parsing bug for HIGH and H where being treated as STRIKEOUT.
        • Typo in default Macros for SouthWest and SouthEast, will only affect new profiles.
    • Fixed - Plug-ins:
        • IED:
            • Preferences where not being loaded correctly and was adding an extra plug-in.

v0.6 Build 3622 Revision 36205

    • New - Updater:
        • Updates can now be installed or download the installer, install will only update files that are new or missing. All downloaded files are cached in iceMudPath\WebUpdate. they are just standard zip files that contain the required updates.
        • iceMud has a new 'Force Web Update' menu item in client that will forcibly run the web update regardless of settings and version to check and try and download any new files.
        • WebUpdate has 3 command line arguments to allow for more customizing if you wish to use it outside of icemud
            • -ignore/-i - ignore when it was last checked and compare any ways.
            • -force/-f - download new files and install even if same version.
            • -icemud/-i - load icemud when updater is closed.
            • -close/-c - automatically close updater when done checking and installing updates.
            • -details/-d - show details
            • -log/-l - log details to WebUpdate.log, will append any new to the end of the file
    • New - Display:
        • Link security, you can now set which protocols can be links and clickable, meaning you can say disable http:// but allow telnet://, default is all are clickable.
    • New - Controls:
        • Alpha support for controls, currently can only add and edit properties, does not yet add to mud window.
        • Menu type requires class support before being supported
    • New - Profile Editor:
        • Python and Ruby now support syntax highlighting
        • Context icons can now be either a path, use a built in image, or embed an image into the profile. All icons for context will be shown as a 16x16 icon, if embedded it will resize the image internally to 16x16 to save space.
        • Icons in listview now dim when item is disabled.
        • Added Icons to the buttons on the profile properties editor for a less plain look.
        • You can set the toolbar display style to Text, Icon, Or Both Text and Icon independent of the main window.
        • Classes, They have somewhat been started you can add and set names but that's about it, for now that will be all as I am going to re-code the entire profile editor instead of trying to hack more onto the current editor.
    • New - Libraries:
        • ICSharpCode.SharpZipLib.dll, re-added, new WebUpdate uses it to un-compress files to save bandwidth
    • New - MSP:
        • Allow inline MSP, if enabled allows MSP lines that are in the middle of text to be parsed and processed (e.g. text!!SOUND(args)more text)
        • Web downloading should now work, if none currently being downloaded it will start it and open a dialog progress window, if a file is already downloading it is queried to be started after current is done.
        • Should now return error messages when you try and play a file and it fails for a reason.
    • New - Expressions:
        • != is now supported so you can do 1 != 2 and return true/false
        • Remember single operator is bitwise and double op is logical so | == bitor while || == logical or, as in c++, same applies to ^ and &
        • OR, AND and XOR are now required as operator, e.g. 1 OR 0 == 1
        • true, yes, on now have a value of 1 (case does not matter meaning, TRUE = true = True)
        • false, no, off now have a value of 0 (case does not matter meaning, FALSE = false = False)
    • New - Misc:
        • The edit current profile toolbar icon now has a drop down that lets you go directly to the page you want.
        • The edit current under the view menu has been updated to have the same go to page you want like the new toolbar icon, you can click on main to open like old, or not one of the sub items to go to that page directly
    • Updated - Libraries:
        • IronPython 2.6 RC 2 to RC 3
    • Changed - Profile Editor:
        • Moved all *.xshd files and SyntaxModes.xml into a Syntax folder to group them together, these are used to control syntax highlighting for the script editor.
    • Changed - Profiles:
        • Changed some internals of profiles to prepare for a new system of storing in preparation of class support.
        • Profiles should now use less memory as I re-coded and removed extra and unneeded code.
        • Items are now sorted internally and should help speed up in certain places.
    • Fixed - Misc:
        • Floating window icons should now be correctly set.
    • Fixed - Profiles:
        • Triggers where saving data in more then 1 place, causing extra large files, when profile is reloaded and saved next time the extra unneeded data will be removed and should result in smaller profiles and quicker load times.
    • Fixed - Math Expressions:
        • &, |, and other operators where not being handled correctly.
        • ^ (exclusive or) operator was not working.
    • Fixed - Scripting:
        • IronRuby and IronPython now correctly run pre/post scripts if there in the parent iceMud folder or scripts sub folder.
        • pre.*/post.* can now be stored in the scripts folder or the parent iceMud folder, note if in both it will only execute the ones in parent folder
        • Removed looking for the site.py, just use pre.py or post.py
        • Search paths now include icemud parent folder and the scripts sub folder.
        • Added comments to the pre.py that explain how to use python standard libraries
        • Installer will no longer remove the scripts folder when uninstalled.
    • Fixed - MXP:
        • Sound/Music tags where not parsing the file name correctly.
        • Sound/Music tags when just a file name as an argument it was not processing right.
    • Fixed - MSP:
        • Threading issues that would fail when trying to play a sound.
        • Would error if files were missing, now will check if file exist in sound path, if not it will try and dl from the default url if mud has set one, if none it will try the url set in the preferences for downloading, if neither are set it will not download the file.
        • When parsing the arguments it was cutting off the trailing character causing MSP lose arguments or have incorrect file names.
    • Fixed - Profile Editor:
        • When double clicking an item that wasn't in profile list mode it would error.
        • Added events icon in the view menu
        • Added new types to batch add, can now batch add variables, controls, or events.
        • Some menu items where not being enabled correctly for adding new items.
        • Some memory issues when switching editors, it was not releasing events for old editors.
        • Changed how new item names are generated, now it will start with New Type, if it exist, it will add a number till it finds a name that is not already used, this fixes a bug if you created your own item with the name New Type #.
        • When closed was not freeing some window resources correctly
    • Fixed - Display:
        • Resize paint bug
        • if mud window is resized to small it would error due to a miscalculation in scrollbars
        • iceMud://command from mud and if clicked it would send command to mud with out the users permission. Reason is iceMud:// is used internally for MXP links to know when to handled it as a command or prompt, but as it I didn't mark them as local links any iceMud:// url was executed as a local command.
        • Horizontal scrolling was not repainting correctly.
        • Selection repainting was not taking horizontal scroll value into account when so was not redrawing correctly when scrolled to the right.

v0.6 Build 3593 Revision 24929

    • New - Scripting:
        • ProcessInfo(), list process information about client process, whole client not active window.
    • New Preference:
        • Can now set if you want strings treated as literals in scripting meaning "%version" would return "%version" to functions, instead of replacing with the icemud version #
    • Changed - Scripting:
        • RemoteInfo() and LocalInfo() have had there colors updated to match ProcessInfo()
        • In previous updated changed parsing to make any text in "" or '' be treated as it is, I removed the check and it works like it did before
    • Fixed - Profile Editor:
        • Import wizard did not have Events
        • Profile properties now list an enable events check box and an Event button to go to that page
        • Tweaked code to try and speed up loading of editor

v0.6 Build 3592 Revision 33513

    • New - Scripting:
        • Added IronRuby, allows you to run ruby as script type
        • RaiseEvent(string name, args...) will raise an event of name and pass any arguments to it ex: RaiseEvent("onconnect"), will raise connect with no arguments, RaiseEvent("onconnect", "test", 123) will raise connect and pass the arguments "test" and 123
        • LocalInfo(), to go along with the RemoteInfo() function. This function returns information about your system.
    • New - Mud Client Compression Protocol (MCCP)
        • Added Alpha support for it, may or may not work still testing so LOTS of errors to come of this, need to find a good server I can install locally to test on more one, I have sucks.
        • Should support v1 and v2, and if server supports both v2 should be the defaulted one (really same thing only diff is how it tells when to start compression and option number)
        • Default it is off due to the possible bugs and untested 100%, to enable mud preferences > general > emulation > MCCP
    • New - Libraries:
        • IronRuby, adds IronRuby support for scripting
        • IronRuby.Library, libraries for IronRuby
        • Ionic.Zlib, adds zlib support for MCCP, I tried SharpZipLib but if failed to decompress for me, but this library decompressed right away and the data with no errors, may try SharpZipLib again but for now this one works so it stays ;)
    • New - Profiles:
        • Trigger priority, you can no set the priority of a trigger, lower numbers fire before higher numbers
        • Alias now support named-arguments, in the alias editor there is now a Params text box, format is $arg,$arg2,...
        • Events, profiles now have a new type that works like a trigger, they are executed when an "Event" happens, e.g. OnConnect. Events can have argument that work just like aliases, %0 is event name, and %1 ... %n are the arguments, also supports the new Named Arguments
            • Predefined:
    • New - Profile Editor:
        • Trigger Editor
            • Priority option now added.
        • Events Editor
    • New - Plug-ins:
        • Status Window:
            • Overall AC should now be displayed under the limb display
    • Changed - Tweaked a lot of the code using fxcop and clrprofiler to speed things up and help memeory. overall I re-did a lot of code or moved it around to be better optimized I hope, overall still a lot to issues listed in fxcop, not sure if I want to even look into fixing a lot of it deals with p/invoke. Debating on upgrading interface to WPF that would not need p/inokes but would mean a re-code of interface yet again and could be high cpu on certain systems with low end graphic cards.
    • Changed - Scripting:
        • ServerInfo() renamed to RemoteInfo()
    • Changed - Internal Events
        • OnPreferenceChanged, no longer fired unless value is different before it was firing even if save value;
        • OnVariableChanged, same as OnPreferenceChanged
    • Updated - Libraries:
        • IronPython, 2.6 RC 1 to 2.6 RC 2
    • Updated - Installer:
        • Use newer version to build, adds Win 7 support
        • Added RequestExecutionLevel check for Vista/Win7 should be user as my client doesn't mess with anything in system or things that require admin access
    • Changed - Scripting:
        • Renamed Python in all places to say IronPython, if you use python as your selected language make sure it is still set
        • Command Stacking Separator default character changed from & to ;
        • Any thing in "" or '' is no longer expanded as "" or '' are considered strings and treated as is, meaning "@var" will return "@var" instead of the value in @var, the only exception is if you have strip " or ' turned on then it will ignore all " unless escaped
    • Fixed - Internal Events
        • OnVariableChanged no longer saves profile every time it is triggered only when the value changes, this will increase IO performance
    • Fixed - Plug-ins:
        • IED:
            • Context menus where not being styled correctly.
        • ShadowMud:
            • Capture tell dock preference was not saving.
    • Fixed - Command:
        • SCRIPT
            • now allows LUA, IronPython or IronRuby to be passed as a language instead of just the scripting host
            • scripts are processed different, any returned value are now processed.
    • Fixed - Scripting:
        • Error with IronPython setup
    • Fixed - Display:
        • Mouse Wheel, calculated point wrong and was not scrolling correctly
    • Fixed - Profile Editor:
        • Trigger Editor:
            • The param option was not showing on the option tab.
            • The tab control would not redraw correctly when splitter resized, this is .Net bug but I have added a workaround.
        • Bug in column storage state.
        • Tweaked loading to try and make it faster.
        • Was not updating the name of an item in the listview after it was change
        • Spliter width was not being restored correctly.
    • Fixed - Parsing:
        • Was not parsing commands correctly
        • Tweaked Alias parsing and cleaned up code.
    • Fixed - Telnet:
        • Sub negation was not being handled correctly if all in a single batch of data.
        • Tweaked code during parsing and receiving data to see if it helps memory and cpu

v0.6 Build 3585 Revision 33526

    • New - Triggers:
        • Telnet type: a new type of trigger that is fired when telnet sub negations, to use you set he param value to the option you want to trigger on and then the text is matched against the pattern. e.g. <IAC><SB><OPTION #>Text<IAC><SE>, and trigger would be param OPTION #, and pattern would be matched to Text
    • New - Plug-ins:
        • IED:
            • Select all - can now select all using ctrl+a for focused list, and a context select all item for local or remote.
    • Updated - Libraries:
        • ICSharpCode.TextEditor, updated from 2.0.* to 3.1.1.5179
        • System.Data.SQLite, updated from 1.0.59.0 to1.0.65.0
        • IronPython, 1.1.2 to 2.6 RC 1
        • IronPython.Modules, new library for IronPython 2.6
        • .Net 3.5, all iceMud dll's and exe now are compiled for .Net 3.5, may provide a performance boost, if nothing else at least bug fixes, if you need a iceMud built for .Net 2.0 let me know.
    • Changed - Libraries:
        • Removed SharpZipLib for now as nothing uses it and probably wont be used anytime soon.
        • Removed old IronPython libraries
    • Changed - Logging:
        • Removed several type from selective list as realistically I cant determinably those types of data (shouts, channels, tells, conversations) as every mud is different so I just removed those types
        • Debug now applies to both selective and log everything to allow you to log debug or not in either mode similar to ansi colors
        • Reordered the layout of the performance page by moving ansi check into the group box as it apples as what you want to log.
    • Changed - Scripting:
        • Uses the new IronPython scripting engine, works like WSH so you have to use iceMud.function(args) in stead of just function(args)
    • Changed - Display:
        • Tab width now defaults to 8 as it seems to be a nicer number, suggested to set tab width to 8 instead of 5 if using old settings.
        • Highlighting text invalidating was updated to improve painting by excluding areas that are not in the current visible area, before it was using all area even if not on screen there by using more memory, should now be a little better, changes where added as flashing now uses same code to repaint. This should also help when selecting text when in split screen.
        • Flashing is now less cpu intensive, uses the same system text highlighting text uses to refresh the screen based on line/text off sets instead of redrawing the whole screen, I went from a 12% to 16% cpu use down to a 1% to 5% depending how much flashing text was visible, every 600 milliseconds based on numbers from ansi standard of anything less than 150 blinks a minute give or take.
        • Tweaked painting and other areas to try and gain performance and lower CPU use.
    • Changed - Telnet, made tweaks to parsing to try and gain performance
    • Fixed - Splash Screen: an error trying to access splash screen after client has already finished loading.
    • Fixed - Display:
        • www.url.com detection had a bug where any combo of www. in the word it would be a url, now only strings that start with www. will be marked as links
        • Find was not scrolling correctly when searching.
    • Fixed - Scripting:
        • Windows Scripting Host, there was a problem when using the iceMud object exposed to WSH engines, it should now work. To use any iceMud methods just do iceMud.method(args) e.g. iceMud.Print("hello world!") to print hello world to the screen from JScript or VBScript
    • Fixed - Telnet: when processing <IAC><SB><Option>Text<IAC><SE> there where some bugs leaving the SE byte unprocessed.
    • Fixed - Plug-ins:
        • IED:
            • When downloading if you changed the local folder it would dl to that folder any files queued instead of where they should be downloaded, now will correctly dl to the right local path even if you change it mid queue
            • Advanced
                • Aborts: when an abort was sent there was a bug when displaying the message
        • Status Window
            • Fixed a bug with width, now uses the width from the skin again
            • Tweaked the skins widths to be a little wider for some skins

v0.6 Build 3559 Revision 32222

    • New - Plug-ins:
        • IED:
            • New manager now supports drag and drop, you can drop from local to remote, remote to local, either onto the queue, and from windows to remote/queue to start an upload
            • Increased version to 0.5 to reflect the new advanced manager
            • Remote Context Menu
                • Goto - will go to the first selected remote file.
                • Update - will update all selected remote items.
                • Renew - will renew all selected remote items.
                • Clone - will clone all selected remote items.
                • Backup - will backup selected remote items.
            • Edit menu
                • Open that will open selected local items with there default app one at a time
                • Open With will open all selected items with whatever you selected, currently supports Editor set in preferences or Notepad
            • Advanced now saves state, and will return window to previous location, size and local paths, remote path, splitter widths/heights
            • Advanced now supports the new tagged directory listings to allow future support of folder downloading
            • Folder Lock - to the right of local drop down is a new folder lock toggle, which means it will attempt to change either local or remote to keep folders in same location now locking only works when browsing by double clicking folders or using the up item.
            • Can now hide/show the queue/log area.
    • New - Predefined Variables
        • selectedurl/selurl - will return the url under the mouse / right clicked on, if no url it will return an empty string
    • New - Display:
        • Urls will now display an Open Url item on the context menu when right clicked even if urls are disabled, if the show context is disabled for a profile it will not display
    • Changed - Plug-ins:
        • IED:
            • Local drop down box is redone and now works like explorer address bar.
            • Remote drop down has an updated look to match the new explorer type local bar
    • Fixed - Display:
        • Urls where being opened with right or left click, now they only open with a left click or the new Open Url context item
    • Fixed - MXP:
        • VERISON/SUPPORT, was not terminating the command with a return so was pre pending to following sent test
        • Link context menus, seems I have handled them wrong, they don't list much details in specs but it seems left click executes first item, while right click opens the menu
        • Links where being executed with right click no matter what now if right click will always display a context menu of commands even if only one.
    • Fixed - Local Echo, was forcing a new line when it should not have
    • Fixed - Plug-ins:
        • IED:
            • Manger icons are now disabled properly when manager is opened
            • Remote file list will not sort when uploading a new file that was not on the remote list before.
            • Context menus open, open with, and explore are now correctly shown/hidden based on what is the selected focused item
            • When closing manager with items still in queue would error, now will ask if you want to reset when exiting, if you reset it will remove all current items and close, else it wont allow you to close.
            • Watching system for local list view to update names/info when something is changed locally is now working better
            • Files with no extension locally or remotely didn't have an icon
            • When remote listing files with no extension on a file would stop file listing
            • When getting directory listings on large directories there was a bug when storing the file list
            • Fixed where if downloaded a file that has invalid characters that windows does not support in file/path names it replaces the character with a '_'.
            • When uploading a file problem with it "locking" a file in read-only mode.
    • Fixed - Scripting
        • GetParameter(string name) - updated to support the new parameters as it was missing most of the new ones

v0.6 Build 3536 Revision 33544

    • New - Plug-ins:
        • API:
            • NotifyHost - New method that can be used to tell plug in host about an update or change.
            • NewWindow - New method so you can open new windows and decide how there docked
            • New event that will fire off when a plug in notifies the host that an update or change happened
            • New form methods exposed with interface:
                • Focus - to focus on a host window (may not always work due to several reasons)
                • Activate - active host window
        • Shadow Mud:
            • Clean up and some tweaks to parsing code
            • Capture lines in separate window support - Allows you to pick what lines, where to dock and what window/caption to give it
            • Capture tell/emoteto in a separate window
            • Re-gets info now when status window is refreshed
            • Preference dialog
                • New layout
                • Can now be canceled and wont replace current preferences
                • New restore to default button to restore preferences to defaults
        • IED:
            • New file manager that will be the future up/dl interface, currently only supports browsing local/remote files and multi up/down of selected files
    • New - Commands:
        • GAG number - allows you to gag text
    • New - Scripting:
        • gag(int count)- gag # of lines from screen, if no count it will do last line added if >= 0 will do current line followed by # of next lines, if < 0 will remove previous 2 lines
    • Changed - Plug-ins:
        • IED:
            • Redid some of the internal code when reading/writing to a file, before it would reopen a stream each "chunk" of data, now it will open a steam and keep it open till done.
    • Changed - Disconnect Dialog: the Different Mud button now closes the open window, before it would leave open and most of the time would stay open when a new connect was made, I be leave closing the window is better.
    • Changed - Closing Windows, before when you closed all windows it opened the mud manager always, now it will no longer do that as some times you may not want the manger to show you may want to say use the quick connect or look at logs or something, may and an option for it if last window closed load manager if someone would like it
    • Changed - Scripting:
        • Window function now accepts a new argument and has been re-coded to be cleaner, new supported calls are:
            • window(string name, int dock) - adds a new blank window that can be used to display display information
            • window(string name, string message, int dock) - creates new window unless already created then displays the message in that window
            • window(string name, string title, string message, int dock)- creates a new window if not created then changed the title to given title then displays the message
            • Dock values:
                • DOCK_DOCUMENT = 0
                • DOCK_TOP = 1
                • DOCK_LEFT = 2
                • DOCK_BOTTOM = 3
                • DOCK_RIGHT = 4
                • DOCK_TOPAUTOHIDE = 5
                • DOCK_LEFTAUTOHIDE = 6
                • DOCK_BOTTOMAUTOHIDE = 7
                • DOCK_RIGHTAUTOHIDE = 8
                • DOCK_FLOAT = 9
    • Fixed - Plug-ins:
        • IED
            • Directory listing was not totally supported due to me missing a part of the spec
            • When finished downloading a file there could be an access error due to file already being open with other application, now traps the error instead of crashing the client.
        • Status Window
            • AC display, changed how the calculations work basically it will accepts a number 0 to 100 and calculate based on that what to display, 0 being none and 100 being max
            • Notifies host when preferences are changed to let other plug-ins that may use status window so that it knows to re-get any info
        • Shadow Mud
            • Will try to ignore extra command prompts from hidden oMUD commands when not echoed
            • Changed how ac is stored, it takes the raw data from shadow mud and converts it into a 0 to 100 range for ease of calculations for display
    • Fixed - Parsing, when parsing for commands would have trouble with trailing spaces
    • Fixed - Layouts, when using a saved layout trouble focusing on active window.
    • Fixed - Display, when Command Echo was off was not handling goahead correctly and appending text to prompt instead of new line
    • Fixed - Timer manager, delete was not working.

v0.6 Build 3510 Revision 36550

    • Fixed -Display:
        • Auto copy clipboard - was not clearing the highlight colors right.
        • Page Up/Down - some repainting issues when in split screen mode.
    • Fixed - MXP:
        • Unknown tags where being displayed to screen, now there ignored like spec states.
        • Custom tags where not working with temp secure mode.

v0.6 Build 3451 Revision 32810

    • New - MXP:
        • USER tag, will send character name if set
        • PASSWORD tag, will send password if set
    • New - Plug-ins:
        • ShadowMud:
            • Mail window now has an import file to add file to the text window
    • Fixed - Display:
      • Url Clicking -not really a bug but an annoyance, basically old way if trying to highlight and copy a url with detect urls enabled it would treat it as a click of the url, new way will only treat it as click if mouse is in same spot, meaning a quick up/down, while any thing else is considered highlighted and will highlight the text as normal and not execute the link
      • Url Detection - having problems when urls where wraped in () or [], now checks to see if there is a leading ( or [ and then stop when it hit the closing as long as there not other nested () [] else it will treat them as part of the url.
      • Disabled Urls - when urls are disabled it was adding the underline when it should not have been
      • Max Lines Count - was resetting the # of max liens that could be displayed to 0 every time cleared when it should not have been.
    • Fixed - Scripting:
      • TestMXP - fixed a typo was TextMXPColor when it should have been TestMXPColor
      • TestMXP - general clean up and formatting.
      • TestMXPColor - Was displaying colors that where not colors and defaulting to white, now there no longer displayed
      • TestMXPColor - general clean up and out formatting.
    • Fixed - Profile Editor
        • Menus - New items not being enabled/disabled right, now always enabled
        • Import wizard, inherited settings where replacing current, now it will append to list instead
        • Inherit listview, a bug in .net 2.0 caused an exception to be throw, I coded a work around for now
    • Fixed - MSP, when malformed line sent from mud it was causing a client crash, now if malformed it just displays on screen.
    • Fixed - MXP:
        • Parsing error with VERSION and SUPPORT tags.
        • Parsing error when text formatted like a tag "<text>" when using mxp, it would add extra < at the start of the text
        • SEND if no href was not being handed right if no href should default to text inside tags.
        • Clicking A/Send created links didn't send the command correctly, now it does
        • Telnet negotiation, was not handling a command correctly as it was not listed in the MXP specs, now it is handled somewhat, but I need to look into it more to see if anything I have to do anything client side, far as I could tell the code basically just means server will start sending MXP from this point on and I don't need to do any thing server side
        • Reset Mode, I was resetting the mode to open when from what it seems it should not change the mode at all, reset should basically just close all open tags and reset all formatting to default
        • Was not resetting MXP on disconnect, now it will reset and close all tags and restore the Mode back to default

v0.6 Build 3441 Revision 27362

    • New - Paste Special, a new way to paste your text, first use brings up a dialog where you can set how line returns are handled, pre/post fixes for each line and an advanced pattern/replace system. After first use using the short cut will skip loading the dialog and use last used settings
    • New - Mud Manger, mud icons now support using internal keys like profiles, if you edit the database directly there stored in the Iconpath as key|keyname
    • New - Change Current Profile, list has been updated to show profile icons now
    • New - Profile Editor:
        • Import/Export Wizards, allows you to Import/Export a profile, currently only supports the iceMud profile format, future releases hope to add text files using tintin commands for compatibly with zMUD and other clients
        • Move to/Copy to, allows you to move/copy selected items into other profiles with out having to opening the other profile
        • Preferences, Nothing there but a Restore to default, ok, and cancel button right now, the only preferences right now are the window state
        • Image Keys, profiles can now use internal icons based on image keys, right now there are only 3 but will add more as I find nice or free images.
    • Changed - Profile Editor
        • Profile path parsing has been changed, the windowname system variable is now blank
        • Profile properties page, reorganized the layout to be cleaner and easier to expand for future use.
        • Re-did how profiles are inherited, can now order them with a number and that is the order they will be executed in.
    • Fixed - Closing a Child window, if last window menus would not be correct.
    • Fixed - Profile Editor: (Note due to fixes/update you will need to reset preferences or delete profileeditor.prefernces file before opening profile editor)
        • Some types displayed wrong column data.
        • Paste was not adding to list if pasted items where of same type
        • Default splitter width was not set right.

v0.6 Build 3435 Revision 39303

    • Fixed - Plug-in Manager, added a reset button to clear out all plug-ins without having to reset all preferences.
    • New - - Scripting:
        • ClearScreen(), clears the screen
    • New - Display, Enable UTF8 option, will process all text streams as UTF8 instead of ascii
    • Changed - Scripting:
        • FlashWindow(int flags, int timeout, uint count), timeout and count are now optional and default to 0 if left out
    • Fixed - Logging, there was a bug in logging when you get disconnected and had stop logging on disconnect enabled.
    • Fixed - Plug-ins:
        • Sample Plug-in:
            • Updated plug-in host api doc to list new ones
            • Updated to use newest api dll
            • Fixed some bugs with the sample and added more sample code and comments to explan more.
    • Fixed - Profile Editor:
        • Bug with change event and selected items.
        • Bug when selecting a new item and havn't saved current and saved it, it would enter "selection mode" and not update the listview correctly

v0.6 Build 3431 Revision 25184

    • New - On Load Always Notify for Updates, if enabled will noitfy you of a new update evrey time, if not will only nofity if version is different from last check
    • New - Blank windows now should change to the nonactive (green circle) icon when new text has been sent and window is not active
    • New - Profiles now generate a unquie GUID to unquily id a profile, default is always all 0's and any old ones will be set on resave in profile editor, currently nothing uses this but added to ensure a unquie id always besides name.
    • New - Plug-ins:
        • IED:
            • Download dialog now has a navigation drop down for quicker movment, can also type in remote path then hit enter to navaigate to it
            • Can now enable delete local file after upload, meaning as soon as the last chunk has been sent it will send the local file to recycle bin in case you want to recover it.
        • Status Window:
            • Re-coded to work like oringal, no longer float/dragable due complications. more reliable as a fixed control on left/right of mud screen
            • Status Text, under labels can now display any text one likes, and it is parsed by the mud so you can include the system functions or variables and any user varaiables
        • ShadowMud
            • Compose Mail toolstrip menu item can now be hidden in the shadowmud prefs
    • Fixed - Command line, redid Up arrow key again, seems some times was reshowing current text instead of prevous
    • Fixed - Plug-ins:
        • IED:
            • Download dialog rememebers location and size now for sure.
            • Restore to default in preferences was not resetting all settings, now does.
    • Fixed - Parsing, when parsing paramater character if at end of string was causing and error e.g. I finished 100%
    • Fixed - Link Detection, when parsing links certain characters where being included with the protocal (e.g. "(http://" when it should be just "http://")
    • Fixed - Plug-in manager, version is now displayed correctly of major.minor.build.revision
    • Fixed - PreferenceChanged event, some places it was not firing when prefs changed

v0.6 Build 3423 Revision 29730

    • New - Scripts folder, it contains some librarys for scripting, right now just some for LUA that adds features, by defaults in the pre.lua it will load only the bit script can add others if you like, Reason added was the new FlashWindow requries bitwise or to set the flags
    • New - Enable Icon Notification preference, allows you to disable/enable if the icon will notify you if new text has been received.
    • New - Scripting:
        • SetWindowStateIcon(int icon) - set Current mud windows icon to either, disconnected = 0, connected = 1, or conenctednonactive = 2, LUA/Pyhton have 3 vars added ICON_DISCONNECT, ICON_CONNECT, ICON_NONACTIVE
        • FlashWindow(int flags, int timeout, uint count) - flash window based on flags sent, timeout is how fast it flashs, while count is number of times, Flasg are the standard windows flash window flag values
            • FLASHW_STOP = 0, //Stop flashing. The system restores the window to its original state.
            • FLASHW_CAPTION = 1, //Flash the window caption.
            • FLASHW_TRAY = 2, //Flash the taskbar button.
            • FLASHW_ALL = 3, //Flash both the window caption and taskbar button. This is equivalent to setting the FLASHW_CAPTION | FLASHW_TRAY flags.
            • FLASHW_TIMER = 4, //Flash continuously, until the FLASHW_STOP flag is set.
            • FLASHW_TIMERNOFG = 12 //Flash continuously until the window comes to the foreground.
    • New - Predefined Variables
        • action - return last action executed by trigger
        • capton - for context menus only it will display the menuitem text value
        • char - character name, same as name or username
        • ctime - total time connected in seconds
        • curwin - same as windowname
        • def - list of speical characters, if disabled places a unit sperator charter in its place
        • ip - return local ip
        • lastcom - return last command
        • lastcommand2/lastcom2 - return command before lastcommand
        • lastcommand3/lsatcom3 - reutrn comamnd before lastcommand2
        • random - without () or just random() now it will return a number 0 to 99
        • trigger - line that caused last trigger
        • version - returns version e.g. 06341824308 for v0.6 build 3418 revision 24308
        • version.major - returns the major part of version
        • version.minor - returns the minor part of version
        • version.build - returns the build number
        • version.revision - returns the revision number
        • mud.entity - retrieve an MXP entity (variable). ex %mud.amp would return &
        • line - the last line
        • line2 - the line before last
        • line3 - line before line2
        • linecol - color attribute of the first character in the current line
        • names/windows - string list of open window names
        • selword - same as selectedword
        • selectedline/selline - returns line currently under the mouse, if used in context, will be line right clicked on
        • selectedpos/selpos - column number under mouse or column when right clicked
    • New - Comand History Dialog, commands are now highlighted as you use the arrow keys to navigate the history from the command line in the history dialog
    • New - Advanced Editor, combo box/menu items to insert style syntax codes
    • New - Plug-ins:
        • IED:
            • Download dialog rememebers location and size now
    • Changed - Advanced Editor, Updated insert color syntax to support faint colors
    • Changed - Tweaked the command parser some
    • Changed - Predefined Variables, help page has been updated and a new Client section has been added to hold misc/variables related to client like version or windows
    • Fixed - Command line, redid navigation to fix a bug where it would skip last command during certain places
    • Fixed - Docking, certain times when docking a floating window it would cause the client to crash
    • Fixed - Predefined Variables, missing lastcommand now re-added
    • Fixed - Python, was redefining print as temp function.

v0.6 Build 3418 Revision 24308

    • Fixed - Bug in telnet receiving of data.

v0.6 Build 3417 Revision 21749

    • New - Check for update now logs errors in all or misc, meaning any connection probs or things like that can be logged.
    • Fixed - Bug with title bar not updating when a window is closed.
    • Fixed - Due to trying to fix a differnt bug it created a lot more problems, I have reverted that fix back and it fixed them all, only issue is some times when advanced editor or other child windows are docked to the sides it may cause icemud not to close, it is a bug in the gui library and I am looking into fixing it or waiting till the gui library fixes it.
    • Fixed - Search would not scroll if text was off screen.

v0.6 Build 3415 Revision 20133

    • New - Check for Updates menu item under help to check for updates any time you want.
    • New - Commands:
        • VERSION - display iceMud version on the screen
        • SCR - shot version of SCRIPT
        • WIZLIST - show credits
    • Fixed - Telnet, finaly got the Destination array was not long enough bug fixed I think.

v0.6 Build 3414 Revision 33373

    • New - Commands:
        • SHOW - send text to mud window, processed as if received from mud adds crlf
        • SAY - send text to mud window adds cr at the end
        • ECHO - echos text to active mud winodw, tries current, then if not found echos to mud window that issued it adds cr at the end
        • SHOWPROMP - same as show without the crlf
        • SAYPROMPT - same as #say but without the cr
        • ECHOPROMPT - same as echo but with out the cr
        • MENU - execute menu command as if clicked on it
        • SEND - send file to mud
        • SENDPROMPT - same as send but doesnt add newlines
    • New - Scripting
        • Menu(string command) - executes menu command, format is menu|submenu|.....|submenu
        • SendFile(string file, string prefix, string postfix) - send file to mud
        • SendRawFile(string file, string prefix, string postfix) - send file to mud
        • ExecuteScript(string file, string engine, bool parse) - execute script file with target engine, if engine is blank/missing uses selected eval engine from prefs.
        • EvaluateScript(string file, string engine, bool parse) - evaluates a script file and returns the results as an object array
    • New - Toolbars state is now saved/restored
    • New - LUA/Python now have a pre/post script that can run commands when scripting is first inilized, the pre is execute ebfore any iceMud related setup code is done, post is after, note in pre iceMud funtctions are not available.
    • New - Check for updates on load, when enabled will try and check to see if a new version has been released
    • Fixed - New Window, when using a blank window there was a bug in displaying text
    • Fixed - Bug in preferences was storing StripSingleQuotes wrong
    • Fixed - Telnet, but in how NOP was processed

v0.6 Build 3411 Revision 34225

    • New - Functions:
        • %proper(string) - convert string to proper case (lowercase except for first letter)
        • %upper(string) - return the string string in uppercase
        • %lower(string) - return the string string in lowercase
    • Updated - Help:
        • Added - Reference Library index page, and updated all pages that need to point to it
        • Added - Reference Library Command page that now list the commands (ex: #MATH var expression)
        • Added - Reference Library Functions page that now list the inline functions (ex: %dice(2d6))
        • Updated - Most of the refences library to use newer look, some pages are still old info and need updating.
    • Changed - Expression evaluation system, trying to make it evaluate expressions better and more like tintin and zmud
    • Changed - Parser, tweaked how functions where parsed more to be more compatbile with zmud
    • Changed - Plug-ins:
        • Shadowmud:
            • Renamed Options to Preferences
        • Status Window:
            • Renamed Options to Preferences
    • Fixed - Telnet parsing had a bug in it, now fixed
    • Fixed - Display:
        • Bug - Selecting text, finaly fixed where it would not select text from left to right.
        • Bug - Selection paining, finaly fixed bugs in selection painting code, should now paint correctly when selecting text.
    • Fixed - Plug-ins:
        • IED:
        • Bug - iceEdit sending file code

v0.6 Build 3409 Revision 33351

    • Added - Preference:
        • EnableBell - Ebnables bell sounds when the ascii bell (\u0007 or deciamal 7) is sent to display, If enabled will play the bell sound if one is selected, else will play the windows default beep
    • Added - Variables, Note all of these are only set if you used a character from the mud manager, else they will be blank, Also if editing character in manager the changes wont affect any open windows.
        • characterid - the current character id the mud session is using
        • title - the title set from mud manager
        • host - the host set in mud manager may be differnt from server, due to weather using address or hostname
        • address - the ip address of the mud server, empty till after first connect
        • type - the mud type set in the mud manager
        • useaddress - true/false if Use Address is set from mudmanager
        • days - # of days to mark when inactive
        • profile - profile name that current character uses
        • sessionid - the current session id
        • preferences - the preference file used by character
        • notes - the character notes
        • totalmilliseconds - total of milliseconds the characters has been connected, Not including current active connections
    • New - Plug-ins:
        • IED:
            • Added a override to buffer send size, due to encoding the size can end up to large for some servers, this allows you to force a buffer size besides the default, not due to security and other stuff, it will send what ever number is lower, either the server request or the override, can be set in IED options
            • Added a reset to defaults for IED prefs
            • Renamed Options to Preferences
    • Changed - Parser
        • Tweaked how escaping the % worked, little bit better now.
        • Tweak Global vs Mud parsing, note Global may return differnt then Mud, Global is mostly used to determine paths
        • How %if worked, before it was pasring the true/false in command parser, now it juse returns the value as some places you may not want it parsed.
        • Added inline functiosn to global parser was missing before.
    • Fixed - Expression Evaluator
        • Bug - Dice was not being calculated correctly
    • Fixed - Parser
        • Bug - Didn't replace variables correctly (ex: %%days%useaddress, would come out as%%daysFalse, when should have been %30False)
    • Fixed - Mud Manager
        • Bug - Status bar in mud manager window was suppose to display time for selected mud, but wasn't showing.

v0.6 Build 3406 Revision 36257

    • Changed - Triggers, Tweaked how data is sent aftera trigger has been processed
    • Fixed - Speedwalking
        • Bug - Was not processing styles and treating all as test
        • Bug - Processing was not done correctly it was sending values as if from command line. Now value is processed and output is sent to speed walker expanding system then returned.

v0.6 Build 3406 Revision 22132

    • Fixed - Profile Editor:
        • Bug - Syntax editor was not highlighting corrertly.
    • Fixed - Parsing:
        • Bug - When processing aliases there was a bug in returning script data after processing a script

v0.6 Build 3405 Revision 2166

    • Changed - Commands and Functions, before they where case sensitive, now it doesn't matter
    • Changed - Expression Engine, tweaked it some to better handle strings, you can concat strings in expressions, any other opertaions returns 0, example test+1 returns test1, while test*1 returns 0;
    • Fixed - Mud Manger, Bug when adding new muds, would always set profile to default.
    • Fixed - Installer
        • Bug - An issue with losing data when installing over old, it would replace the databases, installer now checks and leaves old ones if they are already there.
        • Bug - Missing MudList.sqlite for the mud list system
    • Fixed - Parsing
        • Command stacking - was not parsing 100% correctly
        • Blank lines where not being handled correctly
    • Fixed - Scirpting
        • Bug in how Send("") function worke Finally I think!
    • Fixed - Profiles, User variable values where not being saved when changed.
    • Fixed - Profile Editor
        • Bug - Column sorting was not working.

v0.6 Build 3404 Revision 22449

    • Fixed - Bug, When closing client and still connected even if you say no it still closed.
    • Fixed - Scirpting
        • Bug in how Send("") function worked
    • Fixed - Profile Editor
        • Bug - Alias properties append check was not saving correctly.

v0.6 Build 3404 Revision 19353

    • New - Functions
        • %random(i,j) - Returns a random number >= I and <= J. If J is omitted, then I specifies the maximum value, and 0 is used as the minimum value, if I and J are omitted returns a random number from 0 to MaxInt value
        • %if(expression,true-value,false-value) - if expression is true, return the true-value otherwise return the false-value.
        • %case(expression,arg1,arg2,arg3..., argN) - if expression=1, return arg1, if expression=2, return arg2, etc.
    • New - Plug-ins:
        • Added some new host APIs, UnRegisterCommand and UnRegisterParamCommand to remove commands added by plug-in
    • Fixed - Plug-ins:
        • Typo in API calls RegisterCommand and RegisterParamCommand, now spelled correctly
    • Fixed - Parsing
        • Bug - variaible assigment when enabled
        • Bug - expression evaluation system, was having a problem when dealing with two strings (ex: "two" == "Two")
    • Fixed - Commands, code was there but forgot to register them for user use
        • IF {expression} {true} [{false}]
        • CASE index {Command1} [... {Command n}]
        • MATH variable {expression}
        • SCRIPT/SS ["language"|list] [script]
    • Fixed - Functions, code was there but forgot to register them for user use
        • %len(string)
        • %dice(expression)
    • Fixed - Aliases
        • Bug - how %* was parsed and is now fixed.
        • Bug - %n was losing characers during parsing

v0.6 Build 3403 Revision 28010

    • Update - Scripting:
        • LUA - updated luainterface to newest version 2.0.3 which fixes a number of bugs, including some memory leaks
    • Fixed - Aliases::-
        • Bug - If text mode and no parse unchecked alias was not being processed correctly to be sent to the mud
        • Bug - Overruns, due to the way .NET handles stack over runs I cant trap them so it will cause the client to crash if you get in a loop, example calling the same alias in that aliase, to work around this I attempt to count how "deep" an aliase will call and after it hits this max it will stop and just start returning and cleaning up.
    • Fixed - Triggers:
        • Bug - When executing triggers it would only check the first one then stop.

v0.6 Build 3402 Revision 31812

    • New - Logging: new logging options on how to handle errors and the errorlog and want to save to error log
        • All Errors - Will log all exceptions to the error log, default is off. mostly good for sending bug reports, if off only fatal and ones checked will be reported
        • Telnet Socket - Will log telent socket errors during a session
        • Telnet General - General telnet errors that are not socket related
        • Preferences - Prefernce errors from loading to just any error related to preferences
        • Plug-in - errors related to plug-ins
        • Miscellaneous - misc errors that need to be logged and arnt any where else
        • Sound - sound errors from failing to play to finding a file
        • Scripting - any scripting errors
        • Parsing - Any parsing errros from the text parser
        • Triggers - Any trigger related errors
        • Display Warning - Display a messagebox dialog when an error happens.
    • New - Added code to error now when a profile is loaded.
    • New - Command History:
        • Window now updates any commands added/removed from command line
        • Window can now be used to send commands
        • New Prefereance Save Command History, allows you to save the muds command history and restore it on next load
        • New Plug-in API CommandHistory to get lit of muds command history in a readonly collection
        • New Plug-in API event for when commands are added/removed from command history
        • New Plug-in API ResetCommandHistory to clear command history
        • Merged with preference files so they can be saved, when reseting preferences to default or global it will reset the command history
    • New - External Editor tool menu item now has a shortcut key
    • New - Command History menu item added to the window menu and reordered the window menu to be better
    • New - Plug-ins:
        • IED:
            • Added a reset button to reset ied when something goes wrong
        • Shadowmud:
            • Added Compose Mail form to allow users to mail others, supply a to name, subject, and message click send and it will mail that player without having to deal with the mail editor.
    • Updated - Worked on some help pages.
    • Changed - Profile Editor - Removed the preference menu item and toolbutton as there is currently no preferences to edit besides window state internal ones
    • Changed - Script list is now generated when client first loads for a global list to speed up loading of profile editor and preferences scripting page.
    • Changed - Command History Button: the button is now always enabled to open the command history window instead of if only when at least 1 command has been entered
    • Changed - Tweaked how incoming data was passed to plug-ins to try and improve it some and keep fragments of text that shuold not be displayed from displaying
    • Changed - Tweaked lag-meter time tracking to better try and track lag
    • Changed - Plug-ins:
        • IPluginHost.LogError function API has some new argument options, can now pass an exception object.
        • IED:
            • Tweaked how fragmented lines are parsed to attempt to keep them from briefly displaying
    • Changed - Telnet: redid how processed text was done to better handle internal flags.
    • Fixed - GUI Bug - Different types of windows, depending how the window is docked would keep the client from closing.
    • Fixed - Telnet Bug - There was a bug in the code that deals with split telnet codes, it would happen rarely but when happen it would cause the client to have to be restarted.
    • Fixed - Help: fixed spelling and link errors, added new log error prefs
    • Fixed - Advanced editor insert color syntax would crash client when clicked.
    • Fixed - Profiles: Bug in how older 0.5 profiles where loaded causing it to load the default one always.
    • Fixed - Plug-ins:
        • Shadowmud: Option window had wrong text in title and messed with layout.
        • IED:
            • Bug - Download dialog sorting of file sizes didn't sort correctly now does.
            • Bug - Possible bug in when it initialized its preferences
            • Known Bug - Some servers due to buffer length issues may not upload correctly, only way to fix is reset ied and find where it has the problem in the file and remove extra white space and replace spaces with tabs.

v0.6 Build 3391 Revision 37742

    • Fixed - Telnet: Found some more info for telnet and either I read wrong spec or there are more then 1 with different numbers so some telnet codes where not being handled correctly
    • Fixed - Command line: bug with how command line added scrollbars hope I fixed it

v0.6 Build 3389 Revision 27398

    • New - Parsing toggle, I had the code there, pref every thing but for the button to toggle it, it is now next to toggle triggers on/off to the right of the command box.
    • New - Inherit Profiles
        • profiles can now inherit as read only from other profiles, every thing but variables are inherited, Also since read only any triggers that are temporary are not removed from inherited files so they will continue to trigger.
        • Inherited Profiles are loaded once globally and stored in a cache to help reduce memory and updated when edited in profile editor if not the in memory profile, Note that each mud still loads its main profile into itself and does not access it from the cache.
        • Hide standard display context menu, a new option that allow you to hide the standard menu items for the right click contexts menu
    • New - Preferences
        • Expand Tabs - weather or not to expand a tab, if off tabs are ignored
        • Tab Width - how many spaces = 1 tab stop
        • Command Box - Wordwrap Text - Wrap text for command box or not
        • New event that fires when all preferences have been updated for the plug-in host interface
    • New - Special Character
        • No Parse - if command starts with this character all following text is sent as is with no parsing what so ever, including command separators (ex: "!test1&test2", would send "test1&test2")
    • New - Command Line argument
        • -f/- force - allow forcing open a new instance every time instead of reusing already open one
    • Changed - Commandbox
        • re-did it is now a toolstrip as someday will be draggable, also improves command histroy with better icon and option for window of commands
        • Shift+Enter to add a line return or the old Ctrl+Enter
        • Can now set if the text is wordwrapped or not
        • Scrollbars to scroll text
    • Changed - Startup, before main window was hidden till a mud loaded, now always shown to speed up loading and allow keeping oter windows open like log viewer.
    • Changed - Telnet, added some more error catching for some of the connection code to try and catch some drop errros and just spit out a nice error line to the screen
    • Changed - Error logging, updated logging by adding more info to try and help narrow down what is causing errors.
    • Changed - Scripting
        • TestXTerm(string title) - works like before only now you can set a title by passing a string, if you want no title change just make it ""
    • Fixed - Command Box
        • Autoresize - Changed how it was calculated, should better fit text.
        • Command Window - a window that list command history
    • Fixed - Macros Not parsing correcly with modifier keys, found it when adding inherit macro support.
    • Fixed - Preferences
        • Profile path should only appear for global
        • In the prefrences dialog the speical character options where not saving correctly
    • Fixed - External Editor menu item, before it was only using global setting, now it test to see if mud window is active and if so uses that editor setting, if no uses global
    • Fixed - Profiles, some parts where not copied right, context menus and paths are only 2 that where affected when copying a profile
    • Fixed - Mud Manager
        • Tab order was not very good for New/Edit Mud now better order.
        • View is now saved and restored correctly
    • Fixed - History menu, style wasn't being set right.
    • Fixed - Advanced Editor, Title was not updated to use custom title text.
    • Fixed - Alarms, a bug with how alarms and scripting not working correctly
    • Fixed - Telent, there was a bug when receiving data and it would not handle autologin correctly
    • Fixed - Blank Windows, a bug with how preferences where accessed that caused a crash when a new blank window was created
    • Fixed - Display
        • Text Parser, modified how ansi flags where stored should be faster and use less memory, If you want a picture of the speed up I have a log file for ansi that most other clients test on size of (437,728 bytes) before new changes first run was ~0.78seconds, 2nd ~1.5, notice the longer time for the 2nd rung that was clean up of old ansi flag system. new parser does same file first run ~0.60, a whole .1 milliseconds faster, 2nd run ~0.65, almost the same as first run now a whopping 100% speed up. Also new system may shave off some cpu cycles which is always what I am trying to do.
        • Reverse video mode <ESC>[7m - before if it happened more then once on a line it would go back and forth now it works corretly on a "on" state no matter how many times triggered in a line, to turn off use the reset or off code.
      • Tabs are better handled now before they would be replaced with a flat number now it calculates correctly and can now set weathr you want to expand a tab and the tab width in characters
      • Bug - Find, when setting word as selected text it was losing a character length
      • Bug - Convert To Unicode and some MXP tags.
      • Bug - text selection and MXP <HR> tag, before it would only let you select it if at the very start for the width of 1 character, now it can be selected from any part of the line
      • Bug - link detection for mailto links
      • Bug - Local echo didnt reset correctly some times
      • Bug - Find, had a bug when finding text
      • Bug - Painting, a small bug where screen was not repaited when new text arrived
      • Bug - Textlength there was a bug in how textlength was calculated so it was reporting more or less then what was there causing other things to crash (ex: Find)

v0.6 Build 3270 Revision 29261

    • New - User Interface
        • Totally re-coded to add new Multi Interface System that allows multi muds and windows open that allows you to say the layout to restore as if it had never been closed.
            • Can drag all windows to dock and make tabs, each type of window can dock in certain places, main mud windows are only allowed in the "document/center" area while others are allowed pretty much anywhere even floating
            • New "window" menu that allows you to manipulate windows and layout, Icon updates to reflect if new text added like mud window
            • Menus and Toolbars change to reflect what active window you are using to better integrate into the interface
            • Tabs/Titles can be right clicked to access options for different windows, tab strips can be right clicked to access some general commands
            • CTRL+TAB / CTRL+SHIFT+TAB to switch tabs (only works on document/center area tabs)
            • Per window preferences, meaning each window can have preferences if they support it, basically there are 2 levels of preferences we have a "global" client default that all muds and windows start with if no preference file found, these settings are editable from view > preferences then we have the per window preferences, now some global preferences are not in the per window preferences because well there global only like toolbars or menu options, following window types have there own preferences that can be set.
                • Muds
                • New Windows
                • Profile Editor
    • New - Command Line:
        • -nosplash - argument to not display the splash screen
        • -t/-transfer - to dissable passing info to currently open mud client
        • supports passing server/telnet url as a command line argument to connect to a server, useful for setting it as default telent client in browsers
        • after each server/host you can add arguments to set things
            • -s/-settings - set the prefrence file
            • -p/-profile - set the profile to load
            • -c/-character - attempt to load character info for that mud host
            • -sess/-session - load that mud session id from the SessionID in the mud settings
    • New - Triggers:
        • Triggers have been totally revamped allowing more options and trigger types.
        • Redid how paramaters are handled and added %0 to be the pattern
        • Allows the &varname or .net (?<name>) for matting to save directly to variables
        • Types now include:
            • Pattern - based on the zmud / tintin pattern system slower then regex as it has to convert to regex then run internally
            • Regular Expression - uses the .net regular expression engine for matching
            • Expression - will trigger when the expression is evaluated to true, only ran with variables are updated
            • Alarm -trigger based on a time pattern of hh:mm:ss, works just like zMUD's
            • Command Input Pattern/Reglaur Expression match text entered from command propt either by pattern or a regualr expression
        • Along with the types tere are new Trigger on options:
            • New Line - tested on each new line of text added to the display
            • Prompt - tested on any fragment text line mud prompts or split text from mud
            • Trigger on trigger - tested on the out put of a trigger
            • Line Color - when the color / style matches it will trigger
        • Options:
            • ANSI Trigger - allows ansi code in the pattern and allos %e or %esc to be used to reprecent the ansi escape character
    • New - Plug-ins:
        • ShadowMud: new plug-in that contains all code and triggers for shadow mud including oMUD triggers to allow easier separation and updating.
        • IED: with new plug-in system can now officially move IED into a plug-in
        • Status Window: re-coded and updated to take advantage of the new interface
    • New - Scripting
        • Python support, can now use python languages in scripts, I have used IronPython 1.1 to allow this and is equal to 2.4.4 of the python language. in future will add more languages and possible move to the new Dynamic Runtime Language system that allows for any language registered with it in .net, or maybe even a hard coded version of tcl or maybe lisp but no clue probably look into TinTin++ language as that is one of the first mud client scripting codes and supported by nearly every major one.
        • Windows Script Host, I was able to figure out how to use an old OCX control that comes with most windows to allow WSH support, meaning any Active Script language installed on the system can now be used, in Style selection can now type in a name of a script or use drop down for default scripts, By default will support text, lua, python, vbscript, jscript, as vbscript and jscript are default with all wsh and LUA is build in support as well as python built in support. this will probably change if ic an find a different way to interact with WSH instead of the old script system or if / when the new Dynamic Runtime Language system in .net is better supported, to use iceMud functions you must use the iceMud object in WSH named iceMud, so all function are called as iceMud.Function(params), just remember to use that script languages syntax, like in PHPscript you'd use $iceMud->Function();
        • TinTin/zMUD scripting with new command line parser comes support for TinTin/zMUD scripts, not totally supported yet but will slowly add more functions in hopes to gain a good 80 to 90% compatible with zMUD (default command character is #), commands are only parsed in text style, all other styles are treated as there language so commands are not parsed out.
    • New - Command Parser
        • New command parser for all text sent out of mud unless using SendRaw() function in scripting, this new parser allows for many new options so it will be offer as many features as most other clients.
        • Allows for more control over how variables are handled.
        • Allows options to control how variables are expanded and set (Command line only).
        • Adds [] eval expression system to evaluation any expression inside the [] and replace it with the value if enabled (Command line only)
        • Adds <> variable expanding if enabled, this lets you disable variable expanding and us this to still put values when needed (Command line only)
        • Adds a=b variable assign syntax if enabled, meaning you can assign variables, for example @a = b would assign the value of b to the variable a. Command line only assigns if @var=value as 1 command or command stacked, in a script 1 variable assignment per line.
        • Strip quotes, strip pairs of quotes meaning "a" or 'a' would be a but 'a would still be 'a, both can be enabled or disabled (default disabled)
        • Comments, can use ; at the start of a line to mark it as a comment (good in triggers/aliases) and also inline // comment that works like C/C++ where any thing after // is a comment till end of line or till command stacker if enabled
        • Allows for new tintin/zmud script support doesn't support all functions yet but will slowly add, any line with he command char at start is considered a Command (default is #), any function that is in this format %function(parameters) will be parsed if functions is supported
        • Supported Commands:
            • IF {expression} {true} [{false}]
            • CASE index {Command1} [... {Command n}]
            • MATH variable {expression}
            • SCRIPT/SS ["language"|list] [script]
        • Supported Functions:
            • %len(string)
            • %dice(expression)
    • Updated - Help
        • Help has been updated and revamped with new color scheme and layout, parts still need work but overall it slowly being updated.
    • Changed - Variables
        • Changed variable format of predefined to %variablename and % can be changed
        • % is no longer just variables, to enable more zmud like support inline functions of %function(params) are also supported
        • Currently as it is now ALL %name% variables are replaced even if in middle of word, no longer, now with new variable parser it will only replace when it its % or @ (unless changed) up to next white space, new line, or command separator
        • variables that are used for status info are now moved to User variables and stored in the profiles while the % are now system only variables that are read only
        • variables are case insensitive meaning CASE and case are the same variable
        • String List, these are now supported, basically it is a special way a variable is stored to allow an array
        • String List Accessor, basilcy you can do @var[index] to get the value if you do @var it will return the array as formated string of quoted values seperated by | charared ("value1"|...|"valueN")
    • Changed - Profile Editor
        • Listview now shows different columns for different types to allow better displaying of data
        • Can reorder columns
        • Active/All, there are now 2 modes for profile and depending how you open the editor it will be in 1 or the other
            • General Editor - functions as before
            • Memory Editor - allows a per-mud editor for the active profile in memory profile and will directly affect it when save clicked with out needing to click the refresh, also saved to disk so if more then 1 mud share a profile the last one saved is what is is final.
    • Added - Variables
        • User Variables.
            • Profiles now allow variables to be saved and use there own special character that can be assigned (default is @)
            • This allows for users to easily know the differences between built in predefined variables and user variables.
            • Also changed how variables are parsed or expanded, variables in aliases, triggers ... are auto expanded and replaced with value or null if null value option is enabled. if variable from command input depending on options enabled will be sent verbatim or expanded.
        • Aliases - %0, is replaced with the alias name
        • Triggers - %0, is replaced with the line as is
        • CRLF a cartridge + linefeed (\r\n in c++)
        • LF , linefeed
        • CR , cartridge return, was in old versions but now allows both lower and upper cased
        • E or ESC, escape character, was in old version but now allows both lower and upper cased
        • BELL, the bell character, if enabled bell it will make a beep noise, some terminals use this in there formatting systems
        • windowname, returns current window name
        • timeconnected, returnstime elapsed since connected to mud
        • idletime, returns time elapsed since last command sent
        • now, returns current system date and time
        • Statusline Colors, in there serilized text formate of either Name, or A,R,G,B, so you can now assign these colors programicly
            • statusline_100
            • statusline_80_99
            • statusline_60_79
            • statusline_40_59
            • statusline_20_39
            • statusline_1_19
            • statusline_0
    • Added - Display
        • Can now hold shift down when selecting text.
        • XTerm codes, I now support some of the codes XTerm supports, might be VT100 or something but I haven't checked will dig more later
            • 256 color system using the ESC[38;5;Nm or ESC[48;5;Nm where N = 0 to 255, 0 - 15 are system colors, 16- 231 are a 6x6x6 color cube (web safe palette), and 232 - 255 is grayscale
            • Change Title, allows changing of the mud window title by using ESC]N;stringBELL where N is 0, 1, or 2. 0 means change Icon name and Title, 1 is icon name only 2 is title only. only support changing title so 1 does nothing. string is any text you want displayed, BELL is the ascii BELL (decimal - 7).
        • Split Shortcut key: can now use Scroll Lock to toggle split, if enabled
        • Convert To Unicode - Convert characters that fall out of the standard 7 bit ascii into unicode symbol, also convert control characters that arnt emulated into there display unicode character
        • Display Control Characters - will display control characters, most appear as empty boxes or ? depending on the font, if convert to unicode is enabled it will try and convert them to there unicode display character based on Extended ascii (code page 437).
        • MXP
            • Optional Tags
                • <SOUND><MUSIC>
                • For MSP Compatibility, the <SOUND> and <MUSIC> tags are available in MXP. They have the same keyword syntax and the equivalent !!SOUND and !!MUSIC MSP tags.
                • Example: <SOUND thunder V=100 L=1 P=30 T=weather>
    • Added - Scripting
        • TestXTerm() test XTerm codes probably not really xterm maybe VT100 emulation codes but haven't looked into to more, Changed Mud window title during test use TestReset() to fix or set your self by doing ^print("%esc]0;title%bell")
        • TestReset(), Resets form to defaults because some test (TestXTerm) will changes things you don't have control over with out advanced thinking (mud window title).
        • window(string name) - adds a new blank window that can be used to display display information
        • window(string name, string message) - creates new window unless already created then displays the message in that window
        • window(string name, string title, string message) - creates a new window if not created then changed the title to given title then displays the message
        • GetParameter(string name) - gets a Parameter variable value of the read only variables.
    • Added - Profile Editor
        • Find/Find Next, can now search the list of items by name or by what's in the value column
        • Saves window state now so it should restore close to what it was when it closed, but not 100% if docked as no way to save windows that are docked with it or if in tabs due to the complex system that docking is but it will reopen in the same area even if it wont re-tab also saves:
            • Column order
            • Columns shown
            • Sorted by Column
            • Profile selected
            • Page selected
            • Item selected
            • and any thing else to make it as close as possible as to when last closed.
        • Variable editor, can now edit new user variables and allows for a special style just for variables called StringList witch is basiclly an array of strings
        • Preferences, like many new windows it now has its own preference file, currently it only stores the window state and 1 option
            • FillScriptDropDown, this option sets weather or not the editor tries to get of installed window host engines, by default it tries to get all engines registered so they can automatically be added to the drop down, but it can be slow on some systems so it can be disabled and you can just enter the engine by manually typing it into the drop down box.
    • Added - Preferences Dialog
        • New Display sub section under user interface, all display options are now there
        • New Scripting section
    • Changed - Plug-ins
        • Totally re-coded and redesigned to allow more flexibility then before, uses events now instead of old hook system, now you simply add an event function to the object and the event you want to catch from parsing to sending data. once more solid will release a sample plug-in and info on the how to use this.
        • oMUD: no longer plug-in for this moved to new plug-in called ShadowMud
    • Changed - Display
        • Removed Variable replacement in echo to allow each coping of commands as is to reuse if need be.
    • Changed - Autologin
        • Old autolog system has been removed, a new system has been added that allows more features, Now a mud manager/characer manager for easier mud and character manager
        • Uses sqlite backend database for muds instead of the old xml system for faster loading, instead of having to load the whole xml like before it now loads what it needs as it needs like a real database
        • Mudlist - now has a mudlist system similar to zMUD or other clients that lets you track muds and add connections from that list, supports import of the mudlist.txt / .doc from mudconnector and the zMUD mudliist.mdb
        • Quick connection - allows for quick connecting to a host/port with out needing to make a new connection in the manager.
    • Changed - Variables
        • Remove all limb variables and mud related one, there still used in plug-ins but each plug-in handles them as needed, Shadowmud will init to 0 what it needs and the status will used what it needs and if cant find defaults, see Shadowmud and Status Window plug-ins for list of variables they check values for.
    • Fixed - Scripting
        • capitalize(string str), fixed spelling of function name
      • timerlist(), bug in the line displayed now will display correctly
    • Fixed - Profile Editor
        • Right panel now auto scrolls if editor does not fit when window is resized.
        • Bug in new path not setting right area.
        • Bugs in paste, Paths where not being pasted in the right type
    • Fixed - Display
        • Split Screen, changed how split screen is handled, it now is based on % of screen displayed so it will resize better and store easier
        • Backspace character, be fore it was not handled and would display the unknown font character, now if a mud sends backspace it handles it correctly by deleting previous character
        • Painting bugs, several bugs dealing with drawing the display have been fixed.
        • Mouse wheel scrolling when in split mode, now when you first scroll it will start at the top line instead of only doing 3 lines, giving the illusion of scrolling at the break.
        • Find, go to word didn't scroll right.
        • Find, when not searching up, would not continue and always re-find same word over and over, now it works correctly and will move on to see if any more
        • MXP
            • Version and Support would resend every time the same line was re-parsed do to the new way fragments would be handled, fixed it while adding support for Sound and Music tags
            • Version was sending wrong version re-coded to be dynamic and automatically grab the version number