Released on 13 Dec 2010
1. Fixed bug in Version_Check plugin where version 4.70 would be shown as 4.7.
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.
3. Mapper can now be zoomed by using the mouse scroll wheel.
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
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.
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.
7. Auto-resize now works if the world is not connected.
8. Improved behaviour of movewindow.lua when dragging the window offscreen. Thanks, Fiendish!
9. Added two new functions to the Lua "bit" library: bit.test and bit.clear
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.
print (bit.test (0x42, 0x02)) --> true
print (bit.test (0x42, 0x40, 0x02)) --> true
print (bit.test (0x02, 0x03)) --> false (0x01 bit not set)
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.
a = bit.clear (0x111, 0x01) --> 0x110
a = bit.clear (0x111, 0x01, 0x10) --> 0x100
Note: You can *set* individual bits easily by doing bit.bor.
a = bit.bor (0x110, 0x01) --> 0x111
10. Added string_indexing.lua and words_to_numbers.lua to the distribution.
11. Fixed bug where MUSHclient would crash or hang if you did:
Also updated bc library, including new functions:
bc.divmod, bc.neg, bc.powmod, bc.tonumber, bc.trunc
12. Added option to WindowMenu for checked (ticked) items.
You can check an item by putting the "+" symbol in front of it.
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.
Gammon Software support
Forum RSS feed ( https://gammon.com.au/rss/forum.xml )