MapTool 1.5.4 Released

MapTool 1.5.4 Released

The RPTools staff is proud to announce the release of MapTool version 1.5.4. This release adds a great deal of new macro functionality and cleans up some long-standing bugs mostly thanks to the tireless efforts of the new contributor, Guillaume “Merudo” Filteau. MapTool versions from 1.5 onward are 64-bit OS only.

You can find a complete list of changes on the GitHub Changelog. Note, there were a lot, and I mean a LOT, of macro changes. These should not affect existing frameworks since they primarily added new, optional parameters or fixed bugs in existing macro functions. You can find a full summary of changes Macro Function Changes for 1.5.4 GitHub Wiki page.

  • #617 – Using the right-click Arrange -> Send to Back/Bring to Front functions could undo recent token changes. Fixed
  • #603 – Attempting to import a campaign file as campaign properties threw a ClassCastException. It now displays a proper error message.
  • #594 – Dragging tokens on hex grids did not display the blue path line and move count was slightly outside of the hex cell. Fixed.
  • #589 – Title option for dialog() command only worked on first use. Subsequent uses did not update the dialog title. Fixed.
  • #587 – Using the title option in frame() would keep the frame from being reopened again once closed. Fixed.
  • #585 – The temporary property of frames was not being obeyed. Fixed.
  • #584 – New functions for getting Frame/Dialog properties.
    • getFrameProperties(frameName)
    • getDialogProperties(dialogName)
    • New property value added to frame() and dialog() roll options and can be read with above. See MapTool wiki for more details.
  • #582 – Modifying tokens was not updating VBL for tokens with attached VBL. This particular bug was not in released builds. Fixed.
  • #578 – Added optional token id and map name parameters to sight macro functions.
    • Functions Affected: canSeeToken(), getSightType(), hasSight(), setHasSight(), setSightType()
  • #574 – Bug fixes and enhancments for several light macro functions
    • hasLightSource(), setLight(), and getLights() no longer causes an NPE if the light type entered doesn’t exist
    • FoW now automatically updates after using clearLights() or setLights()
    • functions now take optional token id and map name parameters
    • functions no longer send entire token object on change to clients
  • #573 – MapTool credits in Help -> About window updated.
  • #569 – Documented undocumented parameters of getPropertyDefault and setLayer. Fixed NPE caused when getPropertyDefault is given only one parameter and there is no current token.
    • getPropertyDefault() – Accepts second parameter for Token (Property) Type and returns the default for that type.
    • setLayer() – A third parameter, forceShape, forces tokens to be of type Top Down if moved to Object layer and to either Circle or Square for the token layer.
  • #563 – Additional parameter map name added to getState, setState, and setAllStates macro functions.
  • #560 – Corrected error message if setZoom() was passed argument.
  • #558 – Popup notes for Hidden/Object tokens did not include the GM name if only player notes field had content and if only the GM notes had content no name was shown. Fixed.
  • #555 – A number of macro functions that set properties on tokens have been updated to use new internal server commands to only pass the relevant data from server to client instead of the entire token object.
    • Functions: bringToFront, moveToken, removeTokenFacing, resetProperty, resetSize, sendToBack, setAllStates, setGMNotes, setLayer, setLibProperty, setNotes, setNPC, setOwnedByAll, setOwner, setPC, setProperty, setPropertyType, setSize, setState, setTokenDrawOrder, setTokenFacing, setTokenHeight, setTokenShape, setTokenSnapToGrid, setTokenWidth
  • #552 – A number of macro functions were only making changes to tokens locally and not pushing them out to the other clients. Fixed. See also #555.
    • Functions Affected: setGMNotes, setNotes, setTokenShape, setTokenWidth, setTokenHeight, setTokenSnapToGrid, resetSize
  • #551 – Opening and closing the Edit Token dialog on a Player Client was enabling Visible of FoW even though players did not have access to the setting. Fixed.
  • #549 – A number of macro functions were internally calling both Zone.putToken() as well as ServerCommand.putToken() which resulted in the token being sent out to clients twice. Fixed.
    • Functions Affected: setTokenImage, setTokenPortrait, setTokenHandout and setTokenOpacity
  • #547 – Map name added as optional parameter to getName() and setName() functions.
  • #545 – Map name added as optional parameter to the following functions.
    • bringToFront, getGMNotes, getLayer, getMatchingProperties, getNotes, getOwners, getProperty, getPropertyNames, getPropertyNamesRaw, getPropertyType, getRawProperty, getSize, getTokenFacing, getTokenHeight, getTokenNativeHeight, getTokenNativeWidth, getTokenRotation, getTokenShape, getTokenWidth, hasProperty, isNPC, isOwnedByAll, isOwner, isPC, isPropertyEmpty, isSnapToGrid, removeTokenFacing, resetProperty, resetSize, sendToBack, setGMNotes, setLayer, setNPC, setNotes, setOwnedByAll, setOwner, setPC, setProperty, setPropertyType, setSize, setTokenFacing, setTokenHeight, setTokenShape, setTokenSnapToGrid, setTokenWidth
  • #541 – Map name added as optional parameter to the following functions.
    • getTokenImage, getTokenPortrait, getTokenHandout, setTokenImage, setTokenPortrait, setTokenHandout, setTokenOpacity, getTokenOpacity
  • #540 – Non-snap-to-grid tokens were dragging by top-left corner on square grids. Fixed.
  • #539 – New Macro function getTableEntry() returns raw table entry in JSON format.
  • #538 – Macro function tableImage() was throwing an exception if the table entry did not have an image attached. Now returns an empty string.
  • #534 – Macro function getMatchingProperties() was not accepting 3rd parameter token ID. Fixed.
  • #532 – Fog of War macro functions did not return an error message if an invalid map name was passed in. Fixed.
    • Functions Affected: exposePCOnlyArea, exposeFOW, exposeAllOwnedArea, restoreFoW
  • #531 – New macro function getViewCenter() returns the location in either pixels or cell coordinates.
  • #525 – Macro function exposeFogAtWaypoints() was returning the i18 string name instead of the actual error message.
  • #523 – Various HTML entities that could be used to spoof valid roll results trapped from entry into chat.
  • #522 – Incorrect tooltip for Preferences -> Application -> UPnP -> Discovery Timeout. Fixed.
  • #519 – With AI enabled, using token.denyMove = 1 in the special onTokenMove macro did not block movement allowing tokens to be moved to inaccessible areas.
  • #513 – Saving a change to a macro from a different map was throwing an NPE and failing to update macro. Fixed.
  • #510 – Passing invalid parameters to the goto() function was incorrectly blaming moveToken(). Blame properly assigned now.
  • #509 – Optional tokens and delimiter parameters added to exposeFOW() function allowing the user to choose tokens that aren’t selected.
  • #505 – Bug was preventing the exposeFOW() function from accepting a map name argument. Fixed. The wiki page for restoreFOW() updated to note that it also accepts a map name argument.
  • #504 – Result for getInfo(“server”) call did not include Auto Reveal on Movement and Individual FoW settings. Fixed.
  • #470 – Show Movement Distance setting was being ignored. Fixed.
  • #434 – Pinned frames displayed frame name instead of title. Fixed. New tabtitle property also added to frame() macro function.
  • #404 – Manipulating a token while on a different map could lead to duplicate tokens. Fixed.
  • #357 – Vision for Non-Individual Views was broken. For a long time. Fixed!
  • #226 – Attempting to adjust map grid (Ctrl-Shift-A) after a Dialog was opened caused an exception. Fixed.
  • #225 – Attempting to load a file other than a campaign file was throwing a Class Cast Exception. Open Campaign dialog now defaults to only showing campaign files and CCEs caught with the appropriate error message shown.
  • #213 – The following operations do not cause auto-exposure of FoW for tokens. Documenting current behavior as of 1.5.4. See ticket for more details.
    • Edit Token Dialog
      • Changing Sight Type
      • Changing Has Sight
    • Right-Click Menu
      • Setting Light On
    • Macro Functions
      • Setting Light On
      • Changing Sight Type
      • Changing Has Sight
  • #152 – Undo (Ctrl-Z) was frequently buggy producing unpredictable results. Fixed(in 1.5.0).
    • Undo buffers are specific to each client. Undo/Redos only affect the client taking action.
  • #150 – Using sendToBack() and bringToFront() macros could break states or bars on tokens. Fixed(in 1.5.0).
  • #132 – Calling getname() (lower case ‘n’) was falling through to setName and returned an incorrect error message. Fixed with other changes to token macro functions.
  • #116 – strPropFromVars function was creating an extra, empty entry. Fixed. The second parameter is optional and defaults to “UNSUFFIXED”.

Excited about the new functionality? Let’s discuss in the comments below or on one of our many social outlets.

Live chat on Discord
Join in the conversation on the RPTools Forum
Like us on Facebook
Follow us on Twitter
Reddit
Log and issue or fork a branch of the code on GitHub

MapTool Latest Release 1.7.0

You can download the new version of MapTool from the following links.

A JAR file version may be downloaded from the MapTool GitHub Repo and is only recommended for developers or other advanced users.

If you need help, please join our Discord Server. A list of all changes can be found in our Change Log

6 Responses to MapTool 1.5.4 Released

  1. Is there a reason I have to use a SS of 14 when everyone else in my group uses 10 or less? One has to use 12 on his windows laptop but uses 8 on his Mac. I have a better processor, more RAM in my system than anyone else and we all use the same build of Maptools.

  2. I can’t think of a reason why it would vary that much unless the macros were working on different macro sets/data. There could be some variance in OS/JVM which bloats it but I haven’t heard of that happening in the past. You might want to join the Discord server or post something to the forums where the code mages can help.

  3. The .exe install isn’t working for me. It gives me error code 216 and says “the version of %1 is not compatible with the version of Windows you are running.” But I’m on Windows 10 Pro and can see no reason why this should not be sufficient.

    I also tried the java install and it didn’t work. I updated java, restarted, and it still isn’t working. There, the error message I get is just that a java exception occurred.

    Any help would be wonderful.

  4. Ben – MapTool 1.5+ is 64-bit only. The Windows installers won’t be able to run.

    Same with the Java JAR version. You’ll have to install a 64-bit Java JRE and it must be Java 9 or 10.

    If your PC is only 32-bit you’ll have to stick with the older releases.

  5. Can I still run a Server instance and a client instance so I have a map for me on one screen and the player map on another screen? This worked in 1.4 but I do not seem to be able to run two instances on my MacBook Pro (2017) running Mojave

  6. We have users saying it worked for them with the same setup. You might try going to the #general_support channel on Discord to see if they can help diagnose the problem. You can find the link to Discord in the ‘Need Help?’ section of this page.

Leave a reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.