I am pleased to release version 5.06 of MUSHclient. See the release notes for more details.
Improvements
- Added script function SetUnseenLines which allows you to control the number of unseen lines from the MUD (a counter). This can be used to "ignore" uninteresting lines.
- If a trigger omits from output, and trigger evaluation in all plugins has been cancelled, then the lines omitted are also omitted from the "recent lines" list. This may change how multi-line triggers are evaluated. Suggested by Fiendish.
- Modified the way fixed fonts are handled in some dialogs to that the FixFont function is only called if fixed-width fonts are wanted.
- Modified the way WindowCreate works in an attempt to fix a problem with the contents of miniwindows not always redrawing correctly.
- Modified miniwindows blending functions to round rather than truncate in order to avoid some obscure problems with blending at less than 100% opacity.
- Modified the way internal notepad windows are created, and also changed the way text is translated. This is designed to work around an issue where incorrect text was shown in notepad titles.
- Modified the way that plugin path names are saved when saving the world file. There is now a case-insensitive compare of the default plugins directory to the full pathname of the current plugin. This means that plugins which are in the default plugins directory should be saved with a relative path.
- Added some extra options for fading "old" lines from the output window. When activated (the default is to be not activated) then after a specified number of seconds the lines in the output buffer which are older than that will dim to a specified opacity. Effectively, this means older lines will go dim, indicating that they are not recent.
- Added an option to have Ctrl+Backspace behave differently. With this option unset, Ctrl+Backspace recalls the last word from the last entered command (a bit like Esc / Period does in the Linux "bash" shell).
When activated, Ctrl+Backspace deletes the word to the left of the cursor (if any). If there is text selected then only that text is deleted.
- Modified the way the SetClipboard function works, to respect the "UTF-8" flag for the output buffer, when sending text to the clipboard.
This is intended for you to be able to put Unicode text onto the clipboard. Thanks to Fiendish for this code.
- Made an option for the tab character to insert a tab rather than moving to the next button, in a multi-line edit window.
- Added the plugin Global_Option_Updater to the installer.
- Improvement for users of Chinese Big5 or GB2132 character sets. If the client is forcing a line break after the nominated number of characters in a line, do not split in the middle of a multi-byte character (which would turn it into two completely different characters). This only applies if UTF-8 is not active in the output window configuration.
- Fixed crash or garbled error message if client is unable to connect to the MUD.
- Fixed bug introduced in commit 9d4f265 where drawing to the output buffer was significantly slowed down (by a factor of about 30).
- Added DefaultNameGenerationFile into the list of global options returned by GetGlobalOptionList.
- Reworked the plugin Global_Option_Updater to be more robust, particularly if an option has quotes in it. It also now uses the global options list from the currently-executing client, which makes it easier to set an option which was not previously known about.
- After clicking on a hyperlink in the output window, the focus was not returned to the command window, which meant that the next keystroke (such as up-arrow) would not be acted upon. Now, clicking on a hyperlink returns the focus to the command window.
- Fixed problem with PCRE regular expressions (eg. used in triggers and aliases) where if you used a named group (capture or wildcard) then the wrong capture value may have been returned.
- Fixed bug where when using SetTriggerOption, if the option being set was multi_line or ignore_case, then the trigger would not be recompiled, and thus the new option would not take effect.
- Fixed bug in script function PluginSupports, which would crash if a plugin had no script in it (the plugin being tested). For example, the supplied plugin "Omit_Blank_Lines" has no script in it.
- Added support for 24-bit colour codes from the MUD as described here:
https://en.wikipedia.org/wiki/ANSI_escape_code#24-bit
- Added support for 24-bit colour codes to the AnsiNote function. eg.
AnsiNote (ANSI (38, 2, 0, 255, 0), "This is green text")
Download
You can view the release notes for version 5.06
You can download MUSHclient 5.06 now from ...
|
You are strongly advised to backup (make a copy of) your existing MUSHclient world files before upgrading. Just in case.
If there are any problems, please post messages to the Bug Reports, Suggestions, or General parts of this forum.
MD5 sum for the installer
If you do an md5sum on mushclient506.exe you should get this result:
ba0815ce7f84dac6695a8ef5b6ace2fb
The forum post a small script to sumcheck the MUSHclient download shows how you can write a small script in MUSHclient to do the sumcheck. It also lists some places you can download md5sum.exe to do the sumcheck (if this is the first time you have downloaded MUSHclient).
One way of doing an md5sum is to download the Installer_sumcheck plugin from the Plugins page (RH click that link and "save link as" to get the plugin). Then install the plugin (see the File menu -> Plugins) and type "md5sum" which lets you browse to the installer file, load it, and display the sumcheck.
Message about "Failed to load resources file"
Some users are reporting getting a message like "Failed to load resources file: C:\Programme\MUSHclient\locale\DE.dll - trying English file" when starting MUSHclient (the DE.dll part might be another language like FR.dll).
This will be because you have customized the "locale" of MUSHclient to other than EN (English).
See the How to localize MUSHclient messages into other languages forum posting for more details about localization.
To fix this, find the directory you installed MUSHclient into (eg. "C:\Program Files\MUSHclient\") and then locate the subdirectory "locale". In that you will find a file en.dll. Copy or rename that file to match the missing file in the message (eg. copy en.dll to de.dll).
Alternative suggestion: Go into the File menu -> Global Preferences -> General, and change the field "Locale code" back to "EN" (English) and then it should look for EN.DLL next time.
Warning about Lua 5.1 upgrade (September 2006)
MUSHclient version 3.80 upgraded the Lua script engine from Lua 5.0.2 to 5.1.1. If you are upgrading to this version from an earlier version than 3.80, you should read Version 3.80 released - with Lua 5.1 script engine - this post has recommendations about what is required if you use Lua scripting or Lua plugins. Note: Since version 3.80 was released, the version of Lua has been upgraded. It is currently 5.1.4. Some versions (versions 4.49 to 4.52 of MUSHclient) may incorrectly report they are using Lua 5.1.1 when you open a world.
Warning about upgrading from versions prior to 3.21 (May 2002)
MUSHclient version 3.85 (onwards) no longer reads the old "binary" world files produced by versions prior to 3.21. For more information about this please read the forum post Versions 3.85 onwards no longer support world files created prior to version 3.21 - this post has recommendations about how to upgrade your world files if you are upgrading from a version earlier than 3.21.
Note that version 3.21 was released quite a few years ago (May 2002), so people who have recently installed MUSHclient should not have any problems.
Source code
The source code for this version is available from GitHub:
http://github.com/nickgammon/mushclient/tree/v5.06
You can directly download the source from the Downloads page (https://github.com/nickgammon/mushclient/archive/master.zip), or preferably install Git and use the appropriate commands to clone or pull the source. For some suggestions about getting the source from Git see MUSHclient source being made available on GitHub forum posting.
If you install Git, subsequent downloads (of new versions) will be much faster as it only needs to download the changes, not the whole source. Also by using Git you can find out exactly what has changed from version to the next.
Summary of changes in this version
$ git --no-pager diff v5.05..v5.06 --stat
Line.cpp | 1 -
MUSHclient.cpp | 4 +-
MUSHclient.exe.manifest | 43 ++
MUSHclient.h | 2 +
NameGeneration.cpp | 4 +-
OtherTypes.h | 1 -
ProcessPreviousLine.cpp | 11 +-
TextDocument.cpp | 2 +-
Utilities.cpp | 623 ++++++++-------
ansi.cpp | 187 +++--
appveyor.yml | 7 +-
blending.h | 4 +-
dialogs/EditDlg.cpp | 3 +-
dialogs/EditMultiLine.cpp | 62 +-
dialogs/EditMultiLine.h | 1 +
dialogs/GeneratedNameDlg.cpp | 3 +-
dialogs/TextAttributesDlg.cpp | 8 +-
dialogs/cmdhist.cpp | 4 +-
doc.cpp | 119 ++-
doc.h | 29 +-
doc_construct.cpp | 7 +
globalregistryoptions.cpp | 2 +
install/mushclient.nsi | 5 +
install/readme.txt | 4 +-
lua/movewindow.lua | 29 +-
lua/tabbed_window.lua | 313 ++++++++
miniwindow.cpp | 1248 ++++++++++++++++---------------
miniwindow.h | 4 +-
mushclient.cnt | 1 +
mushclient.odl | 17 +-
mushview.cpp | 383 +++++-----
mushview.h | 3 +-
plugins/Config_Option_Changer.xml | 4 +
plugins/Global_Option_Updater.xml | 183 +++++
plugins/Reconnecter_Lua.xml | 209 ++++++
regexp.cpp | 71 +-
regexp.h | 18 +-
scripting/functionlist.cpp | 1 +
scripting/lua_methods.cpp | 10 +
scripting/lua_scripting.cpp | 6 +-
scripting/methods/methods_clipboard.cpp | 2 +-
scripting/methods/methods_colours.cpp | 2 +-
scripting/methods/methods_notepad.cpp | 4 +-
scripting/methods/methods_noting.cpp | 94 ++-
scripting/methods/methods_output.cpp | 10 +-
scripting/methods/methods_plugins.cpp | 3 +
scripting/methods/methods_triggers.cpp | 48 +-
scriptingoptions.cpp | 5 +
sendvw.cpp | 57 +-
stdafx.h | 249 +++---
telnet_phases.cpp | 2 +-
timers.cpp | 6 +
version.h | 6 +-
xml/xml_save_world.cpp | 3 +-
54 files changed, 2689 insertions(+), 1438 deletions(-)
Commit log (date order)
$ git --no-pager log --pretty=oneline --reverse --abbrev-commit v5.05..v5.06
120c06f Updated version number to 5.06
6c977de Added script function SetUnseenLines
d9706ab Omit omitted lines from 'recent lines' if stopping trigger evaluation
1363ab3 Update EditMultiLine.cpp
7b6ca81 Update EditDlg.cpp
2d7a2bb Merge pull request #36 from suxiaojack/master
1f98833 Attempted to fix bug with miniwindows occasionally not drawing properly
d103ac2 never clobber specified mode/flags or position
1657db7 Merge pull request #37 from fiendish/patch-1
5d991bc Added ANSI strikethrough support
1f0bc54 Merge branch 'akbra-master'
d48f78d Changed tab to spaces in source
53bbda9 Create MUSHclient.exe.manifest
dc1fbf9 remove Microsoft.Windows.Common-Controls assembly
90a528a Merge pull request #39 from fiendish/exe-manifest
87ab1c7 Added Reconnecter plugin (Lua version) to plugins list
ad8898c round Simple_Opacity instead of truncating
c8819c1 round Blend_Opacity instead of truncating
5411e48 Merge branch 'fiendish-round-simple-opacity'
86586c8 Fixed bug regarding notepad titles and contents sometimes being incorrect
ed1aa5d Another attempt to fix notepad windows - removed static buffers
0e891cd Initial commit
f433d4d Added tabbed_window.lua to the installation
8c788f3 Remember window flags
ca5aa94 Added more font options
95d4dcb Fixed saving to do a case-insensitive compare on path names
ef86b8c make SetClipboard follow the utf8 setting too
ec20047 Merge pull request #42 from fiendish/patch-1
9d4f265 Added stuff for fading older lines
a451ad8 Added option to have Ctrl+Backspace delete the entered word
ff222af Fixed bug where you could not cancel output buffer fading
43ed2f1 Added new options to Config_Option_Changer plugin
cc31b32 Changed tabs to spaces, removed trailing spaces
65a4ff8 Added option TabInsertsTabInMultiLineDialogs
a8e8065 Added plugin Global_Option_Updater to the installer
73c84f0 If no space found, split long lines before start of multibyte character
441cbf9 Fixed crash if unable to connect to world
fa61212 Removed trailing spaces from source
2ff6873 Changed way word-wrapping works to allow for Chinese characters
cd7bc71 Bug fixes re line wrapping
4e2f265 Fixed problem with slowdown of drawing output window
a720c1c Added DefaultNameGenerationFile into list returned by GetGlobalOptionList
509c009 Reworked Global_Option_Updater plugin
b9e52a1 After clicking on a hyperlink, put the focus back in the command window
39cce14 Fixed problem with duplicate named groups in regular expressions
f99ffb2 Fixed bug with SetTriggerOption and re-evaluating triggers
000a621 Fixed bug in getting named wildcards
079ba7f Fixed bug in PluginSupports which would crash if a plugin had no script in it
42f311d new keep_pause_at_bottom option
f490698 Merge pull request #44 from fiendish/master
11979db Implemented ANSI 24-bit color support
87b8296 Cleanups and added comments
f3b9168 Merge branch 'zinmirai-24bit-color'
c89d236 Added 24-bit colour to AnsiNote
201cf73 Final changes before release
|