Released on 13 Dec 2010
1. Fixed bug in Version_Check plugin where version 4.70 would be shown as 4.7.
[master 1542642]
2. Changed Version_Check plugin to check if you could load DLLs. If not, a warning is printed because it cannot check the web site for the latest version.
[master ced45bb]
3. Mapper can now be zoomed by using the mouse scroll wheel.
[master 0d542b3]
4. Added GetInfo (87) - the last command (thing) sent to the MUD.
This is for those situations where you do something like go east, and you get a message like "the door is locked". By consulting the last command sent you can unlock the door and repeat the direction. eg.
-- trigger on "The door is locked."
local last_command = GetInfo (87)
Send ("unlock " .. last_command) -- eg. "unlock east"
Send ("open " .. last_command) -- eg. "open east"
Send (last_command) -- now go east
[master 07d1a87]
5. Fixed a couple of bugs regarding auto-size of window text width to output window size:
* If TextRectangle is called to change the visible text rectangle, the output width is adjusted.
* If the "Adjust width to size" button in Output configuration is used, it respects the TextRectangle size (if any) rather than ignoring it.
[master 0b8c3b6]
6. Improved the way that Debug ("summary") decides to truncate long lines (eg. a long trigger match text). Instead of truncating with a "..." for column 80, it now allows for the actual width of the output window.
[master 30d17ff]
7. Auto-resize now works if the world is not connected.
[master 34837b5]
8. Improved behaviour of movewindow.lua when dragging the window offscreen. Thanks, Fiendish!
[master 427ea94]
9. Added two new functions to the Lua "bit" library: bit.test and bit.clear
bit.test :
Designed to test if one or more bits are true. For example, rather than doing:
if bit.band (0x40, 0x40) ~= 0 then
--- do something
end -- if
You can now do:
if bit.test (0x40, 0x40) then
--- do something
end -- if
If there are multiple arguments (more than 2) then the extra ones are or'd together before the final test.
For example:
print (bit.test (0x42, 0x02)) --> true
print (bit.test (0x42, 0x40, 0x02)) --> true
print (bit.test (0x02, 0x03)) --> false (0x01 bit not set)
bit.clear :
This lets you clear one or more bits easily. Previously you would have had to do a bit.neg to invert the bits, followed by a bit.band to 'and' in the ones-complement.
For example:
a = bit.clear (0x111, 0x01) --> 0x110
a = bit.clear (0x111, 0x01, 0x10) --> 0x100
Note: You can *set* individual bits easily by doing bit.bor.
For example:
a = bit.bor (0x110, 0x01) --> 0x111
[master 88177f4]
10. Added string_indexing.lua and words_to_numbers.lua to the distribution.
See: http://www.gammon.com.au/forum/?id=10778
and: http://www.gammon.com.au/forum/?id=10155
[master 82b0097]
11. Fixed bug where MUSHclient would crash or hang if you did:
require "bc"
Also updated bc library, including new functions:
bc.divmod, bc.neg, bc.powmod, bc.tonumber, bc.trunc
[master cfe1b82]
12. Added option to WindowMenu for checked (ticked) items.
You can check an item by putting the "+" symbol in front of it.
[master e1a8672]
13. Now counts newlines received from the MUD (that is, lines ending with a newline character). This is available as GetInfo (310).
This is different from GetLineCount which counts screen lines. If a long line is received from the MUD (which causes the output to wrap over multiple screen lines) then the numbers will be different.
Lines are added to the GetRecentLines buffer, and 1 is added to the GetInfo (310) count, at the same time.
Thus you could, for example, note the newline count (by doing GetInfo (310)) when a prompt arrives, and then when a second prompt arrives, calculate the number of lines between prompts by subtracting the new value from GetInfo (310) from the saved value.
Then, you could call GetRecentLines (n) where n is that number, to find the exact lines that arrived from the MUD between prompts. This could be used, for example, to work out room descriptions, inventories, etc.
[master c8ff618]
View all MUSHclient release notes
Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.