Versions of CMUD (2.x)

[v1.x] [v2.x] [current]

Here is a list of changes made to older versions of CMUD.

2.37 30-Oct-08 (Public)
  • Fixed serious problem when moving a module or window from one package to another in package editor
  • Attempts to fix the above package corruption when a package is loaded
  • Fixed problem with screen scrolling getting messed up when setting the Scrollback lines to a very large amount (>65536 lines)
  • Changing the Scrollback line amount in the Preferences now takes effect immediately and retains existing scrollback contents
  • More attempts to fix the spellchecking crashes on some computers
  • %query now expands variables and functions in it's argument
  • Fixed rare problem with opening the untitled.pkg file if it gets corrupted
  • Using #SHOW to display multiple lines now displays the lines in the correct order
  • Fixed problem with using the Script Debugger window with threads
  • Fixed crash when using Make Alias or Make Trigger actions when text is selected on the screen
  • Fixed search order for #T+ and #T- so that classes and triggers have priority over other settings
  • Fixed rare crash in FreeButton routine
  • Fixed GetXXX Lua functions so they return a setting even if it's disabled
  • Fixed problem with #WAITFOR showing "argument still on stack" error
  • Fixed problem when deleting a trigger within a #TEMP trigger that comes right after the #TEMP trigger in priority order
  • Cleaned up various labels with bad right alignment on WinXP systems
  • Made the F1 Reference window Popup instead of Docked by default (will not effect existing saved layouts)
  • Fixed problem with Commands/Functions menu not being displayed in Help Reference
  • Fixed rare problem with variable not getting set properly the first time when assigning a %null value to a string list
  • Fixed crash after using File/Close All or File/Close Window that was not actually deleting all settings from memory (caused later crash when closing CMUD)
  • Fixed crash in #KILLALL command
  • #PICK command no longer returns the first item in the list if nothing is selected
  • #READ command now looks in the character folder by default (no longer need to specify entire file path)
2.36 14-Aug-08 (Public)
  • Fixed problem with importing XML aborting in the middle and skipping everything after a multistate trigger
  • Fixed crash with XML import when windows refer to docked position
  • Fixed XML export for buttons where all properties were being lost
  • Added names to XML export for window dock alignment
  • Improved XML export for window host/port override
  • Improved XML export for window using dock relative to UID instead of database key
  • Fixed crash when opening a package that creates a window as a side effect of a status bar item display
  • Fixed crash when exiting CMUD while a thread is waiting for text from the server
  • Improved speed of #SUB command
  • Improved speed of #GAG command
  • Improved zScript handling in %subregex
  • %subregex now handles octal and hex notations
  • Improved recusrion handling in %subregex
  • Possibly fixed some rare problems with the screen display becoming corrupted while scrolling
  • Fixed display when using certain fonts (fonts that have ExternalLeading values)
  • Fixed bug with MSP sound containing * character
  • Fixed problem with " quotes around arguments of commands and functions from command line
  • Fixed problem where disabling a class containing a variable or function would not prevent triggers from still using that variable until recompiled
  • Fixed problem using JScript scripts with %mss function
  • #prompt window now sizes correctly on Vista
  • Local variables no longer use trailing \ characters in name
  • #YESNO and #PICK no longer expand their arguments until a command is selected
  • Clicking the Force Save button now also automatically saves any pending changes
  • Global options in Preferences no longer are bolded as "different from default"
  • Setting default preference with a change to a global preference no longer causes crash
  • Numbers that are too large for a 64-bit integer value are now treated as strings in most cases
  • Using Paste in the settings editor will now automatically add an XML root node if one is missing
  • Fixed %line function to properly handle long, wrapped lines
  • Fixed #GAG -nnn to work properly with long, wrapped lines
  • Fixed problem with a="text" assignment with quotes on the command line (was added quotes to variable value)
  • The Edit/Paste menu command now works properly in Telnet Character mode
  • When in character mode, the first character entered on the command line no longer changes focus away from command line
  • CMUDPRO/TESSH: Reconnecting a SSH session no longer displays Lost Connection dialog
  • TESSH: Now uses TESSH.INI file instead of CMUD.INI file
  • TESSH: Now has it's own icon and installer graphics
2.35 31-Jul-08 (Public)
  • Fixed problem with the Default Package list getting reversed between CMUD and TeSSH. CMUD now properly loads English Directions/Keypad packages again
  • Using the %%string function with a string list or database variable will strip out the quotes around the values (suitable for use in a trigger pattern)
  • Adding elements to a string list with mismatched quotes now works properly
  • The mouse wheel now properly zooms the map in and out when the mapper is docked
  • Using the Copy function in the Settings editor when in the middle of editing now properly saves the edits
  • Forces loading the old *.MDB map files instead of loading files converted to the new *.DBM v3 map format
2.34 28-Jul-08 (Public)
  • Fixed problem with using %%functions within {} trigger patterns
  • Fixed problem when string list in trigger pattern contains nested | characters
  • Fixed problem that could prevent settings from being saved in some rare situations (closing a window at just the wrong time)
  • Fixed problem with *.MUD settings imported from zMUD not being saved
  • Fixed crash caused when loading status bar items within *.MUD zMUD import (putting MUD file into the session Package field)
  • Fixed problem that could cause session username/passwords to get linked across multiple sessions, causing a change in username in one session to effect another session
  • Fixed File/New Connection so that it works properly (also with SSH in CMUDPro)
  • Fixed rare crash when loading null preferences
  • Fixed RegEx hint in Trigger Test panel when regex contains a | character
  • Ctrl-Tab in Character mode now works properly (switches between windows)
  • In Character Mode, HOME now sends ESC[1~ and END key now sends ESC[4~
  • In Character Mode, F1..F12 now send ESC[nn~ (except in VT100 mode, where F1..F4 send VT100 application keys)
  • Pressing the Enter key (or ESC key) when in Character Mode when another dialog (like File/Open) has focus no longer sends Enter to the server
  • SSH: Clicking on Telnet/SSH options will now fill in the default port numbers
  • SSH: When an invalid username or password is used, you are now prompted for the correct values instead of just not connecting
  • TeSSH: Character Mode is now the default
  • TeSSH: Changed the default packages value to remove the English Directions and English Keypad
2.33 21-Jul-08 (Public)
  • Fixed serious problem importing certain *.MUD files from zMUD causing CMUD to hang
  • Fixed problem setting name not appearing in Tree View in settings editor until manually refreshed
  • Fixed crash when closing the main session window using the X button
  • Fixed crash when changing button options when the caption was blank
  • Added new %comline pre-defined variable to fetch the current contents of the command line
  • Mousewheel, Ctrl-Z, pgup, pgdn, etc now work with selected MUD window instead of always splitting the window with the command line
  • Min and Max version info of a Package is no longer reset when installing the package from the package library
  • Fixed Ctrl-Tab so that it properly switches between windows again
  • Fixed a.b syntax so that it only access a key within a database variable or index of a string list if "a" is really a db variable or string list. So, something like {get all %1.corpse} should work now as it did in zMUD
  • Fixed a syntax error when creating an alias that used another window, such as #alias test {tells:hello}
  • Fixed bug that was still causing Prompt triggers to recursively call themselves, resulting in a crash or hang
  • Changed option name in Preferences to "Allow any key to be a macro" to make it more obvious what this option does
2.32 16-Jul-08 (Public)
  • Fixed problem opening SQLite database files that are readonly
  • Fixed problem opening database files in the Program Files directory on Vista
  • Fixed crash/stack overflow in CMUD Compatibility Report (CMUDPro was fine)
  • Auto updates in Package Editor are now blocked when in the middle of creating a new setting
  • Upgraded CMD.DB command database to SQLite 3
  • Upgraded Package Library database to SQLite 3
  • Improved speed of updating packages in package library
  • Child windows will now send MUD output and commands to their "parent" window as defined by the Position Relative To property for the window
  • Child windows no longer enable any other packages when they are first created
  • Added %packages function to set/query enabled package list for a window. %packages(windowname[,newlist])
  • Delete key on the command line no longer deletes a room on the mapper window
  • Fixed several issues with the wrong keyboard menu shortcut being executed in the wrong window that doesn't have focus
  • Fixed LUA zs.numbutton function
  • Fixed #LUA command when using property syntax such as var.property = value
  • Fixed problem with #PSUB when scrollback buffer is full
  • Fixed problems with CMUD and CMUDPro Auto-Update code
  • Fixed problem with oninput trigger not firing on the result of a #SEND command within a Prompt trigger
  • When all session icons are deleted from the main screen, the Connect, Offline, Edit, Delete operations no longer crash
  • When all session icons are deleted and CMUD is restarted, the updated list of default icons is always downloaded now
  • Fixed a hang/freeze when saving an Expression Trigger in the package editor that is going to fire immediately
  • Multiple spaces between arguments are now handled properly when the Parse Arguments option for an alias is turned off
  • Using the Execute Script in the right-click menu of the package editor should handle threads properly now
  • Child windows properly set their image directory to the parent's directory even after restarting the session now
  • Fixed a crash when closing a session
  • Added F1 help key to Package Library
  • Added a splitter-bar between the filter panel and the main package list in the Library
  • Fixed the sort by Rating in the Library so that UnRated is the lowest value instead of the highest
  • Filter, Sort, and Grouping settings in the Library are now maintained across sessions
  • Package Library now sorts by Rating by default in new installations
  • Package Library now displays the first package in the list (based upon sort and filter) instead of a random package when first opened
  • When you double-click a package in the library to view the details, you can now use the Mouse Previous button to return to the previous window
  • Added the MUD name to the description info for packages in the Library and moved the extra info to the second line, giving the first line entirely to the package name
  • Fixed some problems with the column resize in the Library. The Download count, Rating, and Installed columns are now fixed width
  • Fixed problem with the sort icon displayed in the column not being correct
  • Fixed font color of topic in Help window
  • Button with AutoSize=false now exports size to XML even if same as default
  • Gauge properties for button no longer added to XML unless button is really a gauge
2.31 11-Jul-08 (Internal)
  • Added support for reading SQLite 3.x database files
  • Converted Help database to SQLite 3.x
  • Improved the Search feature in the Help to remove duplicate search entries
  • Fixed a low-level problem when searching for settings (like variables) that caused a performance slow-down and potentially could cause duplicate variables
  • Fixed problem when copying a button from one package to another
  • Fixed problem in settings editor where the Auto Update feature could cause problems if it updated while a drag/drop operation was in progress
  • Fixed problem with uploading a package with multistate triggers and buttons to the shared package library
  • Fixed problem with floating windows not remembering their location when closed and reopened
  • Windows now have a separate Caption field to allow the caption to be different than the window name
  • The #NAME command now changes the window Caption instead of the name
  • Windows now save their size/position and other properties. Also available via the XML export/import
  • Added preferences for enabling/disabling the splitscreen scrollback and also enable/disable the scrollbars for the window
  • Added btnenable property to button XML export/import
  • Fixed problem with the Help/Enter License dialog not showing the name of the person it is registered to
  • Fixed another ATCP packet boundary problem
  • MXP FRAME Dock option now looks for matching window name first before searching for window caption
  • All other commands (such as #WINDOW, #CLOSE, and windowname: syntax) also search for matching window name before testing the window caption value
  • MXP Version increased to 1.1 to support the new FRAME features from the last few versions and to help MUD servers determine if the character and percentage size options are supported
  • Closing a floating window properly returns focus to the command line again
  • Fixed crash when closing a floating window and then reopening it with the #WINDOW command
  • Fixed #PICK, %pick so that the Shift key doesn't need to be pressed to select multiple items
  • Added Language property to Lua API for each setting
  • Fixed various problems with displaying an MXP image in a floating window. The margins at the top and left are now removed properly
  • Fixed problem with MXP FRAME window sizes not being set properly
  • Fixed problem with MXP Image maps not returning the correct coordinates that are clicked on when the image is scrolled
  • Fixed problem with MXP FRAME _PREVIOUS window not working
  • Windows now save the Scrollable MXP FRAME property
  • Fixed Log icon in command line when using #LOG in a trigger
  • The View/Tab Completion dialog is now editable again (name and Value fields)
  • The Ctrl-W shortcut for adding a tab word now properly adds the tab word to the current window instead of to the default settings package
  • Added Value field to #TAB command. #TAB command syntax is now: #TAB word {value} "class"
2.30 3-Jul-08 (Public)
  • Fixed problem with exporting a class causing entire window/module to be exported
  • Fixed problem when importing that could cause settings to go within a duplicate subclass
  • Fixed problem with using %~ in a trigger pattern
  • Null values in a {a|b|c|} trigger list are now converted to the proper regular expression (?:a|b|c)?
  • Dragging a class to a module/window in another package when in All tab view now works properly
  • When viewing All tab in package editor, it no longer switches to other package tabs automatically
  • MXP FRAME dock="window" attribute added to specify exactly which window to dock the new frame within
  • MXP FRAME added PERSISTENT attribute. This ignores the size/position if the frame already exists
  • MXP FRAME align="client" now works properly to make the new window tab-docked
  • MXP FRAME action="close" now closes windows properly
  • MXP frames now properly maintain their size instead of resetting
  • Images in MXP frames now properly store the images in the character subfolder instead of main CMUD folder
  • Closing an MXP frame no longer messes up the command line focus
  • Spaces within Variable default values are no longer stripped when saved
  • Fixed problem with default colors in session Styles being displayed as "None" instead of "Default"
  • Fixed problem with "Default" color in session Styles causing text to be black in some cases
  • The Editor/Save and Load script menu commands in the package editor now work with the XML tab view
  • Special characters like & are properly exported to XML within class names (and other settings names).
  • Using text: on the command line when "text" is not a valid window name now properly sends the text verbatim to the MUD
  • Fixed a lockup when using ; followed by a @ or % character on the command line
  • Fixed another packet boundary problem in ATCP causing weird character to be shown on screen
  • Using an argument to the #MODULE command to enable/disable a module no longer creates a duplicate module
  • Added additional Script Debugger message to display the execution of any script (alias, trigger, etc)
  • Fixed problem with flyout windows causing problems when clicking on the window
  • Fixed problem with clicking on buttons in flyout windows
  • The "enabled" property of a button (the visual property set with %btnenable) is now saved with the button
  • Various button commands no longer reset the "enabled" property of the visual button
  • Added the visual button enable properly to the Button Options panel in the settings editor
  • Pressing ESC on the command line now saves the current command line in the recall history as if the Down-arrow had been pressed.
  • The #KEY command now supports + in addition to - character when using a modifier like Ctrl. Such as Ctrl+A in addition to Ctrl-A
  • The #KEY command now supports the key name "SPACE" in addition to the previous "SPC" value.
  • Fixed problem with duplicate trigger states being added to the XML Export text
  • Fixed Sample trigger pattern in the trigger testing window when using wildcards within {} patterns
  • Fixed crash that could occur sometimes when creating an #alarm
  • When viewing the Tools/Message Log, the dialog is automatically updated when new messages are received from the network
  • CMUDPro: Added support for SSH Banner messages
  • CMUDPro: Pressing Enter in SSH no longer sends an extra CR to the server
  • CMUDPro: Now handles SSH closing a tunnel properly to disconnect a session
2.29 25-Jun-08 (Public)
  • Fixed problem with ANSI blink, bold, underline, etc
  • Fixed problem with Parse Arguments alias option not working
  • Added { and } character to list of characters quoted by %quoteregex
  • Added second argument to %quote and %quoteregex for adding a list of additional characters to quote. Added the third argument to specify a list of characters *not* to quote
  • Added #GAGLOG command to prevent a line from being written to the log file
  • Added #WRITELOG command to write a line to the log file
  • Added % and character (c) width and height specifiers to MXP IMAGE and IMG tags
  • Fixed problem with %pick and #PICK not displaying selected items in dialog list
  • Fixed problem with trigger pattern not compiling when starting with a ( character
  • Fixed problem with wildcard in {} expanding to incorrect regular expression
  • Fixed problem with #VAR command when using COM variables
  • A COM error should no longer cause a lockup when it happens in a background thread
  • The Lock Layout option no longer prevents the Editor window from opening (or causing a crash with ATCP Composer)
  • Holding down the Shift key when opening offline or connecting now properly resets the window layout again
  • Fixed several crashes when closing a session
  • Fixed crash when executing a trigger when moving on the room (such as a room script trigger)
2.28 19-Jun-08 (Public)
  • Fixed problem with stored passwords being corrupted by upgrade
  • Fixed serious exploit in MXP that could allow people to send you text that looks like it was sent by the MUD (Note, zMUD also has this exploit, but can't be fixed, so turn off MXP in zMUD)
  • Added %quoteregex function to quote special characters used in regular expressions
  • Fixed problem with %quote function when value contained some special characters
  • Fixed HTML logging adding color=000000 instead of default color
  • Fixed HTML logging to not add blank style tags
  • Fixed HTML logging to handle nested MXP attributes
  • Fixed HTML logging to handle ANSI color within a link
  • Null values in a string list or database record used in a trigger pattern are now handled properly (adding the ? to the subpattern instead of adding a | blank to the list)
  • Added a button to the Trigger Tester panel to paste Perl Regex value to the clipboard
  • The Perl Regex value in the Trigger Tester also now has a mouse-over display of the full pattern
  • Fixed various crashes when closing sessions
  • Fixed problem with Functions that was causing a crash and preventing the Lua zs.execfunc from returning the correct value
  • Fixed various bugs causing buttons to sometimes disappear from the button bar
  • Pressing Ctrl-G when the Package Editor is minimized will now properly restore the editor window
  • Fixed problem with URL Style not saving if the underline flag was disabled
  • Fixed problem with #PRINT that was turning off all triggers after using it
  • #PRINT is no longer flagged by compatibility report
  • Fixed problem with adding keys to database variables that start with ( parenthesis
  • Fixed problem with adding keys to database variables that contains = characters when the value field is blank
  • Fixed problem with control character being displayed when expanding string list or database variable in a pattern
  • Fixed problem with macros sometimes not working when package editor is open
  • Clicking on the status bar now properly focuses the command line
  • Fixed problem with telnet character mode that was preventing Enter from working on the command line
  • Fixed problem using %%function syntax within a regular expression trigger pattern
  • Fixed problem using spaces before number arguments in functions
  • Smart command line no longer strips spaces or quotes unless the first word on the command line is a valid alias (or command)
  • Fixed problem with smart command line removing &xxx text
  • When using the smart command line and the command line doesn't compile and the first word isn't an alias or command, then the resulting command line is sent to the MUD verbatim instead of displaying the parse error message
  • Fixed problem in regular expression triggers so using \@varname will properly escape the variable and prevent it from expanding
  • The command line is now focused when the Ctrl-S speedwalking window is closed
  • Fixed problem with MXP links after highlighted text causing a different highlight color
  • Fixed problem if a ESC[0m ansi code is used in some cases causing text to become black
  • Pasting XML for a button no longer causes the sample button to disappear
  • Setting various button options, such as Inset, Explore, colors, images etc now properly effect the sample button immediately
  • Pressing Cancel after changing the button text color now properly resets the color back to the previous value
  • Making changes to a button state (like the color or caption) no longer causes the button to become corrupted
  • Fixed various problems related to the ALT key activating the menu bar when activating a ALT-key macro
  • Fixed problem with Log icon displaying even when no logging had been started
  • Fixed crash when using an invalid key name with the #KEY command
  • Adding an invalid image file to a button no longer causes a crash (displays a blank image instead)
2.27 12-Jun-08 (Public)
  • Fixed serious "there must be at least one field" bug
  • Fixed serious bug that could prevent settings from being saved
  • #print command should now work
  • Fixed problem with @dbvar.key not working within a trigger pattern
  • You can now dock a command line toolbar to the bottom of a floating window
  • Fixed #MXP colors and links so that using <send><color>xxx</color></send> will work properly
  • Fixed URL link style in status window
  • Fixed problem with network packet boundaries within ATCP packets
  • Fixed another problem where changing the key/value of a database variable might not get saved
  • Save Buffer now properly adds BR tag when in HTML logging mode
  • Auto Save Layout option is now saved/restored with the character session
  • Fixed problem using @List string lists and database variables within regular expression triggers
  • Null values in trigger lists no longer cause CMUD to hang
  • A #TEMP trigger no longer will recursively run itself in an infinite loop
  • Pressing the Enter and ESC keys while in Telnet Character mode will now properly send a Newline and ESC to the server
  • Fixed problem with MXP links sometimes not getting terminated and bleeding into other lines
  • Changed Lua.dll to Lua5.1.dll for better compatibility with Lua addons
  • Fixed debugger window so that it doesn't continue to be hidden/active even when closed.
  • Added a separate Hide Window option to debugger File menu
  • Added an option to the User Interface preferences for expanding aliases using tab completion (feature is now OFF by default)
  • The Terminal Type in SSH mode no longer forces VT100 setting
  • Updated PCRE76.DLL file to 30-bit mode to handle longer regular expression and trigger patterns (like very large string lists)
  • #CLASS command no longer creates a new class when trying to enable/disable an existing class in a different module or package
  • Fixed problem with color styles in settings editor getting lost (set to black) in some obscure situations after deleting other settings
  • Added arguments to onConnect event: WindowName HostName ReconnectFlag. ReconnectFlag is 1 if reconnecting.
  • Added arguments to onDisConnect event: WindowName HostName
  • onConnect and onDisconnect now call events in the window that is connecting/disconnecting and in other visible modules
2.26 5-Jun-08 (Public)
  • Added the "Clickable URLs" package to installer. New installs will have this added to Default packages. Existing sessions will need to load it via the File/Open menu in the settings editor (and add it to their default packages list in their Preferences for new sessions)
  • Added "Parse Arguments" option to Aliases. When turned off, arguments to the alias are not parsed at all
  • Added URL Style for controlling how URL links look. Default is just underlined. Removed the unneeded "Underline MXP links" option
  • Added new #PRINT command which displays text to the screen without causing any triggers to fire on it
  • Removed the no-longer-needed "Number of scrollback lines for child windows" preference. Each window can have it's own scrollback setting in CMUD and this option was not being used
  • In Character Mode (telnet), pressing a Ctrl-key will properly send Ctrl-key to the server if "Override menu shortcuts with macros" option is enabled
  • In Character Mode, pressing Alt-key will send ESC+key to the server if "Override menu shortcuts" is enabled
  • Added Hidden option for classes. The System class is marked as hidden by default.
  • Added View Hidden classes to View menu in Settings editor
  • #DEBUGFILE now properly writes *both* files to the Datafile directory
  • Variables are no longer duplicated when dragging classes between packages
  • The AutoSize and AutoPos options in the Button options screen now work properly and have the correct tooltip
  • Fixed problem with Windows system font not being properly used for the CMUD user interface
  • Fixed problem caused by having the command line under multiple windows (such as the mud window and mapper)
  • Improved various issues that were causing the command line to get refreshed too often
  • Using the File/Open in the package editor will properly use the "packages" subdirectory by default for blank sessions
  • Wildcards in string lists and database variables are now properly escaped when using them in a {{@varname}} pattern. Use %string or %dbkeys to convert the string list or database variable to a regular string to allow wildcards in the string list to take effect
  • Fixed problem with = character in string list causing variable to be flagged as a database variable in {{@varname}} trigger patterns
  • COM objects are no longer closed when another child window is closed
  • Floating windows now minimize properly
  • Floating windows now work in telnet Character mode properly
  • Fixed bug that was causing the Save/Cancel buttons in settings editor to get enabled when just clicking on different settings in the tree
  • Fixed spellchecking in settings editor so that it properly handles functions and commands
  • Fixed spellchecker to not flag %1..%99 or %i..%n as mispelled words.
  • Fixed spellchecker to properly handle predefined variable names
  • Make some changes to the spellchecker to attempt to resolve problem with F7 causing crash (but still could not reproduce original problem)
  • Pressing F7 to spellcheck when cursor is at the end of the command line now properly checks the entire command line
  • Fixed problem with black color in HTML logging
  • Links in help file now load other help topics locally instead of loading them into the web browser
  • Fixed various display problems with styles, especially when used within MXP or other %ansi inline text
  • Fixed various crashes involved in removing an item from an internal list. Caused several obscure crash dumps.
  • Fixed problem with color styles being reset in settings editor, causing features like paren matching to stop working
  • Fixed problem causing duplicate variables when using the Prompt preferences or when using &varname in a trigger pattern
  • Fixed problem with links that contained ansi color codes causing the rest of the link not to work
  • Fixed problem with setting a variable to %null not updating related settings, such as buttons
  • Deleting an active trigger state will now reset the trigger instead of causing it to stop working completely
  • Inline MXP now allows downloading sounds if the Default URL Path has been set and matches the URL argument in the sound being played
  • Parser now handles "#123" kinds of strings within a line as normal text instead of command references. Command references within a line are also treated as normal strings. This allows lines such as "CMUD is #1" to be handled properly
  • Fixed problem that could cause the settings editor to hide behind the main window when initially opened
  • Fixed problem with command line not getting focused when it was turned off and then turned on again
  • Fixed crash when reconfiguring the mapper while live on the MUD and changing configuration options to invalid values
  • Fixed problem with default color being stuck at silver when trying to change it to green
  • Added Default/None and other system colors back to Styles color dropdown fields
  • Fixed rare crash when saving preferences
  • Fixed problem in settings editor where you could no longer enable/disable a setting after deleting a selection of settings
  • F10 key no longer giving focus to menu bar when Override menu option is enabled
  • Fixed crash when using MXP with HTML logging turned on
  • Fixed problem double-clicking a variable reference in settings editor that pointed to a different package
  • Fixed several problems in settings editor determining if a variable/alias was "visible" and should be colored red
  • A red variable no longer shows a tooltip and cannot be double-clicked
  • Closing settings editor when the search bar has active search text will clear the search the next time the settings editor is opened
  • Floating windows no longer have duplicate entries in the system menu (such as Rollup, etc)
  • Fixed problem with macros and scope of variables
  • Pasting a global module via XML no longer marks the module as Local
  • Pressing the down-arrow at the bottom of the View/Directions screen no longer causes crash or shows Window properties
  • Telnet triggers are no longer written to log file, and no longer are captured to child windows
  • Fixed bug with parsing the ~ character within " quotes
  • Fixed problem with using " quotes in #LUA, #MSSCRIPT, #SS, %msscript commands and functions (the quotes are no longer stripped)
  • Fixed problem with selecting a package from the pulldown combobox in the toolbar not always working
  • Fixed a problem where the focus was going to a different window at startup even if it didn't have a command line
2.25 8-May-08 (Public)
  • Fixed database records in trigger patterns so that longer patterns come first
  • Fixed serious problem with #CLASS "//Module/Class" not creating the class in the specified module correctly
  • Fixed problem where setting a database or string list to null was not causing buttons or other items to update
  • Fixed problem with closing the main untitled window causing a duplicate module to be created
  • #SEND, #SENDPROMPT, and #SENDRAW no longer require {} around their arguments (they work more like #SAY and #ECHO now)
2.24 7-May-08 (Public)
  • Added filter box to Variable editor for string lists and database records
  • Added "prompt" OnInput command triggers which run before the command line is parsed for scripts
  • Fixed problem with database variables not saving changes
  • Fixed problem with right-clicking on window tab and selecting Close not closing the window
  • Fixed various crash problems with closing a session and reopening it
  • Fixed crash when opening two sessions sharing the same file
  • Button bars now resize properly as command line changes height
  • Improved speed of using database records in trigger patterns
  • Improved speed of %dbkeys and %dbvalues functions
  • Fixed problem with using {%%function(params)} syntax in trigger pattern
  • Fixed ANSI color problem when using #CAPTURE causing color to reset to default
  • Fixed parsing error message display to show entire message for multiline error messages
  • Fixed problem with settings editor showing wrong package after loading package with an onLoad event
  • Fixed crashes in settings editor after removing a package
  • Fixed Concat error message given when using %if when null arguments (and potentially with null arguments in other function calls)
  • Improved speed of MUD list loading
  • Improved speed of Package library loading
  • Logging commands in HTML mode now adds the BR to the end of the line
  • HTML Logging no longer drops the first character of the background color from the MXP COLOR tag
  • HTML logging works with named arguments in the MXP COLOR tag
  • HTML logging properly closes MXP tags
  • HTML logging handles MXP HR tag properly
  • Fixed problem with nested MXP tags in HTML logging
  • Fixed %names function to return proper list of window names
  • Syntax Highlighting in settings editor properly handles disabled variables now and no longer caches variable state
  • Updated DevExpress to patch another fix to right-aligned labels
  • Fixed problem with setting a variable value not being thread-safe
  • Updated PCRE.DLL with new build that uses less stack memory
  • Updated %subregex routine with Vijilante's latest code
  • Updated the regular expression for testing %1..%99 within quotes in the Compatibility Report to prevent crashes
  • Spell system no longer stored configuration in registry. Now stored in a file in the DataDir directory.
  • Fixed a crash when saving settings when closing a window
  • Fixed the color of text in the Session and Settings editor banner display
2.23 1-May-08 (Beta)
  • Added option for HTML color logging (Session/Logging preferences screen)
  • Fixed problem with database variables reverting to previous values
  • Fixed problem with editing a database variable causing it to return zero instead of the database
  • Fixed %db functions to work properly when a database module is open
  • Fixed problem with database variables containing = and " quote characters in values and keys
  • Undocking or moving windows no longer causes them to always get a visible command line
  • Fixed more packet boundary issues with ATCP messages
  • Fixed loop/hang in Script Reformat command
  • Updated PCRE and %subregex routines from Vijilante
  • Increased PCRE stack size in regular CMUD (Pro was already updated)
  • Updated to build 35 of Developer Express components
  • Added additional error checking to compatibility report
  • Compatibility report handles multistate triggers better now, and groups errors together within the main trigger entry
  • Compatibility report no longer causes error for alarm triggers
  • Changed CTRL-A shortcut to be Select-All instead of Make-Alias (by popular demand)
  • onExit event is now called properly when a window closes
  • onConnect is only called for the window that is actually connecting
  • File/RemovePackage no longer removes the incorrect package
  • Selecting a different package tab in settings editor will properly expand the module within the package
  • Fixed WinXP display problem in MUD Search screen when Advanced button is clicked
  • Fixed a memory leak which increased memory for each line received from the MUD (eventually causing crash)
  • Some minor speed improvements in doing a variable lookup when specifying the full //module/class/varname syntax
  • Fixed events raised from aliases and oninput triggers
  • Fixed crash when updating a button within an event
  • Multiple windows that share a button definition now update the button caption properly based upon the context of the window containing the button
  • Changing a shared variable will properly update all buttons that depend on the variable, even in other windows
  • Removed ESC[xS style codes from ANSI log output
  • Fixed a problem with #EXEC and threads
  • Fixed Expression Triggers so that they fire properly when the session is reloaded
  • Fixed crash when clicking the New button in the View/Directions screen
  • Using a $ in a trigger pattern will properly treat it as a newline instead of a local variable. Use ${varname} to refer to a local variable in a trigger pattern
  • Fixed crash when typing into the Language field of the settings editor
  • Fixed a rare data corruption issue when loading multiple packages and using #DELCLASS to reload them outside of settings editor
  • Fixed problem with New Child State adding a random setting type instead of a button or trigger in the settings editor
  • Fixed several problems with using MXP capture when the line contained ansi color codes within the MXP tags
  • Fixed infinite loop/crash when pressing a Macro key that ran a script using any #WAITxxx commands
  • The Convert-to-regex button in the Trigger editor will now work properly when you toggle the RegEx option on and off
  • The #COLOR and #HIGHLIGHT commands now create triggers using #COLOR instead of #CW when a pattern is specified
  • Changing the type of a variable will now recompile the variable properly
  • Fixed crash when setting a variable containing an invalid number to a Floating point variable
  • Fixed %param function when using variables or functions as the argument. However, local variables still cannot be used within %param (since %param($var) refers to the named argument and not a local variable)
  • Fixed a problem with %pat not returning the proper value when multiple threads are running
  • Fixed problem in mapper where deleting the Room Script would cause "All" to be displayed
  • Variables created in a mapper Room Script no longer cause subsequent settings to be stored in System class
  • Wildcards within {} trigger patterns are now enabled by default and an option has been added to the Scripting Preferences
  • Lua command line mode is no longer saved across sessions
  • Lua command line is now colored in light-yellow (the Windows Info color setting) and a label of "Lua:" is placed in front of the command line to remind users they are working in Lua mode
  • %proper function no longer changes the first character if it isn't a lowercase character
  • #PCOL (and other commands that use $RRGGBB color values) will now work properly with local variables
  • Fixed a threading problem with the #RAISE command.
  • Fixed a crash when opening the mapper window sometimes.
  • Using #CAPTURE or #WINDOW to access a closed window will open the window without creating a duplicate window object
  • Clicking on the New button and then selecting from the pulldown menu in the settings editor wasn't working sometimes
  • Fixed various label alignment problems in various screens
2.22 4-Apr-08 (Beta)
  • Improved overall performance by caching "enabled" properties of settings and classes
  • Added "tiled" view option for Session window
  • Added "View" menu to Session menu bar (same as right/click View submenu)
  • Fixed major problem in CMUDPro with the SSH license not being set, which didn't allow SSH connections
  • Combined the Host and Port columns in the session Details into a single "Host : Port" column
  • When creating a new setting, any existing setting with the same name/type in the current class is overwritten instead, regardless of whether it is enabled or disabled. This should prevent duplicate settings from being created in the same folder
  • Fixed various context/scope issues with Event firing, especially with onLoad events
  • Selecting a MUD from the MUD List no longer clears out the connection info of another session
  • Fixed a problem with deleting a Module within the Settings Editor not deleting the settings within the module
  • Changed #DELCLASS and #UNCLASS so that they will not delete a class outside of the current package unless the full //module/class syntax is given
  • Fixed problem with #DELCLASS and #UNCLASS which would delete a class in the current package if the specified module could not be found
  • Improved performance of deleting many settings in the Settings Editor
  • Fixed Toolbar so that it does not continually revert to small icons. This might require that you readjust your toolbar buttons in any existing saved session layouts, but once you select Show Captions by right-clicking the toolbar button, the preference should get saved now
  • Using Save Package As in the settings editor properly saves the correct package
  • Using Export XML will properly export the selected package instead of the main session package
  • Right-clicking and exporting a module will properly export the module instead of exporting one with the same name from the main session package
  • Creating a New Package with the same name as an existing module or window no longer causes a problem
  • Dragging a module/window to a Package tab will now properly put those modules/windows at the top level instead of putting them inside of the main module of the package
  • Changes to settings are now properly saved when using Close Session or when closing a window
  • Modified the Telnet Option code to allow the MCCP1 incorrect IAC SB option. Also allow this invalid telnet syntax for MXP and MSP options.
  • Fixed problem with using {string} in a function call within an #IF statement
  • Fixed problem with ANSI color being reset when lines are wrapped within CMUD
  • Fixed problem when a IAC EOR/GA sequence was followed by ATCP subtext that prevented a newline from being added to the output
  • Fixed problem in Settings Editor where changes to settings being made in the background could cause the TreeView to loss it's selection or scroll to a different spot
  • Typing an email address on the command line (like to send it to the MUD) now works properly. When using @name or %name when "name" is not a valid variable or function on the command line will send the text to the MUD verbatim instead of returning null.
  • Fixed problem with Syntax Editor default style not being saved
  • Fixed various label and font display issues in the Styles screen, MUD Connector screen, and package list
  • The system menu of the Sessions window now properly indicates StayOnTop and TaskIcon status
  • #DEBUGFILE now outputs files to DataDir to avoid file problems on Vista
  • Removed unused DevExpress skins that were bloating the EXE file.
2.21 28-Mar-08 (Beta)
  • Fixed problem with ANSI color getting reset to gray at the beginning of a line
  • Fixed problem with packet boundary in ANSI code causing color to be wrong
  • Fixed problem with packet boundary in ATCP codes
  • Importing XML will no longer create duplicate windows/modules. Existing windows/modules with the same name will be overwritten by the import
  • Fixed Copy/Paste for classes so that it creates a copy of the class instead of overwriting it
  • Fixed problem where using a command like #ADDKEY when session is first loaded could cause database variable or string list to be wiped out
  • Fixed problem where using #ADDKEY might not cause changes to be saved to the package
  • Fixed problem with #LOOPDB not paying attention to database variable Sort property
  • Fixed problems with #LOOPDB and #SHOWDB using wrong values for keys in database variables
  • The Sort property is now saved for variables and added to XML export
  • The #SORT command now sets a variable to either StringList or Record instead of leaving it as AutoType (allowing autotype values to be properly sorted)
  • Fixed deleting classes in settings editor so that settings within class are deleted
  • Fixed the New Trigger State and New Button State routines in the settings editor
  • Added a "fix" so that when using ATCP and MCCP at the same time, MCCP is disabled until it is manually enabled again in the Preferences (so that IRE MUDs don't have problems with the out-of-the-box CMUD preferences). Once you manually change the MCCP and/or ATCP preferences, then this "fix" is disabled for that session in the future.
  • Assigning macros to menu keys such as ALT-F should work now
  • Fixed order of #SHOW commands after getting a EOR/GA prompt from the MUD
  • Spellchecking on command line should be working again
  • Fixed the Ignore First Word spellcheck option
  • The right-click context menu should be working again on all Edit fields and in the script editor
  • After pasting a large command into the command line, the next key pressed is no longer lost when overwriting the previous contents
  • Opening CMUD via a desktop icon or command line arguments properly focuses the command line
  • Errors in trigger patterns now cause proper error messages and no longer cause crashes when used in background threads
  • Blank lines are no longer skipped and will now test all triggers properly
  • Fixed problem with * pattern when using a RegEx trigger (it was being treated as a zScript '*' trigger instead)
  • Fixed problems in Settings Editor where the tree could scroll while you were editing
  • Moving through the settings editor with the arrow keys should no longer cause the focus to switch to the Name field in the editor panel
  • Fixed the Messages menu in the Script Debugger so that 'm' is at the bottom and fixed the messages that could not be checked.
  • Fixed crash when importing a session on top of itself when containing database variables
  • Fixed crash with viewing database variables in settings editor after using the #RESET command
  • Fixed the "context" for executing the OnLoad event in external modules to be the current session window
  • Fixed the database variable editor so that pressing Tab from the last cell properly adds a new row and focuses the first cell in the row
  • Fixed a variety of other problems in the grid editor used for database and stringlist variables
  • Increased the stack size to help with %subregex issues
  • Fixed issue with reading registry keys in HKEY_LOCAL_MACHINE on some systems that was preventing the DataDir key from being read
  • Fixed problem with using the Compiled Code tab for multi-state triggers where it would test the script for the current "active" state instead of the state being edited in the settings editor
  • Events now show the ID: Event Name just like triggers do
  • Fixed some problems where the full display name of a setting could disappear in the TreeView
  • Various labels and display problems were fixed, including the New Session labels, and the overlapping labels in the Room Properties Exits tab
  • The TempDock window is no longer visible in the window list
  • Fixed Tick Timer error about RzLabel not found
  • Fixed problem with initial docked mapper window size being too large
  • Fixed Ctrl-S shortcut in Settings Editor to properly save the changes to the current record
2.20 14-Mar-08 (Beta)
  • Rewrote Package Editor to use new, unbound TreeView. This should fix *many* of the random crashes caused by the settings editor and greatly improves the speed of the package editor in many situations. Most of the Package Editor was rewritten to accomodate this change.
  • Added Next/Prev browsing history to Package Editor. Buttons are also bound to the browser next/prev mouse buttons
  • The Refresh button in the Package Editor will turn yellow if the current record being edited has been modified in the background. Pressing Refresh will overwrite your edits with the newly changed values. Pressing Save Changes will overwrite the newly changed values with your edited values
  • A Rename dialog box is now displayed when you try to create a new setting with the same name as an existing setting in the same class folder
  • The Copy/Paste operations in the Package Editor properly create copies of selected items
  • Added a Class Panel to the Package Editor which will display settings within the currently active class.
  • Added saved docking layout to Package Editor. Use the View/Panels to control which dockable panels are displayed. Use the Show Panel Captions option to display the panel captions so that you can drag/drop them. The new Class Panel has a menu button in the upper-right corner to select between horizontal and vertical class list display
  • Added a right-click menu to the new Class Panel and the existing list of items shown in the class editor. Multiple selections are enabled and the menu supports enabling, deleting, and exporting selected items.
  • Added a Edit/Options menu to the Package Editor for selecting new options to control whether the Tree and/or Class panels are filtered, and whether the TreeView only shows folders or not.
  • Significant speed improvements to Package Editor when working with large settings files
  • Selecting JScript language now saves properly
  • Fixed several problems with drag/drop moving and copying settings to another class folder that could corrupt settings
  • Using #CLOSE will properly close a window now
  • Using #WINDOW to open a window will check to see if an existing window with the same name already exists but is hidden
  • Closing sessions properly cleans up docking system to prevent corrupted layout
  • Made several fixes to the toolbar layout saving and loading to prevent problems with the command line getting corrupted
  • New stretchable command line component maintains keyboard focus better than before
  • Updating captions on menu items, such as the clock and column indicator no longer take focus away from command line
  • New PCRE library for regular expressions improves trigger matching speed (thanks to Vijilante for his help with this)
  • New %subregex routine properly handles substring references such as \1 within the replacement string. Do not use %pat anymore...use the proper PCRE syntax for string replacements. Named substrings also supported
  • Error messages from compiling PCRE patterns are now reported
  • Default layout and toolbar configurations are now saved to the DEFAULT.XLY and DEFAULT.TBZ files (instead of the old CMUD.XLY and CMUD.TBZ files). Added command to Layout menu to save the current layout as the default when no session is open. When a session is open, this menu command changes to force the current session layout to be saved.
  • Right-clicking on the toolbar and selecting the Show Caption and Image on Top options now works properly for each individual toolbar/menu item instead of changing the entire toolbar
  • Right-clicking the toolbar in the Package Editor also shows a Reset toolbar option to undo any user customizations of the toolbar.
  • CMUD installation no longer overwrites the DEFAULT.PKG default settings. The user can now customize the Default Settings without worrying about their changes being lost at each upgrade
  • Added a Save as Default button to the Preferences which will save the current page of preferences into the DEFAULT.PKG default settings. This makes it much easier to change the default preferences used by other sessions.
  • Fixed the Reset to Default button in the Preferences to properly reset the preferences of the current module back to the default settings. If you select the preferences for the Default Settings and then click the Reset to Default button, it will reset the page of Default settings back to their original "factory" settings.
  • The Reset to Default and Save as Default buttons now properly only effect the current page of preferences being looked at, instead of changing all preference tabs.
  • Fixed problems with changing the Styles preferences which could cause the text font and colors to get reset sometimes
  • Changed the "factory default" text color from green to silver to better match the ANSI standard
  • Fixed bug with #CLOSE causing a package to be set to read-only
  • Default Settings package is no longer set to read-only
  • Fixed a bug where closing a session could cause the preferences for some packages to get reset
  • If no registry key is found to indicate where to store user datafiles, CMUD now defaults to storing in "My Documents/My Games/CMUD" instead of defaulting to the installation directory (better Vista compatibility for people moving their CMUD directory to a new computer).
  • Fixed serious bug when using AND and OR operators to test different data types (mixed strings and numbers in IF statement)
  • Fixed bug with #DELKEY and %dbkeys causing database variables to be corrupted
  • Improved speed of displaying large string lists and database variables in settings editor
  • Package Editor TreeView is now readonly...you cannot rename settings or change priority values directly from the tree anymore
  • Repeat within Line option for Triggers is now saved/restored from the XML data
  • Fixed problems with using the Filters when looking at the full MUD Connector list
  • Improved the speed of the Search panel for the MUD Connector list
  • Fixed the Group by MUD Type option in the MUD Connector list
  • When displaying a trigger with an ID value in the package editor, the full trigger pattern is now displayed after the ID value in the tree view
  • Fixed problem with using Close Session while the Package Editor was still visible.
  • Optimized the updating of the Package Editor when settings are changed within background scripts so that the entire editor screen doesn't need to be repainted each time. Only deleting a setting in the background will cause an immediate update of the package editor.
  • Fixed bug when using Close Window where the Network options for a window could be reset
  • Fixed bug when using Hide from the right-click menu of a window tab, and changed the bottom option from Hide to Close
  • Some corrupted layout files are now automatically repaired when opened
  • Fixed bug in %replaceitem that was appending a new item instead of replacing the last item in a list
  • Remove reference to old Theme system in several modules, including when loading the Sessions screen (should improve operation on Windows 2000).
  • Fixed bug where styles were not working properly if the ANSI option was disabled
  • Fixed problem with the default Packages display not working when deleting and adding packages to list
  • Removed fly-out windows from default layout. Pressing F1 will still open/close the flyout References page. The Status window now appears as floating by default. The fly-out "Settings" panel was completely removed since few people used it and it wasn't very functional.
  • Fixed various flickering issues when resizing forms
  • Systematically went through every visual form to ensure that it displays properly with the larger Vista Segoe UI 9pt font. This should also improve how CMUD works with larger DPI font settings.
  • CMUDPro will now properly query the CMUDPro version in the Get Updates and will properly download CMUDPro.exe instead of CMUD.exe. However, since this is only fixed in v2.20, anyone upgrading CMUDPro from 2.18 to 2.20 will still have the same problem as before and will need to manually download the 2.20 update from the Download page on the web site.
2.19 5-Feb-08 (internal)
  • Converted CMUD from Delphi 7 to Delphi 2007
  • Converted development system from Windows XP to Vista
  • Upgraded all 3rd party Delphi components
2.18 14-Dec-07 (Public)
  • Fixed problem with parsing #ALL command arguments (possibly effecting other commands too)
  • Fixed ANSI color bleeding when using #SAY or #SAYP in a prompt trigger
  • Package editor no longer shows Readonly panel when search returns no results.  It now properly displays "no settings found"
  • Fixed problem where prompt triggers could be called more than once when displaying additional text within prompt triggers
2.17 13-Dec-07 (Public)
  • Fixed #FILE command to use absolute paths properly
  • Fixed problem with #FORALL and #LOOPDB not using a copy of the string list or database
  • Fixed speed problem with command lines that don't use threads
  • Added option to use threads for command line (to enable ESC and Shift-ESC). Enabled by default.
  • Fixed parsing bug when having another character before an @ and using . for a property reference
  • COM calls with @{} indirection now work properly
  • Fixed problem when dragging a setting from one package to another
  • Fixed problem dragging trigger states to top level (they were getting deleted)
  • Holding down the ALT key when dragging a trigger will force it to add as a child trigger state instead of just reordering the priority
  • Fixed the #STATE command to properly set the trigger state
  • Fixed problem with %numparam not working
  • Moved the ReadOnly property in the package properties
  • Fixed a problem with ansi colors
  • Fixed display of ansi in debugger to handle styles properly
  • Fixed Lua error reporting
  • Fixed Lua printing of tables with both index and key values
  • Fixed problem with Lua numxxx functions (like numalias)
  • Fixed using zs.param and zs.pat within a Lua trigger script
  • Fixed :win:command1;command2 syntax so that both commands are sent to the specified window
  • Fixed the :*: and *: syntax for sending commands to all windows
  • Fixed the :: syntax for switching back to the original window
  • Fixed the win:<tab> function for switching to another window to properly focus command line
  • Added the #EXECWIN command to execute multiline scripts in other windows
  • Improved regular expression in Compatibility Report to handle %1..%99 and %i..%n within quotes (and not report false positives)
  • Fixed problems closing CMUD when the mapper window is open and closed
  • Fixed problem with #T- not working sometimes
  • %regex and %match now properly clear their variables
  • Fixed crash when using %{1} indirect syntax
  • Fixed problem with colors imported from zMUD *.MUD files
  • Added XP Manifest file to properly display buttons and other elements according to WinXP themes
  • When upgrading from v1.34, the MUDS.DB file from the installer is copied (if available) rather than executing the long database update process
  • The installer no longer allows data files to be installed into "Program Files" on Vista systems
  • Lots of help file updates
2.16 7-Dec-07 (RC4)
  • Fixed crash when searching the help file
  • Fixed problem with syntax checking of command line scripts still allowing them to run (and not reporting error)
  • Fixed crashes in Script Debugger window
  • Added reference counting to stringlist/database hash tables to prevent them from being freed when still being used by other copies
  • Modifying a copy of a stringlist/database now properly makes a fresh copy of the hash table to avoid modifying the original table
2.15 6-Dec-07 (RC3)
  • Fixed serious problem with string list hash table caching that was causing crashes
  • Fixed problem changing %ansi color at the beginning of the line or after a style
  • Optimized threads to only be used when needed
  • Added version comment to bottom of help topic window
  • Added min/max CMUD version fields to shared Package Library and to Package Properties pages
  • Added "Compatible versions" filter option to Package Library to only show packages with version fields compatible with running CMUD version
  • Fixed problem where button states could be lost when CMUD was closed
  • Reusing a session window now properly clears the old text from the window
  • Removed theme selection commands.  Moved Theme menu to Options in new installations
  • Fixed New Button State to properly add at end of current states
  • Selecting Multistate and clicking away from button was causing top-level button states to be created
  • Fixed the display of button states to have proper caption in Tree view
  • Fixed problem causing packages with multiple windows/modules to be marked as Read Only
  • Fixed event name/id confusion in XML export/import
  • Typing in the Search bar in package editor no longer takes focus away from search bar
  • Added message when using Shift-ESC to put a command line thread into the background
  • Shift-ESC now only works when a thread is actually needed for the command line
  • Fixed "quota" error when in a long loop within a thread
  • Undefined messages no longer leave their arguments on the stack
  • Fixed %pop with local variables
  • Using a string list or database variable in an #IF statement only returns true if the list is not empty
  • Fixed problem with assigning a local variable to the #RESULT of a function
  • Fixed problem accessing zMapper COM variables from within a thread
  • Using a COM variable in an #IF statement properly returns false if the COM variable is null
  • #CLR command is now allowed within MXP menus
  • Started the removal of the Theme Engine. Window Docking engine no longer uses Theme Engine at all.
2.14a 30-Nov-07 (RC2)
  • Fixed serious display issue problem.  Character widths not computed properly, so there were all sorts of display problems.
2.14 30-Nov-07 (RC2)
  • Alarms properly execute even when switching windows
  • Alarms restart only after they are finished executing (alarms will not fire while they are still executing)
  • Fixed problems with local variables not working in various commands (#additem, #addkey, #delitem, #delkey, etc) again
  • Fixed problems with local variables in %match and %regex functions
  • Timestamp was not showing the proper time of each line (it was off by one line)
  • Using () in timestamp format value no longer messes up display
  • Installer now deletes any CMD.DB and DEFAULT.PKG hidden in the Vista VirtualStore
  • Passwords from zMUD session database are properly converted
  • Preferences now remembers the last tab selected
  • Fixed problems with optional arguments of #EVENT command
  • Fixed problem in trigger pattern with a period after a variable reference
  • Fixed crash in trigger tester when @var is edited to just @ character
  • When deleting a tab in the package editor, the package is now properly saved
  • Fixed problem with string lists containing variables adding extra double-quotes
  • Fixed #SORT problems with #LOOPDB and #FORALL
  • Fixed #RESET command to properly loop through all modules
  • Fixed multiline room scripts
  • Fixed various problems with the current setting in the package editor not getting updated when changed in the background and not editing it
  • Fixed the Enabled checkbox to properly update when a setting is enabled/disabled in the background
  • Changing a numeric value in the Preferences now only applies the change when tabbing to another field, pressing Enter, or clicking OK/Apply (instead of changing with each digit that was entered)
  • Changing the color of a button in the bottom toolbar no longer causes command line to disappear
  • Closing a session when maximized no longer changes window size
  • Fixed problems with ANSI ESC[0m causing black text in capture windows
  • Improved text scrolling speed for default styles
  • Alarms can now be as short as 0.2 seconds (instead of greater than 0.5 seconds)
  • User spellchecking dictionary files are now stored in the DataDir instead of the Program Files directory
  • Moved default.pkg to /packages directory instead of putting it into the install directory
  • CMD.DB command database is now opened in readonly mode
2.13 21-Nov-07 (RC1)
  • Fixed XML export to convert embedded control (esc) codes
  • Changed XML export to use ISO-8859-1 encoding instead of UTF-8 encoding
  • XML import now recognizes normal HTML entities
  • Added option to Logging preferences to control whether timestamps are logged (independent of whether they are displayed)
  • Added option in MXP preferences to control whether text captured to a window will capture MXP tags
  • Fixed Minimize to Tray option when using themes so that it minimizes only the window and not the entire application
  • Fixed context within threads so that different threads cannot change each other's execution context
  • Aliases no longer change the context (class/module) of calling scripts
  • Alarms now stop, delete, or get disabled only after running in all enabled windows
  • Fixed #THREAD display of time remaining in a thread that is waiting
  • Fixed debugger to truncate long scripts when showing variable change messages
  • Fixed problems with string lists and database variables not updating cache at proper time
  • Fixed debugger when displaying variable changes to string lists and database variables
  • Debugger no longer shows variable change messages when settings are initially loaded from the internal database
  • Fixed using the mousewheel in child windows
  • Fixed using the Ctrl-Z key to toggle scrollback in child capture windows
  • Fixed creation of expression trigger on command line when specifying an ID name for the trigger
  • Fixed problem where an ANSI ESC[0m reset could mess up the following style text
  • Fixed problem when displaying an unknown MXP tag on a wrapped line
  • Fixed problem when displaying an unknown MXP tag within an ANSI color sequence
  • Fixed problem where the screen could become unsynched and not display the current text scrolling at the bottom of the window
  • Settings Editor properly updates the screen when a setting is deleted
  • Fixed crash when deleting a button containing multiple states in the settings editor
  • Fixed corruption of setting when copying it from one package to another
  • Fixed crash when switching package tab in settings editor after deleting a setting in the previous package
  • Fixed crash when setting a button caption more than 255 characters long
  • Fixed problem with copy/paste of a module in the settings editor always creating a window instead of a module
  • Pasting a Window into the settings editor now properly creates and displays the window
  • Fixed problem using local variables in some commands, like as the name of an alias (created an alias with a number instead of name)
  • Fixed display of Delta timestamp values so that blank lines don't cause negative times
  • Using % character in Help search now works properly
  • Expression trigger will no longer call itself if the expression changes within the script of the trigger
  • The #FILE command now creates files within the character subfolder (the folder that contains the primary package file) by default. 
  • The #FILE command now allows relative and absolute paths to be specified for filenames
  • Changing the image of a button using %btnimage now redraws the button properly
  • Added File/View command to package editor to open a package without running the OnLoad event for the package
  • The argument to the #RESET command can now be used to specify a variable to reset to default values
  • Improved the icons in CMUD to use alpha-blending for smoother look.
2.12 17-Nov-07 (BETA)
  • Fixed critical bug where thread module context was not getting reset when threads were reused
  • Fixed critical bug with database variables not getting their cached value updated, resulting in incorrect database variable operations
  • Made major changes to how scope rules are implemented.  CMUD now looks in the class containing the setting first, and then looks in the current window context
  • Made major change to how alarms work.  Alarms within Windows should be unaffected. But global alarms defined in other modules/packages will now execute within every window that can see the alarm.
  • Alarms no longer spawn parallel background threads by default. This was needed for the proper operation of global alarms, and is also closer to how zMUD alarms worked.  Use #WAIT to put an alarm script into the background
  • Added onLoad event
  • Added #result for setting #function result.  Changed #return so that it sets the #function result and then exits the function
  • Added #break to exit the current loop in a script
  • Added #continue to skip to the next iteration of a loop in a script
  • Added #exit to abort the current script (but it still returns to the calling script)
  • Fixed #abort so that it only aborts the current statement block.  Now works like it did in zMUD.
  • Fixed "#abort all" so that it aborts the entire scripting thread.  Now works like it did in zMUD.
  • You can now use qqq in the time format string to display the delta time value in the timestamp
  • Added line to debug window when executing triggers within existing thread
  • Added line to debug window for #fire manual triggers
  • Added line to debug window for Telnet triggers
  • Added line to debug window for spawning a command thread using the #thread command
  • Added option to display the message type at the beginning of the debugger line
  • Raw input is now displayed with the < character for uncompressed, and the * character for compressed
  • Added %module to return the name of the current module
  • Added %priority to return or set the priority of a setting.  Usage is %priority( name, setting-type, new-priority)
  • Added status bar to package editor for ReadOnly packages.  Added ForceSave button to allow you to force the save of changes to a readonly package
  • The ReadOnly property for a package is now saved with the package file.  Setting a package to ReadOnly will make it ReadOnly in all sessions that use the package.
  • Added extended syntax to #WAITFOR and #WAITSIGNAL.  The 3rd argument is the commands to execute when the #WAIT is successful.  The 4th argument is the commands to execute with the #WAIT times out.
  • When selecting the Normal, No Theme, Flat, or OfficeXP themes, the window border and caption will now use the Windows theme settings and will no longer load the special CMUD Theme Engine.  This provides better compatibility with Vista and with 3rd party enhancements such as Window Blinds.  The CMUD Theme Engine is only enabled when one of the other "named" themes is selected, such as "Aqua".  Selecting a named theme may cause side effects on Vista and may not work with 3rd party enhancements.
  • Fixed problem with settings editor now updating the editor panel when a setting is deleted
  • Moving a setting to a different class, module, or package will now properly notify the setting to recompile itself the next time it is executed
  • Fixed lockup when using Refresh Class Tree in debugger window
  • #WAITSIGNAL now properly handles {} around the signal name.  Also fixed many other commands that used {} around a string
  • #THREAD now properly handles {} around the optional thread name (different bug than the one above)
  • Fixed various problems with #WAITFOR not actually waiting for the pattern from the MUD
  • Opening the settings editor will properly focus the currently selected module instead of sometimes displaying a random package (like English Directions)
  • Using #COND after a #REGEX will no longer mess up the options of the parent trigger (turning off it's regex option for example)
  • Text sent to the MUD using #SENDRAW is now only displayed in the debugger output if the Raw message is enabled
  • Fixed hang caused by debugging while the #ADD command is being used
  • Fixed problem where wrapped lines were getting reset to a black color
  • Fixed #WAITSIGNAL and #WAITFOR when used within an Expression Trigger
  • Expression Triggers now spawn a separate thread for execution
  • Debugger no longer shows scripts on multiple lines...newlines are replaced with spaces when scripts are displayed in the debugger
  • Fixed the :window: syntax for aliases
  • Fixed the Compiled message in the debugger to now show a message for non-compiled variable values
  • Fixed problem with using the #RETURN (now the #RESULT command) multiple times
  • Fixed #WINDOW command so that it properly sets the window context, like #MODULE does
  • #WINDOW only sets the keyboard focus if the window has a command line
  • When creating a new package in a new session using the settings editor, it no longer gets marked as a "default" package
  • #UNVAR (and other #UN commands) now work with full class path syntax
2.11 9-Nov-07 (BETA)
  • Added new Script Debugging window.  If you have a saved layout, customize the main menu toolbar and move the new option in the Window menu to the position in the menu you wish.
  • Added automatic timestamps to windows.  See the Session Preferences, Scrollback tab for options, including setting the timestamp format and whether to display relative time between lines, or absolute time/date.  Color is set in the Styles Preferences
  • Added #DEBUG command to send text to the new debug log window
  • Old #DEBUG command is now the #DEBUGFILE command
  • Added <HR> tag to MXP for drawing horizontal rule.  Full syntax is <HR fore="color" back="color" size="pixels">.  If used after text, the horizontal rule is drawn from the current cursor position to the end of the line.
  • Added the #SAYADD command to add new text to the end of the current line
  • Aliases no longer change the current context when they execute
  • Variable default values are no longer reset on reconnect
  • #SAY and #ECHO properly terminate their colors
  • Variables should properly set their default values now instead of being null
  • Functions return a null value if no #RETURN is used (instead of giving an error)
  • Fixed infinite trigger loop when a trigger doesn't compile and is triggered
  • Fixed problem with main window not saving it's size/position
  • Disabled expression triggers no longer fire
  • Triggers with HTML characters in their patterns should now be handled properly in Compatibility report
  • Fixed a crash in updating the tree view in the settings editor
  • File/Log option properly reflects whether logging is enabled
  • File/Save Buffer properly saved timestamp values
  • Logging of windows with timestamps enabled automatically write timestamp values to log file
  • Improved performance of dragging the splitter bar in the scrollback display
  • Fixed Ctrl-Q speed test to work the same as previous versions (it was changed briefly in v2.10)
2.10 2-Nov-07 (BETA)
  • Fixed another case where the screen could hang (thread issue)
  • Fixed serious problem where trigger states were getting their options changed when loaded
  • Implemented the #MAKEWINDOW and MXP FRAME options for setting the window docking location, and also the window size
  • Removed the reserved words "yes", "no", and changed True and False to work correctly
  • Fixed scoping problem with alarms created in other windows
  • Unknown MXP/HTML tags are now echoed if the line doesn't end in a newline (like a MUD prompt)
  • Fixed crash with %ismember and various other string list/database variable functions when no list or variable is given
  • A syntax error in the command line no longer leaves behind the unused thread object
  • Fixed crash when saving scrollback buffer to a file
  • Fixed tab order in Macro editor screen
  • Fixed focus when using Ctrl-K so script value will be focused.
  • Fixed Ctrl-A to grab the selected text from the command line as the alias value
  • Fixed pressing ESC in Settings Editor to close/save the window was not saving changes of the current edit box
  • The New/Child State menu option is disabled instead of hidden when not applicable to current setting
  • #SENDRAW now appends a CR/LF to the end.  Use #SENDPROMPT to send raw text without a newline
  • Map button in main toolbar properly toggles map on and off
  • Fixed another crash when closing after mapper was toggled off
  • Fixed Docking system to use proper selected theme.  Should help on systems where "classic" mode is used in XP with themes disabled
  • Fixed rare crash in Package Editor File/SaveAs
  • The %secs function now uses high-precision timers and is accurate to one millisecond
  • Screen is now properly repainted even during a long loop in the command line thread
  • ATCP Room.Brief and Room.Exits no longer sets the #TAG value if the #TAG is already set by a user ATCP trigger
  • Deleting a class properly resets current class properly
  • Fixed crash in settings editor when clicking away from a blank setting when view is filtered (like creating an alias from the trigger filter)
  • Can no longer disable the currently active window object from the Package Editor
  • Clicking the Package Properties button properly saves any pending changes
  • Blank button states are no longer removed
  • Deleting a button state no longer leaves behind a cached value that gets displayed in the XML export
  • Fixed problem with Stacked button option not working in Package Editor
  • Right-click on the main toolbar to enable/disable other command line toolbars now works as expected
  • Windows without a command line now properly show as unchecked in the right-click toolbar menu
  • Creating a new variable now properly ignores the default scripting language
  • Fixed problem in Help Reference where it wasn't properly showing which arguments were optional
  • Fixed %if(1,,) syntax error (making the second argument optional)
  • Fixed crash when using #DELCLASS or #UNCLASS (or various other #UNcommands) without any arguments
  • Using Room Merge in mapper now preserves the Start Room and Recall Room locations
  • Using Room Merge in mapper now preserves the room color
  • CMUDPRO: Fixed SSH preferences crash for default settings in Preferences window
2.09 26-Oct-07 (BETA)
  • Fixed serious bug with moving a class to a different module/window not updating child settings, leading to settings that didn't work
  • Added consistency check when existing packages are open to fix above problem in old settings files
  • Fixed serious bug where importing a *.MUD zMUD file could overwrite the Preferences of the wrong package (like the English Directions package)
  • Viewing a Class in the Package Editor now displays the list of settings within the class.  Double-clicking an item in the list will select that setting in the editor
  • The Up Folder button in the Package Editor toolbar now moves to the current class folder (acts as the Back button after double-clicking a setting in the class view)
  • Moved the class options to the Advanced panel at the bottom of the editor
  • Added the Notes field for Class settings to the advanced panel.
  • Fixed problem with main window not remembering Maximized state
  • Maximized state no longer draws the borders beyond the edge of the monitor
  • Settings window properly minimizes to task bar icon
  • Changed Preferences so that it has a task bar icon and properly minimizes
  • Fixed another thread hang possibility
  • Fixed problem with expression triggers using the previous variable value instead of the current value
  • Changing the filename in the Edit/Session no longer cuts off the first character of a path
  • Deleting the current class record in the settings editor no longer causes a crash when the command line is used
  • Fixed a crash when closing CMUD when the mapper is open
  • Importing a *.MUD file now properly sets the screen colors and styles
  • Fixed a problem importing database variables from *.MUD files that contained string lists
  • Fixed a rare crash in executing triggers
  • Fixed another rare crash when initializing a trigger thread
  • Fixed a crash when closing CMUD when changing the docking windows from tabbed to floating and back in the settings editor
  • Deleting a child window that is tabbed with other windows from the settings editor now properly removes the window
  • Delayed the creation of the MUD List panel and the Edit Session panel until they are needed to speed up the initial session window display
  • CMUDPro: Setting SSH option on a new session now saves properly
  • CMUDPro: If the SSH server uses Keyboard Authentication and prompts for a single value containing the phrase "password", then the previously entered password for the session will be sent instead of prompting a second time.
  • Fixed problem in the TreeView of the Settings Editor that was causing other class folders to be expanded when deleting settings
2.08 22-Oct-07 (BETA)
  • Fixed serious bug with Preferences getting reset and not using default values properly.  Related bugs include the command history not working in a blank window, and the package list for new settings getting set to 0 and not loading default speedwalk directions.
  • Fixed "setting class to wrong record" crash
  • Fixed a thread hanging issue (rare)
  • Fixed using Find with an empty MUD output buffer
  • Fixed problem causing an extra space to get added to patterns that started with a space the first time they are used
  • Fixed problems with loop variables %i and %key/%val getting confused
  • Fixed problem with database variables getting corrupted and displaying wrong when changing the Sort value
  • Fixed bug that could cause new settings to get created in root when moving settings to another package
  • Fixed package editor not refreshing the tree when moving settings
  • Prevented deletion of current session window via the File/Remove Package or clicking the X for the package tab in the settings editor
  • Fixed XML conversion of triggers that contain & or quotes in their pattern
  • Defining a new macro using Ctrl-K no longer creates the macro in the wrong class folder
  • Fixed "Invalid screen attribute record" crash when running CMUD for long periods of time
  • Fixed the Edit/Select All menu command
2.07 19-Oct-07 (BETA)
  • Fixed several more thread locking problems
  • Fixed problem where variable might not be initialized properly the first time it is used in a script
  • Fixed various problems caused by scope changing during a background thread
  • Fixed many issues converting a stringlist and database record to a normal string and back
  • Fixed memory leak in adding items to a string list stored in a local variable
  • Fixed crashes due to looking up an empty key
  • Fixed major problem importing *.MUD zMUD files containing any status bar items
  • Fixed problem where sometimes the macro keys would stop working (F7 would spellcheck instead of executing its macro)
  • Possbily fixed situation where alias command gets sent to the MUD instead of executing the alias.
  • Fixed several problems with the drag/drop in the Package Editor not setting fields properly and overwriting with default options
  • Fixed Enable command and checkbox in Settings Editor to properly handle alarms within classes
  • Fixed Description, WhatsNew, and Comment fields in Package Library
  • Fixed crash when closing after rearranging docking windows
  • Fixed problem not connecting to a session that doesn't have a primary window object
  • Fixed various problems closing the Untitled session window
  • Fixed crash when removing main package in settings editor
  • Fixed some minor issues with using #TRIGGER and #ALARM to view enabled triggers and alarms.  No longer shows disabled alarms as counting down.
  • Fixed crash using #CLOSE on main window
  • Fixed crash when using #WINDOW command within other window
  • Added button to Trigger options to convert pattern to a regular expression
  • Fixed trigger patterns that contain periods in them between wildcards
  • Fixed another problem with Line Color not working with triggers
  • Fixed crash when using Package Library with an empty package
  • Closing the Help window now properly focuses main command line
  • Improved the Help Search function to display results in better relevance order (although some duplicate topics can be shown)
  • Improved redrawing and refocusing command line too many times to reduce flicker
  • Opening a layout with an undocked editor window now properly gives focus to the main window
  • Improved performance of default preference lookup
  • Fixed #TAG command so that captured values do not include ANSI control codes
  • Fixed #PICK and %pick when double-clicking a single item
  • %pick now works with new string lists
  • Fixed crash on exit when any fly-out window was in the process of closing
2.06 12-Oct-07 (BETA)
  • Fixed lockup when settings editor is open
  • Fixed problem with threads trying to update UI sometimes
  • Fixed various thread locking issues
  • Fixed problem when deleting triggers in settings editor that would delete more than one trigger
  • Added "Assign macro to any key" option (as in zMUD) to Preferences
  • Added %dbkeys to return string list of keys of a database variable
  • Added %dbvalues to return string list of values of a database variable
  • Added %dbitems to return string list of both keys and values of a database variable
  • Added %isvalue to return index of key with the given value in a database variable
  • Fixed %iskey to return the index of the found key
  • Improved %item to work with database variables and return the nth key
  • Added #GAGSPACE command to gag a line along with any following blank lines
  • Fixed trigger pattern %s%p to properly match punctuation following spaces
  • Creating a trigger using Ctrl-Y with selected text on the screen no longer adds CRLF to end of trigger pattern
  • Fixed problem with multiple triggers firing on same line could get confused
  • Fixed triggers sometimes getting created without default options (Trig on Newline for example in mapper)
  • Using a null value in a {a|b|} list works again now in a trigger pattern
  • Fixed the Reset priorities command
  • Fixed hang with speedwalking
  • Fixed hang with !history commands
  • Fixed hang with :window: commands
  • Fixed crash with memLookup dataset error
  • Map configuration settings are now saved when map properties window is closed, or when Reconfig has been done (instead of just saving at program exit)
  • Fixed problem with mapper not allowing rooms to be deleted sometimes
  • Fixed mapper Zone/Rename command to rename the correct zone
  • Fixed trigger zs.params function from within Lua scripts
  • Improved Lua error messages to include traceback data
  • Fixed #DELKEY to properly update cached data
  • Quotes are no longer needed around color value with %colorname(#RRGGBB) syntax
  • When settings editor is filtered, and then closed, when reopened the filter search bar is properly displayed
  • Disabled MoveTo and CopyTo commands when right-clicking a window or module.
  • #window command properly updates the status icon for the window
  • Fixed crash when minimizing and restoring settings editor
  • Flyout windows are no longer really sensitive...they no longer open while the mouse is moving over their tabs
  • Fixed hang with using #menu {file|close session} command
  • Fixed problem with #return not working within #if statements in a function
  • Fixed the %expand function to properly recursively expand when the argument is zero
  • Added syntax for putting function calls into trigger patterns:  use %%function(...)
  • Fixed %names predefined variable to return proper window captions
2.05 5-Oct-07 (BETA)
  • Fixed several serious problems with background threads.
  • Fixed several problems with thread locking in the Package Editor
  • Fixed problem when output screen stops updating or goes blank
  • Command line scripts now wait until completed before you can enter another command
  • Pressing Ctrl-ESC will send the command line script into a background thread
  • Alarms now use background threads
  • Fixed problem causing expression triggers to always fire
  • Fixed problem with disabled expression triggers still firing
  • Fixed problem with triggers sometimes not running
  • Fixed problems sometimes caused by deleting buttons, triggers, events, or status bar items
  • Fixed problem with #CAPTURE command causing crashes
  • Fixed various crashes when exiting
2.04 28-Sep-07 (BETA)
  • Fixed serious problem when deleting settings in the Package Editor that would prevent other changes from being saved .
  • Fixed serious problem with threads not processing Windows messages properly
  • Fixed serious problem with screen going blank and not updating
  • Fixed #DELKEY, #ADDKEY, etc so that no error is given if key doesn't exist
  • Fixed problem in CMUDPro that would change an SSH session to a normal Telnet session in some cases
  • Fixed problem with #TYPE command not working
  • Fixed problem with using | in a #SUB command
  • Fixed using | character in trigger patterns and regular expressions
  • Fixed using | character in status bar
  • Fixed problem using CDATA in XML export when not needed
  • Fixed #ALL command so that it works again
  • Fixed Room Scripts in mapper so that "All=" is not added
  • Fixed crash when using #LOOK in mapper when links need to be deleted
  • Fixed XML import so multiple Windows/Modules are added to correct package
  • Fixed button states in settings editor to show state numbers starting at 1 instead of 0
  • Fixed Telnet triggers in settings editor so that trigger ID is shown instead of pattern if present
  • Using Lua "return" in a CMUD function now works
  • Fixed #WAITFOR, #WAIT, #WAITTHREAD when multiple waits are used in a single script (subsequent waits were always timing out and aborting)
  • Fixed problem in MXP triggers when multiple tags appear on the same line
  • ATCP support is now enabled by default
2.03 7-Sep-07 (BETA)
  • Initial beta version of CMUDPro released.
  • Fixed many XML export problems
  • Fixed many XML import problems
  • Added more complete ATCP support (room_brief, room_exits, authentication, etc)
  • Added MXP option to show unknown tags from MUD
  • Improved MXP Debug option to show tags being executed, and to execute MXP triggers even in debug mode
  • Added MULTILINE attribute to user-defined MXP tags.  MULTILINE tags can span multiple lines even in OPEN MXP mode
  • Disabling MXP tags in Preferences now works
  • List of which MXP tags are disabled is saved across sessions
  • Added support for the ^ character at the start of an MXP trigger pattern to only match tags that start at the beginning of the line
  • You can now right-click on a user or MUD MXP tag in the Preferences to delete it
  • No longer crashes when using #SHOW in a prompt MXP trigger (although it will still confuse the screen output)
  • Added %mxp.data field to contain the full text between the start and end MXP tag including any embedded tags
  • Fixed how Echo Commands and Echo Scripts works, and setting %pref values will now work properly
  • Added %iconstate function to set/return the current application icon state (normal,green,red,yellow)
  • Fixed problem with Auto Append aliases when the alias contained other blocks, such as #IF
  • Fixed problem with Simutronics login
  • Added GSL "Mode" (PLAY or STORM).  Set mode to STORM and Gsl Client to Wizard or StormFront to use XML-based Simutronics scripts
  • Character names and passwords are now imported from zMUD properly
  • zMUD import properly uses Icon Caption instead of Title field
  • Multiple sessions with the same Icon Caption will be properly imported
  • Mapper should now save/restore the Hide Panel preference even when undocked
  • Fixed blank lines in status window definitions causing syntax errors
  • Added some code to prevent uncompiled expressions (such as status bars) from ever being sent to the MUD accidentally if corrupted
  • The text captured by the Auto Login wizard to be sent to the MUD on connection now properly creates an OnConnect event instead of the atconnect alias
  • Menu XML sets caption properly instead of name
  • Button XML sets caption properly instead of name
  • Deleting settings in settings editor will no longer cause display of special settings to be lost
  • Fixed a small memory link in mapper when creating new room links
  • %linecol now returns the proper line color
  • %ansi can be used with any value returned from %linecol
  • When matching trigger Line Color, if the line color is a Style reference, it will now compare the actual style color with the trigger's ansi Line color value
  • Fixed several problems with ATCP authentication
  • Fixed problem with status bar color not resetting at end of definition
  • Fixed problems with editing XML script not saving if improper ID values were given
  • The right-click Enabled menu item should always reflect the correct Enabled status now
  • Fixed problem with text color set to black after a <SEND> tag
  • Fixed problem with using &text; in a <SEND> tag
  • When viewing an XML tab in the settings editor, you can still edit other values.  But if you edit other fields *and* the XML script, the XML script will take priority when saving
  • Fixed problems with XML of script containing < &text; etc
  • Fixed crash when entering a single . dot on the command line
  • Fixed crash when loading a session that has the database module open
  • Specifying a module in #VAR as in "#VAR name {value} {def} {//module/class}" now works
  • Status bar is updated properly when moved to another window
  • Fixed various possible lockup problems in the settings editor
  • Fixed New Window so that it actually creates a new window instead of a new function in the settings editor
  • Fixed crash when using the Close Session option when the mapper was open
  • Fixed problem with invalid local variable errors when using named patterns in regular expression triggers
  • Deleting a package in the Edit Session/Files package list should no longer corrupt the list
  • Buttons with text before a variable reference should now compile and work properly
  • Fixed problem with button XML color always being "aliceblue"
  • Fixed #INPUT command so that it allows semicolons in the value for multiple commands
  • Compatibility report should create links to triggers with blank patterns
  • Fixed intermittent crash when executing a script at the same time an event fires
  • Enabled crash dump detection for frozen main thread (30 second timeout)
  • Improved crash dump handling for background threads
  • Fixed Reconnect on Simutronics games
2.02 31-Aug-07 (BETA)
  • Fixed problems with ANSI highlighted colors not using proper color preference values
  • Fixed ANSI color not resetting at end of line
  • Fixed problem with ANSI attributes on lines with styles
  • No longer override the ANSI foreground and background colors with Style colors
  • Fixed crash when trying to edit/create a Function in the settings editor
  • Prompt triggers now turn off Trigger on Trigger option to prevent infinite prompt trigger loops
  • MXP triggers that use #GAG will also absorb the next newline from the MUD
  • Fixed screen updating problems when using #GAG in triggers
  • #GAG now works again for multiline wrapped text
  • #GAG now works on the command line
  • Fixed problem with Auto NumLock option always getting set.
  • Using (?:@List) in a RegEx trigger will now strip any quotes within the string list
  • Using @{varname} now works in a trigger pattern
  • Using @dbvar.key now works in a trigger pattern
  • Fixed some issues with {} characters in a RegEx pattern and improved syntax highlighting for {n,m} regex pattern
  • Improved named substring support in RegEx so that ($name:pattern) can be used in addition to the normal (?$name:pattern)
  • #ADDITEM no longer allows duplicates
  • %dups function now works again
  • %pop function properly returns value
  • Fixed problem with string list and database record values getting overwritten and cleared (such as by loading the settings editor)
  • Fixed hang when editing a database record that contains a string list in the settings editor
  • #ABORT no longer causes hang and no longer messed up thread pool
  • Fixed "test~1" in the parser the first time it is executed
  • Fixed MXP in #SUB command
  • Fixed #PICK command
  • Fixed #YESNO command
  • The "#STW on" command no longer causes crash
2.01 25-Aug-07 (BETA)
  • Improved screen updating when gagging lines
  • Added "Repeat within line" option for triggers to allow the trigger to fire more than once on a line
  • Fixed various "context" issues so that settings execute within the proper module/window
  • Added basic ATCP support (hello and auth messages)
  • Spaces no longer stripped when using ~alias
  • Fixed @{db.key} syntax
  • Using @{var} adds a direct compiled reference when it can
  • Fixed a bug that could cause an infinite loop in the syntax checking
  • Fixed #addkey, #delkey, #additem, #delitem, #delnitem so they properly update any references to the variable
  • Clicking the Filter buttons in the settings editor no longer cancels edits
  • Fixed regular expression triggers using \nnn notation for control characters
  • Fixed problem with quotes added to spaces in {a|b|c} trigger patterns
  • Buttons/gauges in other packages/modules now work with multiple windows
  • Fixed problem with gauge wrapping to next line on the button bar displaying on top of buttons
  • Fixed problem with blank button caption showing ID name instead of being blank
  • Fixed Button Tooltips so they evaluate and show properly
  • Separator buttons properly display their ID name in the settings editor
  • Fixed problems with ID names of Menu items not saving
  • Execute Script command is now shown in the right-click menu for all settings in settings editor
  • Clicking the "Show in bar" and "Show in window" options for a status item now refreshes the status
  • The Status Window is updated when the current window is changed
  • Fixed multiline status window items
  • Refresh button in settings editor cancels any current edits and will update the correct value of the current setting
  • Changing the value of a setting while editing no longer messes up the Save/Cancel buttons in the editor
  • Added right-click menu to string list and database variable editor for inserting a new row, or deleting the current row
  • Fixed crash when closing CMUD while the status window is open
  • Fixed crash when closing CMUD related to the recording window not closing properly
  • Fixed crash when closing CMUD related to mapper window
  • Fixed crash when selecting another tab in the Preferences while a header in the Styles form is selected
  • Fixed crash when starting CMUD when sessions.db doesn't exist
  • Triggers no longer get disabled if they contain a compile error
  • Fixed using ~ in various trigger patterns
  • Fixed using #T+/#T- on events within a class
  • #T+/#T- now support full class paths
  • #RESET now supports full class paths
  • #RESET properly resets classes in other modules/packages
  • %eval no longer performs a recursive evaluation
  • #SHOW inserts it's text at the front of the queue to ensure it is displayed before any other MUD text
  • Fixed problems with multistate settings loading from packages where child state is defined before parent state
  • Fixed problem with main trigger in a multistate trigger getting it's script erased when the state changes in the background
  • Fixed problems with Gauges, including updating gauges from MXP variables
  • Fixed problem with packages in Library not downloading if they contained \ characters
  • Fixed problem with packages always adding a Window record
  • Fixed #WINDOW commands so they create windows within the correct package
  • When creating a New session, it now works even if you leave the Title blank (uses the Hostname for the title)
  • Fixed crash when importing zMUD settings using wizard the first time CMUD is installed
  • Added Show Trigger Debug Message option back into scripting preferences
  • Added support for %p and %q wildcards to trigger tester
  • Added "Date Created" field to MUD database.  Added option to sort by date created.
  • Added zs.aborted function to Lua to determine if the ESC key has been pressed to terminate an infinite loop
  • Fixed various crash problems related to threads not getting cleaned up properly
  • Updated MUD list to latest data
  • Updated the SciLexer.Dll to v1.7.4
  • Updated the Lua.Dll to v5.1.2
  • Added %line function
  • Added %bitshift function
  • Added %htmlencode and %htmldecode functions
2.00 17-Aug-07 (private beta)
New Features
  • Added SSH for secure connections (to CMUDPro version only)
  • Added full internal Lua Scripting, including full access to all zScript commands, functions, variables, etc
  • Made CMUD multi-threaded and added new sequential scripting commands such as #WAITFOR, #THREAD, etc
  • Added "normal" Functions, which are like Aliases but use the new #RETURN command to return a value
  • Rewrote the XML import/export and copy/paste to be more human-readable.  Added XML editing tabs in the settings editor, allowing you to directly edit the XML value of the setting.
  • Added Telnet Option triggers.  These will trigger on Telnet Options, and Telnet IAC SB subchannel data.  Can be used to implement protocols such as ATCP and ZMP.
  • Added a Trigger Testing panel to the settings editor (mostly ported from zMUD, with some new features, such as a drop-down box with the last 20 unique lines from the MUD).  Trigger test patterns also get saved with each trigger for easier testing.
  • Reset the 30-day trial.
  • Added Master password key to better protect saved MUD passwords
  • Added support for <tag/> MXP tags, and changed MXP Triggers to fire on unknown tags.  Allows you to better support XML/HTML based MUD protocols now.
  • New hash tables for string lists and database record variables provides a huge speed boost
  • Added inline Regular Expressions to normal zMUD triggers using the %/regex/% syntax
  • Added Lua command line mode for testing Lua scripts
  • Added SSH Preferences screen to control all aspects of SSH connections (in CMUDPro only)
  • #THREAD command names the current thread, or spawns a new thread to execute a list of commands.  Also displays a list of all threads when no arguments are given.
  • #WAITFOR tells the thread to wait for a pattern of text to be received from the MUD before continuing with script
  • #WAITTHREAD tells the thread to wait for another thread to finish before continuing
  • #WAITSIGNAL tells the thread to wait for the specified Signal
  • #WAIT now works properly and suspends the thread for the given number of milliseconds
  • #SIGNAL activates a user-defined signal (for use with #WAITSIGNAL)
  • #SECTION defines a critical section for thread locking
  • #STOP, #RESUME, #SUSPEND all work with threads
  • %funcsection returns whether a section is currently locked
  • %functhreadid returns the ID number of the thread
  • %functhreadname sets or retrieves the name of the thread
  • #RETURN returns a value from a function
  • #LUA executes a Lua script
  • #SORT keeps a string list sorted and speeds up %ismember lookups
  • #NOSAVE tells CMUD not to save changes to a setting in the database, giving performance increases for variables that have the Use Default option set
  • The #SEND command now echos the command and processes #ONINPUT triggers
  • The new #SENDRAW command will send raw data to the MUD without any processing
  • New #SENDSB command for sending Telnet suboption text
Bug Fixes
  • Fixed several problems with the =~ pattern matching expression, and fixed the LIKE operator to work properly.
  • Added support for #IF (value =~ /regex/) syntax for direct regular expression testing
  • The previous #FUNCTION command is now called #VARFUNC and is used to create inline variable functions (old-style functions).  #FUNCTION now creates the new-style functions that use the #RETURN command to return a value.
  • Added default scripting language to Preferences.  New settings will use this scripting language by default
  • Saved MUD passwords are now saved to a sessionkeys.db file where they are strongly encrypted.  For highest security, a master passphrase can be specified, which is used to encrypt the passwords.
  • Fixed several problems with COM variables
  • Fixed the right-click menus in the mapper
  • Fixed the #MENU command to work with the mapper
  • Fixed a bug that could cause the mapper to stop working if the window was closed and reopened
  • Fixed problems with using ANSI color numeric values
  • Fixed several other problems with ANSI color and the new style system
  • #T+ and #T- properly enable and disable all triggers.  They used to be reversed when no argument was given
  • Fixed problem using #CW in a multistate trigger
  • Fixed several problems in the settings editor with editing multistate triggers
  • The AutoNumlock feature is now working properly for all keyboards
  • Double-clicking in the settings editor no longer toggles the Enabled property
  • Added strikeout font to disabled items in the settings editor
  • Removed the Enabled option from child button states
  • The settings editor is no longer closed when you press Enter.  Window is closed when pressing ESC, and pressing ESC now saves any changes before closing
  • Fixed several problems with Variables in toggle and multistate buttons
  • Fixed problem with button captions sometimes disappearing
  • Fixed problem with editing a session and changing the port and username/password not working
  • Fixed problem with #KEY command not working
  • The #MXP command now properly parses it's arguments
  • Fixed problem with multistate triggers and buttons getting loaded in wrong order
  • Fixed position of button caption text when there isn't any image
  • Fixed problem with trigger state indicator in settings editor not always updating
  • %curwin now returns the window name that fired the trigger
  • Fixed \[ in regular expression triggers
  • Fixed problem with Styles sometimes getting overwritten
  • Changing the priority field of trigger states should now properly update the state order
  • You can now drag/drop trigger and button states to reorder them even when not using "Sort by Priority" mode
  • Array variables are now saved to the database
  • Added command to settings editor to recompute all priorities (to reset those packages that have a huge priority number being used)
  • Fixed problem with %quote not expanding it's argument
  • Fixed multistate buttons so that blank button positions are not inserted into the button bar
  • Fixed problem with %key and %val being assigned by reference to local variables, instead of assigned by value
  • Added "stormfront" option to GSL client list
  • Fixed problem with package preferences not always getting saved properly
  • Fixed problem with Prompt Triggers not firing on IAC EOR or IAC GA
  • Updated %pat function to work with named subpatterns
  • Named subpatterns can now be used with the =~ expressions

[Older versions]