Mote: ongoing changelog for phase 1
Notable New Features * :
* Too many minor ones to list. Check comments in the source once opened.
Refactoring:
Usage change:
Mote-specific Bug fixes (beyond what was submitted to the core MapTool source):
- Headless mode
- Fixed problems regarding Unicode and the macro system.
- Asset watching elements refresh in real-time as soon as an asset is added or removed from the collection. No more restarting the application just to see it displayed on the library.
- Sound API and associated macro functions - play sounds on the device or stream from any accessible source over a network or on a cloud service.
- Font and background color palettes that affect and persist on all application displays.
- An overall better aesthetic for the current Swing GUI. Most of the clunky interfaces are being deal with, either through improvement or replacement.
- Macro “earmarking”. For example, they can be tagged as to where they should go, be it Global, Campaign or remain on-Token; after which, as soon as a user connects, the macros transfer automatically.
- Macro editor with:
- code completion
- syntax highlighting
- code folding
- code execution
- macro properties viewing
- line bookmarking
- support for macro script, javascript, HTML5, CSS; switched on the fly.
- Undo/Redo for VBL
- Hotkeys based on context. For example, hotkeyed macros only fire when focus is on the map. Hotkeys do something else on other displays. For example, F2 executes the active macro on the macro editor.
- Completed MapTool Table functions
- Database functions riding on H2
- More convenience macro functions. Examples are:
- Delay. No more looping to create this effect :)
- Enhanced macro properties function e.g. hotkeys can now be passed as a parameter.
- Retrieve a token’s map (getTokenMap)
- Mass deletion of macros and macro groups - a lot faster too
- Clear all macro hotkeys
- Impersonation through macro
- Retrieve all GM names
- Force players to GM’s view through macro
- goto function now has zoom level as an added parameter
- Toolbars for “quick” commands. These commands bypass prompting.
- Dice Bar - for quick rolls and persistent dice expressions.
- Prettified error reporting on a dedicated dock. We can finally do away with the Java console.
- Real time view of application logs, switchable on the fly.
- Completed FTP functionality
- Enhanced Input functionality:
- tabbing selects radio items
- added text area as a display option
- add ability to change input window type - desirable for processing 3 return scenarios, or for discarding the need for the cancel option.
- Perspectives: switch to relevant docks quickly depending on the context. Initial positioning from the user is required for best performance.
- Hand Tool: Google Maps-like mouse behavior, does not trigger any events. Good for re-arranging map objects during game sessions, and map building.
- Targeting Tool, associated with new event hooks onMouseOver, and onTargetSelected (multiple targets allowed using bounding box). We can do away with complicated targeting schemes involving selectTokens().
- Application state toggles. Hard to describe. Just watch the video ;)
* Too many minor ones to list. Check comments in the source once opened.
Refactoring:
- Separated event hooks from tools e.g. Pointer tool
- Changed to GSON for handling JSONs
- Updated dependencies to modern libraries
- Optimized MapTool models e.g. Zone, Token
- Implemented GUAVA where it would make an impact
- Updating old code to better alternatives found with the use of Java 7
- Serialization is not based on the Java standard anymore, but on a speedier and more efficient 3rd party library.
- Global macros persist elsewhere i.e. In Windows: not in the registry. Backward compatibility to be addressed in the future.
Usage change:
- Line tool, Oval tool, Ovalt topology tool - changed from mousePressed to mouseReleased for a more seamless feel
- For desktop clients: Focus changes depending on where the mouse pointer is. Wherever it hovers over, that’s where the context is. This promotes tool interaction with one hand on the keyboard and another on the mouse. Try it, you’ll like it! This is especially when working with tools on the actual map.
- Changed what mouse buttons do per tool. For example, right clicking when using a VBL tool undoes the last drawn VBL object; the same goes for all drawing tools.
- abort() triggers on a value of 0 or less, as opposed to just 0.
- Maps or zones need unique names
- Hotkeys work depending on where the focus is.
- The status panel is up top where it is more noticeable. This will be replaced in the future with a more robust display.
- Anything that had to do with the GUI is tossed into the Layout menu.
Mote-specific Bug fixes (beyond what was submitted to the core MapTool source):
- GUI "blinking" after a refresh
- json.indent: ignores indent parameter.
- HTML pane traversal behaviour
- Input function: First component focus is wrong and other traversal issues - related to TinyLaf theme
- Command panel does not fire numerical hotkeys.