1.3 DEVELOPMENT Build 63 (12/17/09) * Fix bug: server locks up when player disconnects unexpectedly * Fix bug: typo in error UPnP error message (Azhrei) * Update Spanish translation (Patricio) * Update French translation (Pierre) * Update German translation (aPown) Build 62 (12/7/09) * Revert server side dead link reaper thread (was causing deadlocks) * Spanish translation update (Contributed by Patricio) * fixed a typo that prevented json.difference() from being used with more than two parameters. (Contributed by Craig through Azhrei) * Fix memory leak when switching maps * Fix bug: double click only works if you are the owner Contributed by Azhrei * Add localization to campaign properties dialog * Campaign Properties dialog: All uses of Double.parse() changes to StringUtil.parseDecimal() which uses NumberFormat to parse the string * Campaign Properties dialog: Error messages do not produce an instant MapTool.showError() but are instead saved up and produce a popup window only after all checks for the tab have been performed. * Localize the error messages Build 61 (11/3/09) * Fix bug: campaigns fail to load if there is a bad/corrupt asset stored in the save file (Contributed by Phergus) * Fix bug: saving campaign properties creates a .mtmacro instead of a .mtprops (Contributed by rumble) * Fix bug: non snap to grid tokens show movement line offset incorrectly (Contributed by cheesetuhlu and rumble) * Dragging within the initiative list now keeps the dragged item under the mouse when dropped. (Contributed by gramathy) * Fix bug: getInitiative/setInitiatve getInitiativeHold/setInitiativeHold getState/setState were throwing exceptions when a token wasn't found. (Jay) Build 60 (10/23/09) * Fix bug: MT errors when drawing map if vision opacity setting is out of range * Remove the "save as old format" dialog, no longer in use, but shows up occasionally for some reason * Don't change the clipboard contents on copy/paste if no tokens are selected (Contributed by phergus) * Reap link dead clients more regularly (client connection list should drop ghost players) * Make "Boot Connection" a server side action (works on link dead connections) * Fix bug: saving when map area is not visible throws an error * New Add Resources to Library dialog (allowing art packs to be downloaded) Contributed by Cheesethulu * Correct the bounding box for the line template. * Fix bug: A line template that had its first and second vertices the same would throw an NPE when getting its bounding box * Fix bug: LineTemplateTool is calculating the quadrant of a line template incorrectly, so when the origin of the map wasn't at the top-left of the view it would sometimes get the direction wrong. * Fix bug: Unfilled, erasing drawables delete drawables contained within their interior when load time optimization occurs * Fix bug: dropping a saved token on to the map resets the token's size and shape Contributed by gramathy * Fixes a bug where changing the sight name breaks mouseover sight display for a token * Fixes a bug where changing the default sight name breaks mouseover sight display for tokens with nonexistent sight types. * A CURRENT_PROP change will no longer fire when a token is moved with moveToken and initiative does not actually change hands. * Removing a light source from a token now removes all identical sources. * Attempting to add a duplicate light source will do nothing. Jay * Fix bug: Clients getting exception when server calls removeFromInitiative() on selected token. * Fix bug: The logging-macros.xml was incorrect and some of the output was still going to stdout. * Fix bug: Deleting items from initiative was not restoring the current pointer to the right token. * Fix bug: Some Init panel choices where not remembered from session to session. * Fix bug: Drag & Drop from IT to MT not handling new macro format. * Fix bug: Changing Show Init & 2nd Line options on Init panel wasn't resizing list panel properly. * Fix bug: When Show 2nd line Init option was on but show init was off on the init panel the list items were not painting correctly. * Fix bug: Dragging the last token in the initiative list to the bottom of the list when it is current would move the current selection to the token above it. * Fix bug: Initiative list unit of work not handling all cases correctly. * Added setCurrentMap() function to allow initiative to be moved from map to map in macros. * Fix bug: The Initiative panel's lock movement was affecting tokens even if there weren't any tokens in the initiative list. * Fix bug: The drag and drop of images from Firefox was transmitting the images as BMP files and losing transparency. * Fix bug: If an NPC token was not visible to players it's label was blue when it should have been gray Build 59 (9/23/09) * Fix bug: image loader could get confused if image was flushed before being loaded * Fix bug: closing MT with the init panel open causes the layout to reset * Fix bug: closing MT with the tables panel open causes the layout to reset * Fix bug: players can double click on non token entries in the init panel and center on them * Fix bug: entering "-" in the grid offset to start a negative number throws an error * Fix bug: the Edit->Paste menu doesn't do anything (now pastes to center of screen) * Fix bug: Tooltip doesn't persist on the Campaign Macros panel * Provide a sample logging.xml that can turn on macro evalution debugging information * Don't automatically add the RPTools gallery to the remote repository list (Fix bug: MT takes a long time to start up when not connected to the internet) * Allow random token naming to increase above 89 * Remove app preference: save with 1.3b50 compatibility Build 58 (9/21/09) * Spanish translation update by Patricio * Fix bug: deleting token with initiative loses the current position of initiative * New application preference: fill selection box (turn off to improve performance when selecting) * Fix bug: show last path on non snap-to-grid tokens doesn't work * Fix bug: selecting a map "Map" image using the Filesystem button results in a red X * Fix bug: revert last move on a non snap-to-grid token throws an exception * Fix bug: Error while moving mouse over macro button when no map is currently visible * Fix bug: deleting from init list can cause errors * Fix bug: Clearing token facing causes an error * Fix bug: Using "show init on second line" had an extra ">" * Fix bug: global macro panel 'clear' doesn't work (Contributed by aku) * Fix bug: global macro 'delete group' doesn't work (Contributed by aku) Contributed by Mark Karasek * Updates: [s: ] - only display to self [g: ] - only display to GM [w("name"): ] - only display to specific player [st: ] - only display tooltip to self [gt: ] - only display tooltip to GM These can be combined, so, for example, the output of [s,g,st: ] would appear to yourself and the GM but not other players, and only you would have a tooltip for it. If you receive a message that would be empty because, say, it consists of a bunch of rolls that aren't visible to you, the message is suppressed. This applies to [h: ] rolls too; sending "[h: d20]" would result in in no output instead of a blank message. Contributed by cheesethulu * Fix bug: If a user activates "Center Players on Current View (Continuous)" before connecting to a server as a player, it stays active (and mostly works) and can't be turned off unless they disconnect. * Typing in a zoom percentage will now update players' views (when appropriate). * Corrected a few spelling errors in i18n.properties * The Blast Template Tool that allows it to place the blast anywhere adjacent to the origin square * Centering players on current view now picks a zoom percent that fits what the GM sees onto the players' screens. * Zooming in or out after jumping to a different zoom percentage (Zoom 1:1, typing in a percentage, GM forcing view) now works from the zoomLevel closest to your current zoom percentage instead of your previous zoomLevel. * Zoom 1:1 and typing in a zoom percentage now keep the map centered. * Using Zoom 1:1, then zooming in/out, then using Zoom 1:1 again now produces more useful results (only jumping back to the pre-1:1 scale if you are at a 1:1 scale). * Typing in a zoom percent now accepts a percent sign. * Fix bug: New Token dialog should say "Show Dialog" checkbox Build 57 (9/1/09) * Spanish translation updated (Contributed by Patricio) * Update French translation (Contributed by Pierre Simonutti) * Two Image Bars that are located on the Left or Right to fill from bottom to top, instead of top to bottom. (Contributed by Marc King) * Hex grid size fixes, plus Humongous size (Contributed by Phergus) * Tweaked the token layout so that there is more latitude to position images based on the token image dimensions and cell size. (Contributed by Phergus) * Fix bug: line drawing has bizarre artifacts (Contributed by galneweinhaw) * Update unix launch scripts and README (Contributed by azhrei) * Fix bug: token rotation needs to keep in the range of 0-360 (Contributed by zEal) * Rename "GM" group in map explorer to "Hidden" (Contributed by zEal) * Add Previous Action menu item to initiative panel (Contributed by Sam Pullara) * Prevent a player naming a token the same as an existing token (prevent impersonate hijack) (Contributed by Cronk) * Prompt to save campaign when creating a new campaign (Contributed by Cronk) * Fix bug: NullPointerException when using an unknown sight type (Contributed by jfrazierjr) * Fix bug: links in chat are not auto-hyperlinking if at the beginning of a line * Fix bug: Exception when right clicking in empty space in initiative panel * Fix bug: don't expose fog on token move if fog is turned off * Fix bug: player changes handout image, everyone else gets X image * Fix bug: vision opacity value in preferences dialog should not exceed 255 (Contributed by David) * Allow changing the directory that maptool uses to store data (set the system property MAPTOOL_DATADIR to either an absolute path or a subdir of the user dir) Galneweinhaw *Fix bug: Resizing a rotated object is really weird *Note not perfect, but functional. *Fix bug: Draw an oval topology bug: *Fix bug: Token Resizing un-selected token: *Fix bug: Various fine drawing and vbl bugs: *Fix bug: Draw Freehand lines *Large hex-shaped token rotation Azrei * Fix bug where a player can click the ROUND button in the init panel and reset the round to 1! * Fix an NPE in the mouse handling of the init panel. * Add extra checks for centering of the view when the GM double-clicks on an entry in the init panel. Jay * Fix bug: Multiple clients stepping on each other's initiative updates. * Fix bug: Token state changes not updated on local client's initiative panel. * GM can now lock movement for players when their token doesn't have initiative. * Fix Bug: Tokens on hidden layer were visible to players in the init panel. * Fix Bug: When the initiative list was modified (token added, moved, deleted, or the list sorted) the current initiative would change. * Option to show initiative values on second line. * GM can now set the current initiative through the menu & popup * Fix bug: Fixed Drag and Drop from IT * Fixed bug: getInitiative() function was only returning the initiative value for the first time the token was in the init panel. * Added getInitiativeList() function to read all of the init panel data into a JSON object. Craig W: * Macro buttons with "Apply To Selected" checked will not run if there are no selected tokens (same as b54 and earlier) * /sts will now propagate changes to clients * distanceToXY function no longer tries to read token name and metric from the same parameter * isOwner function now returns the correct type * moveToken() now plays nicely with hexes when using distance per cell setting Build 56 (4/22/09) * Nomenclature change: Topology => VBL * Spanish translation updated (Contributed by Patricio) * Logging cleanup (Contributed by Azhrei) * Don't autosave if a save is currently in progress * New preference: Show Stat Sheet on Mouseover * Updated default images * Fix bug: darkvision is trumping shadowed light * Fix bug: exception when a player's pointer gets stuck * Fix bug: token labels are not being hidden * Fix bug: players cannot see vision lines * Fix bug: token labels not drawn when in fog * Fix bug: Exception when trying to autoexpose when topology not in use * Fix bug: divide by zero error if the map units per cell is 0 * Fix bug: Renaming a map shows "Rename {0}" * Fix bug: Exception when clicking on whitespace in Initiative Panel * Fix bug: OSX will exit regardless of cancelling the exit (Contributed by Craig Courtney) * Disable menu mnemonics in OSX (Contributed by Craig Courtney) Contributed by Craig W * @this works in evalMacro()/execMacro() for macros in lib:tokens. * defineFunction has new parameters to allow for ignoring of output to deal with problems with comments in the macro and to allow the function to access variables in the current scope. * Pushing the hotkey for a macro button on campaign/global panel that has apply to tokens set works again * Locations and Distance macro functions fixes for hex grids * Macrolinks in dialogs and forms no longer have the distracting tooltips * Players can no longer remove the owned by all players flag from tokens or edit tokens to be only GM owned. * The JSON Argument in getTokens()/getTokens() name all take true/false/1/0 for booleans (changed for consistancy) Build 55 (4/15/09) * Optimization: clear out erased drawables when loading a campaign * Spanish translation update (Contributed by Patricio) * Fix bug: double clicking a token in the initpanel should center on selected token * Fix bug: memory issues when saving a campaign with lots of drawables * OSX menu bar and hot key integration (Contributed by Craig Courtney) * Conic and square vision (Contributed by jfrazierjr and Mrugnak) * Optimization: cache label rendering (Contributed by Derek Dohler) * Fix bug: player password not working when connecting to server (Contributed by derek dohler) * Spanish translation update (Contributed by Patricio) * Confirm dialog when deleting tokens (Contributed by Mark Basham) * Fix bug: multiple disconnected colored lights are not always trumped by bright light * Fix bug: initiative panel can throw an error when a token is deleted from the map * Show vision as the selected tokens see it Contributed by applekor *Clear Group and Clear Panel popup menu options now prompt for confirmation before execution. *Internationalization support has been added to the macro button editor dialog. Only English has been added to the resource files. Volunteers are welcome to translate to other languages. *Internationalization support has been added to the Selection panel menu button tool tips. Only English has been added to the resource files. Volunteers are welcome to translate to other languages. Contributed by Craig W * added options to output to self and gm as well as a list of players to macro links. * added getCurrentMapName() function * added getMapNames() function (trusted) * added getVisibleMapNames() function to get player visible map names * added second optional argument to getTokenStates() which specifies group of stated to get. * added execLink() function (trusted) to execute macro links passed to it. * fixed bug with getGMName() and setGMName() returning wrong error mesage. * fixed bug where names in form with method=json contained html escape sequences. * fixed bug where clicking on an input image would only return x,y and not form values * fixed bug where using moveTokenToMap(), moveTokenFromMap() to/from the map the token is on loses the token. * fixed bug removed spurious \n characters from macro output. * fixed bug where some of the slash commands were double reporting errors. * exception stack traces that were caused as a result of macros/slash commands that were being dumped to the console are now sent to log file. Not all of them just those that are caused by non checked errors. * String extraction for internationalization for slash commands errors and output. * Fixed for loop off by 1 error that some times occur when step size != 1 * Right click -> macros menu on token stack and init panel now runs macro against token that was clicked on. * Token movement/copying functions now do not force "snap to grid" when using the distance values (cell based movement still snaps to the grid). * Fixed bug when moving tokens to maps with different grid size/type when using moveTokenToMap/moveTokenFromMap Build 54 (3/30/09) * Tool->Zoom Lock toggle, prevents mouse wheel zooming * Increase default stack size for launch scripts in the zip version to 512k * Remove tooltip from Edit Macro Button dialog command field * Spanish translation update (Contributed by Patricio) * New table properties: Visible to players and Player executable (Contributed by Applekor) * Revert inet addy lookup (doesn't work well with virtual nats) (Contributed by azhrei) * Change "Broken" image to red X to differentiate from "Loading" question mark image * Remove "(GM Only)" distinction from "Autoshow Fog" Preference * Only PC tokens will autoshow fog, NPC tokens must be explicitly exposed * Fix bug: Possible exception when trying to edit properties of new stamp (Contributed by Luca) * Fix bug: Exception when performing undo when the map isn't visible to players * Fix bug: Exception when rotating token * Fix bug: Exception when mousing over a macro button when the player has no current map * Fix bug: launching after MT had been on a secondary (projector) leaves the frame offscreen * Fix bug: Exception when trying to show lights on a token that has an undefined light type * Fix bug: Exception trying to set light source opacity to a negative number * Fix bug: personal light (e.g. Darkvision) trumps all other light * Fix bug: cut and copy on TokenPopupMenu does not work * Fix bug: MT doesn't handle missing library directories gracefully * Fix bug: token names are visible to player over the fog * Fix bug: remote image repository index parser can't handle extra space or blank lines * Fix bug: dropped rptoks are not uploading their images * Fix bug: specifying an illegal format in light definitions throws an error * Fix bug: tokens with auras cause a critical error when moving into the Vision Blocking Layer * Fix bug: map selection popup list can pop off the screen * Fix bug: possible exception when trying to move a token that someone else deleted Contributed by applekor * New table properties: Visible to players and Player executable * BugFix: Disable Macro tab in the token editor dialog. * BugFix: Propagate campaign macro changes to clients in realtime. -Removed warning message to GM about the campaign needing to be reloaded following campaign macro changes. -Removed checkbox in application preferences to hide/show warning message. * BugFix: Macro affect halo artifact caused by aborted drag-and-drop operation. * BugFix: [Prior to b54 release] "Show Table to Players" functionality was reversed. * Cleanup: Player macro editing capabilities. -Players now only have the "Run for Each Selected" option when right-clicking a campaign macro. -Players no longer get a popup menu when right-clicking on a button group within the campaign macro panel. -Added player macro editing default checkbox to application preferences. This determines whether or not new macros are player editable by default. Contributed by Azhrei * Revert inet addy lookup (doesn't work well with virtual nats) * Changed the zoom level display in the statusbar to be editable; a percentage value can be entered in order to jump to a particular zoom level * Fixed search of the I18N properties for all tools * Fixed Rename Map's use of parameterized string from I18N * Added beginning of chat log autosave implementation (currently non-functional) (two fields added to Edit->Preferences; added tooltips on some other fields) * Add FileFilter for saving maps * Fixed some NullPointerExceptions in the InitiativePanel * Parameterized some strings that were hard-coded in InitiativePanel * Fixed double-click on token in InitiativePanel not forcing players to same view when that mode is on (more work to do on this one) * Added missing options to instruction strings in i18n.properties * Updated French translation by forum user 'Natha' * Fixed "asset://" URL handler so they will work within Swing components properly * Modified the various messages for server starting/connecting so they were unique and could help identify which path the code had taken. * Modified "portforward.com" messages to refer to the RPTools HOWTO forum instead. Contributed by Craig W * moveTokenToMap(ids, map, x, y, zorder) - Moves tokens from current map to specified map. * moveTokenFrom(ids, map, x, y, zorder) - Moves tokens from specified map to current map. In both cases ids can be either a single token id or a JSON list of tokens. * getMatchingProperties(pattern, delim, id) - gets the names of the properties that match pattern from the token. * getMatchingLibProperties(pattern, lib, delim, id) - gets the names of the properties that match pattern from the lib:token. * All Strings for macro function errors, roll options, variable prompting etc have been extracted to the language property file so that they can be translated into other languages. * Token Properties now match variables and Default Properties in that they are no longer case sensitive * Fix bug: json.sort now sorts objects of arrays sensibly instead of haphazardly, you can specify the fields to sort by after the direction. * Fix bug: Token properties should now always be case insensitive, instead of the "some times they are some times they aren't" of previous versions. * Fix bug: A few null pointer errors fixed in rare conditions in the json.* macro functions * Fix bug: Several error messages tided up * Fix bug: A couple of "unlikely to occur" errors that were being ignored or printed to console in MapToolLineParser are now being logged. * Fix bug: fix an error in json.merge where it can not recognize objects correctly. * Lights/Auras "repainted" correctly from macros where they need to be * Fix a null pointer error when calling unknown macros on tokens * getMacroButtonIndex() function corrected to return number * Ouput from macro calls are formatted correctly if there is only rolls contained in the output. * Fix problem with json.type on non json objects. * copyToken accepts a JSON object in optional argument that allows changing of new token values * raised limit for loops Build 53 (3/10/09) * Fix bug: aura is trumping bright light * Fix bug: dragging a token is too sensitive going left or up on initial drag * Fix bug: not specifying an aura color freezes up MT * Fix bug: bright light is not clearing out shadow/colored light * Fix bug: java not fully shutting down when closing the app * Fix bug: auras not honoring vbl * Fix bug: vbl not updating immediately when switching to/from Player View * Spanish translation update (Contributed by Patricio) Craig W * Fix bug: fix some annoyances with returning JSON objects/arrays and numbers from user defined functions * [macro(): { ... }] will now strip leading trailing spaces from output so that returns after [h: ] and before a single [r: ] wont be inserted into ouput. * Only properties that belong to the current property type for the token can be read via variables to make it consistant with setting properties as a variable. You can still use getProperty()/setProperty() to refer to the other "hidden" properties. * Macro Link ToolTips will no longer throw a null pointer exception if the Lib:token does not exist. * The problems with [frame(): { ... }] frames dissapearing should now be fixed. * Evaluated ToolTips for Campaign and Global macro buttons should no longer throw Null Pointer exceptions. * JSON additions (this should round out all the JSON functionality) * json.count(array, value, [start]) - Returns the number of times value occurs in the array, starting from 'start' index (defaults to 0). * json.indexOf(array, value, [start]) - Retunrs the index of the first occurance of value in the array starting from index 'start' (defaults to 0). * json.merge(json, json [, ...]) - Merges json arrays or json objects. For arrays the values are simply appened to the end of the array. For objects where the key exists in more than one object the last version of the value is used. * json.unique(array) - Returns the array with no duplications (order is not preserved). * json.removeAll(json, json [, ...]) - Removes all the values/keys from the first object or array that are in the other objects or arrays. * json.union(json, json [, ...]) - Returns an array with the union of all of the keys (in the case of objects) or values (in the case of arrays). * json.difference(json, json) - Returns an array with the differs of all of the keys (in the case of objects) or values (in the case of arrays). * json.intersection(json, json [, ...]) - Returns an array with the intersection of all of the keys (in the case of objects) or values (in the case of arrays). * json.subset(json, json [, ...]) - Returns 1 if all of the keys (in the case of objects) or values (in the case of arrays) are contained in the first object/array. Build 52 (3/3/09) * Fix bug: If a texture paint image can't be loaded an exception is thrown repeatedly * Fix bug: line segments with no points cause the map to fail loading * Fix bug: z-order of tokens is not preserved when starting a server * Fix bug: cone template throws an NPE when the internal map ID doesn't match an existing map * Fix bug: closing MT can sometimes throw an NPE in the JIDE docking framework * Fix bug: dropping in a new token that has 'sight' but does not match any existing sight type throws an exception * Fix bug: polygon fog expose and freehand fog expose are broken * Fix bug: Hitting 'ESCAPE' on the Save Changes dialog closes the app, without saving * Fix bug: Selecting 'Yes' on Save Changes dialog on exit doesn't save campaign Build 51 (3/2/09) * Blast template now increments in size by one, not two * Introduce framework for auto updating campaign file format to new versions * Render colored light above object stamps * Show owned token movement above the fog * Holding 'z' while zooming with the mouse wheel inverts the direction of the zoom * Show confirmation dialog when overwriting an existing campaign file * Add formal logging * Optimize drawable, stacks, line tool drawings, and fog rendering * Put Snap To Grid back onto the token popup menu * Allow PCs to not have sight (Edit Token dialog, Config tab, Has Sight checkbox) * Allow turning portraits off by setting portrait size to 0 in preferences * Add new light shape 'cone' * Fix bug: token z-order is not preserved when using copy-paste * Fix bug: token labels are drawn underneath fog and are unreadable * Fix bug: token movement labels can be seen by players even when token being moved is not within the visible area * Fix bug: Init panel throws exception when deleting a token * Fix bug: changing map light type (off/day/night) doesn't update the light sources on the map * Fix bug: Selecting 'Owner' checkbox on bars and status overlays doesn't stick after reloading campaign * Fix bug: double clicking a hidden token does not select the hidden layer * Fix bug: hidden layer tokens should be drawn above the object layer tokens * Fix bug: states panel doesn't update when state list changes in campaign properties * Fix bug: stacking icon and list are not always accurate * Fix bug: Health bar display bugs (single image, two image not rendering correctly) * Fix bug: players can click on object tokens that are in the fog and get the player notes * Fix bug: Cannot impersonate a token with the same name as the player * Add /cls alias to the /clear macro (Contributed by jfrazier) * Add /emotes (also /mes) macro that does a plural "'s" emote (Contributed by jfrazier) * Fix bug: Clear Group/Panel not working in the Campaign Panel (Contributed by applekor) * Updated Spanish translation by Patricio Contributed by Phergus * Fix bug: cell facing is broken on loaded campaigns * Expand hex cell shape by a few pixels * Update windows exe launcher to handle use config file * update grid facings when preferences are changed Contributed by Azhrei * Externalization of a lot of text * Remote image repository updating * Holding CTRL while dropping a token will force the New Token Dialog to open * OpenJDK networking bug workarounds * Code to support Command/Meta on SoyLatte/OpenJDK OS X Contributed by Craig Wisniewski: Bug Fixes * Allow resetting of macro dialogs * json.contains now works for json arrays and not only for json objects. * Removed a lot of null pointer bugs in macro functions. * Corrected a lot of error messages in the macro functions so now all errors should reflect the function the occurred in. * Players can no longer call removeAllFomInitiative(), removeAllPCsFromInitiative(), or removeAllNPCsFromInitiative(). * Default properties will now be evaluated on the statsheet if there is no value in the property. Even from within evaluated properties. * Getting a token property (via either getProperty() or val = property) will now always return its default value (if a the property is not set and it has one). Previously this would only occur if the token had been been edited with the edit token dialog, which lead to inconsistent behavior. * The macro functions to edit token macros now check the player editable status of the button before they will allow the player to edit them. If you need to edit a not player editable macro button from macro then you will have to put it into a trusted macro. * Fixed a bug with specifying the height of a dialog in a macro using [dialog(...): ...] * Updated macros so that tokens are always repainted. * The parser is now a log less zealous about trying to evaluate things. Values in variables should no longer be evaluate by just reading the variable. Note: this is not true of values in properties, reading them will evaluate them. If you wish to get an unevaluated value from a property use getRawProperty(). So now it is save to do things such as a = “[1d20]” without fear of interference from the parser. Use evalMaco()/execMacro() if you do want to evaluate these strings. * Initial Tool Tip Delay and Duration of Tool Tips tweaked so that they appear a lot quicker and stay around long enough to read them. (These values can be changed by the user). * The parser now trys to convert single element JSON arrays to arrays before trying to parse them. So single element JSON arrays will no longer give you head aches. * Macro dialogs and frames no longer autoscroll the the bottom, the scroll bars will be positioned to show you the top left hand corner of the dialog/frame. * json.get() now returns an empty string if the value is not set not a null. * Fully trusted macro hi-lighting now works from the selected token macro panel (previously it only worked from the impersonated panel) * [macro(...):...] can now call macros from @campaign, @global, and @token (the impersonated token). * macroLink() and macroLinkText() functions can now use @this, @campaign, @global, and @token. * getImage(), getTokenImage(), getPortrait(), tblImage(), tableImage() no longer limit the max image size to 500. * When clicking on macro buttons macro.args is set to “” by default (no more unwante prompting when clicking on those buttons that are either clickable or callable via [macro(...):..] * JSON Objects now work in macro links. * currentToken(), getImpersonated(), getImpersonatedName(), getSelected(), getSelectedName(), getVisible(), getVisibleNames() functions no longer need to be in a trusted macro as the player already knows the tokens exist. * Image: and Lib: utility tokens are not returned from the getToken functions. * When ever an exception occurs during a macro the error message will now always return either the name of the macro function that failed, or the line that failed (so no more vague cant execute: null, or cant execute: Java.lang.String error messages). * Typing carriage returns into