The "Answer to the Ultimate Question of Life, the Universe, and Everything" build ( http://en.wikipedia.org/wiki/The_Hitchh ... the_Galaxy
Build 42 (9/15/08)
* Make default values show up on the edit token dialog properties tab
* Fix bug: resource library directories are not sorted on linux
* Fix bug: loading a campaign with a saved radius template with an invalid map never completes
* Fix bug: token stat sheet doesn't show up if it only has default values
* Fix bug: player perspective for tokens with different sight types can cause light to be seen with incorrect sight type
* Fix bug: line distance measuring label position bug (Contributed by phergus)
Contributed by jfrazier
* Improve /whisper to support quoted names (e.g. /whisper "joe blow")
* Improve /whisper name to be case insensitive
* Add /reply macro that whispers back to the last person to whisper you
* Fix Bug: Loading a token having a Property Set which does not exist in the Campaign causes a Null Pointer Exception.
Contributed by mkarasek
* Fix bug: new line issues in macros
* Fix bug: smilies being overly aggressive about dice rolls
* Evaluate separator each pass when doing multiple rolls.
Contributed by Lindharin
* Sorting the global and campaign panels on load.
* New sortby property on buttons that is the first thing sorted by.
* The sort function pads all numbers (not just dice code) to 4 digits with leading zeroes to help with implied orders (ie, 2 should be before 10).
* Fixed the existing bug when duplicating buttons in the campaign panel.
* Added a checkbox indicating the button should be applied to selected tokens, so you don't need to right click and use the "Run For Each" option.
Contributed by Jay
* Fixed Init panel showing an empty GM name bug
* Added Token (health) Bars
* Added bar.[bar-name] variable and setBar()/getBar() functions for macros.
* Added GM/Owner/Other view support to all of the states and bars.
* Stopped rotation of states & bars on top down token names.
* Made Round: label on init panel a button that resets the round counter and clears the current initiative.
Contributed by k.fan
* input() function - asks the user for multiple variables at once.
* abort(val) function - if val is zero, aborts execution and later calculations are not performed
* listGet(list, index) - returns the entry in the index position (first position is index 0)
* listDelete(list, index) - returns a new list with the item at index position deleted.
* listCount(list) - returns the number of list entries
* listFind(list, target) - returns the index of the target string in the list, or -1 if none of the list entries match.
* listAppend(list, target) - adds target to the end of the list
* listInsert(list, index, target) - inserts target before the entry at position index
* listReplace(list, index, target) - replaces the entry at position index with the target
* getStrProp(properties, key) - find a key and return the value, or "" if not found
* setStrProp(properties, key, value) - set the value for a key,inserting it if not present. Returns the new property string.
* deleteStrProp(properties, key) - delete a key. Returns the new property string.
* countStrProp(properties) - returns how many key/value settings are in the string.
* indexKeyStrProp(properties, N) - returns the Nth key in the list.
* indexValueStrProp(properties, N) - returns the Nth value in the list.
* varsFromStrProp(properties) - creates variables for each key and assigns the corresponding value. Returns the number of entries found.
* Please post any bugs you find to this post, any clarifications of usage should be posted as a new thread in the MapTool forum
* There's an odd bug that causes a stackoverflowexception sometimes the first time you use a long html chat message
* Thanks for all your testing and patience !