Released on 26 May 2004
1. Changed encoding when writing XML files from "US-ASCII" to "iso-8859-1" - this seems to be the correct encoding name for straight ANSI text.
2. Fixed a couple of bugs in the "convert to regular expression" routine which would (previously) incorrectly:
* convert unprintable characters to hex (eg. 04 to \x04)
* handle characters with the high-order bit set (eg. \x81, \x82 and so on).
This has improved trigger matching for foreign languages.
3. Fixed bug where doing AddTrigger, AddTimer or AddAlias in a plugin would fail if it called a script routine, and if scripting in the *main* world was not active.
4. Fixed bug where if you had the command echo colour as "no change" when you loaded the world file you would get an XML error (Value '65536' too large) and the command colour would become custom colour 10.
5. Fixed problem where if you ran MUSHclient under Wine the world configuration windows would be displaced in a rather ugly way. Now they look (almost) the same as under Windows. Also in the process of doing this tidied up some configuration windows to make them neater, and some lists slightly larger.
6. New script routine - ReloadPlugin. This is designed to help plugin writers quickly reload a plugin they are testing. You can specify the plugin by unique ID, or by plugin name (assuming the name is unique in your list of plugins).
However, a plugin cannot reload itself. That would mean the script was deleted out from under itself. If you try to work around that by having plugin A call plugin B, and plugin B reloads plugin A, you will probably get a crash. If you really want to make a "reload myself" function in a plugin, use something like DoAfterSpecial, to send the "ReloadPlugin" command to the script engine after a 1-second delay.
The intention here is for plugin authors to make an alias that they can type when they want to retest their plugin.
6. Fixed bug where the global option "all typing goes to the command window" was not being saved, and thus was cleared next time you started MUSHclient.
7. New options for timers: "omit_from_output" and "omit_from_log". These let you control whether or not a timer is displayed in the output window as it fires, or is logged.
8. New world.Debug option: "global_options". This lists all of your global MUSHclient options.
9. When MUSHclient processes an <include name="blah.xml" /> directive in the world file, it now saves the exact name you gave (for writing to the world file) rather than the resolved name. That way, world files which are shared between different PCs (eg. a home PC and a laptop) which may have different world directories, will still work. The "resolved name" is the name appended to the default world file directory (if a full pathname is not specified).
10. To help debug plugins, when viewing the plugin list, you can now RIGHT-double-click an entry in it, to open that plugin's state file (if any) in your nominated editor.
11. Changed the way multi-line triggers work slightly. In previous versions the final line was not terminated by a newline, now it is.
Previous versions: line 1 \n Line 2 \n Line 3
This version onwards: line 1 \n Line 2 \n Line 3 \n
I think this is a bit more logical. In ordinary triggers there are no newline characters, however in multi-line triggers it seems that if there is going to be a newline at the end of each line it should also be at the end of the final line.
This makes it easier to check for things like:
In other words, checking for a line containing A or B or C (where the \n is needed to indicate the end of the line).
12. Added script routine TranslateGerman, which translate German umlaut sequences into the equivalent sequences without umlauts. This does (in a script) exactly what is done if you check "translate German characters" in the Input configuration window.
Send TranslateGerman (wildcard (1))
13. Changed the way "translate German characters" works to translate just before sending to the MUD, rather than just after accepting input from the player. This way, umlauts are always translated (eg. even if read from a disk file and sent by a script).
14. Fixed the way ctrl-click works when calling an alias - if the alias tries to get the selection (eg. if you select text and then ctrl-left-click to do something with it) then the text will still be selected.
15. Added new selector (231) to world.GetInfo which returns the current log file size. You can use this to close and re-open the log file (eg. in a timer) if it exceeds a certain size.
if GetInfo (231) > 10000 then
OpenLog "", 0
Gammon Software support
Forum RSS feed ( https://gammon.com.au/rss/forum.xml )