jamztheman / maptool Goto Github PK
View Code? Open in Web Editor NEWThis project forked from rptools/maptool
Now Infused with Nerps!
Home Page: http://maptool.nerps.net
License: GNU Affero General Public License v3.0
This project forked from rptools/maptool
Now Infused with Nerps!
Home Page: http://maptool.nerps.net
License: GNU Affero General Public License v3.0
Reported by Wolph42
In 1.4.3.20, the yellow vbl turned on for a long stretched token is rotated a bit
https://files.slack.com/files-pri/T0RQMKMEK-F6LKWFT7S/download/jamz_bugged_campaign_file.cmpgn
Reported by dorpond
To replicate: Click on the left side of a token and drag it left, now drag it right - do the same when you click on the right side of the token.
*Looks like what it is doing is onClick->drag it's using the tokens 0,0 position of the cell vs where the mouse button is clicked.
Hi, I seem to running into an error with the latest version of Maptool. The symptom is Maptool simply fails to launch; I double click the MapTool.exe file, and nothing at all happens. This happened immediately after I adjusted the minimum and maximum memory and the stack size. I assume I entered incompatible values, and that is somehow causing Maptool to fail to load. Things I have tried so far include re-installing Maptool, deleting the .maptool folder in my users folder, and deleting the MapTool folder in the Appdata\Local folder. MapTool version 1.4.3.20 still seem to work just fine for me. I hope this feedback helps to identify the issue, Thanks.
I get the following error with 1.4.4.0 build on OS X and Linux Mint whenever the Resource Library window is visible. It happens on startup and then everytime I try and click anything.
java.lang.NullPointerException at net.rptools.maptool.client.ui.assetpanel.ImageFileImagePanelModel.getImage(ImageFileImagePanelModel.java:162) at net.rptools.lib.swing.ImagePanel.paintComponent(ImagePanel.java:183) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JViewport.paint(JViewport.java:728) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JLayeredPane.paint(JLayeredPane.java:586) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
When I open Edit>>>Preferences>>>Start Settings and input the desired numbers setting they won't stay there. As soon as I click on the next setting it disappears. Went back to version 1.4.3.20, as this was causing stack overflow problems.
Updating JRE to use java 9 for packaging
ImageManager is attempting to load non-image assets (hero lab statblocks). Need to put some logic around this!
16:26:21.405 (ImageManager.java:318) [pool-6-thread-1] ERROR net.rptools.maptool.util.ImageManager - BackgroundImageLoader.run(D:\Google Drive\Map Tool Resources\Clint\WrathofRighteous\Players\Wrath.por/200/Grayson Darkhammer,6e0926e8e1440b068c3f6a5014a7bf80): image not resolved
java.io.IOException: Could not load image
at net.rptools.lib.image.ImageUtil.bytesToImage(ImageUtil.java:279) ~[bin/:?]
at net.rptools.maptool.util.ImageManager$BackgroundImageLoader.run(ImageManager.java:316) [bin/:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]
When i first launched the 1.4.4.0.exe, I loaded a framework that was throwing stack errors. I changed the settings within the preferences to 2024 512 3. Since then I am unable to launch the .exe because it gives me a error saying Failed to Create JVM followed by a Failed to Launch JVM. I have tried to uninstall maptools but it gives same errors even after reinstalling. I am assuming there may be some left over pref files that I am missing.
Side note, I can launch it with the .jar file. I guess since it uses different java files?
This enhancement adds a new property to lights called lumens.
A negative value, say -20, will subtract "light", therefore creating darkness. Lights are processed in absolute order, so lets say you have the following:
(0) The torch light will first be drawn
(20) The darkness will then draw over the torch light (covering it up)
(60) Daylight will then draw over the darkness
(100) Finally, the Deeper Darkness will draw over everything else so far defined.
The default darkvision definition be changed to [b]Darkvision: circle r60[/b] (i.e. remove the 'distance=62.5' part), so that darkvision doesn't limit player sight during the daytime. The default definition means that a player with darkvision (e.g. an elf) can't see very far when Map->Vision is set to 'Day', which is counter intuitive.
Reported: http://forums.rptools.net/viewtopic.php?f=3&t=27164&p=267900#p267900
Transition from jWrapper to Oracle javapackager.
Pros:
Cons
1.4.4.1 no longer shows the Edit>Preferences menu option on OS X.
It was there in 1.4.4.0 and is still there in 1.4.4.1 on Windows.
I say that the 1.4.4.0 branch had fixes for the adding a new state error that I keep receiving on 1.4.3.20, so I thought I would give it a try. I did gradlew build and it completed without errors. I found in the build/distributions folder a tar file, which I extracted. I changed directory to the extracted dir and ran ./bin/MapTool. The program seems to load alright, but when I go to Edit --> Preferences, I get the following error:
java.lang.UnsatisfiedLinkError: no packager in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at jdk.packager.services.userjvmoptions.LauncherUserJvmOptions.<clinit>(LauncherUserJvmOptions.java:53)
at jdk.packager.services.UserJvmOptionsService.getUserJVMDefaults(UserJvmOptionsService.java:58)
at net.rptools.maptool.util.UserJvmPrefs.getJvmOption(UserJvmPrefs.java:60)
at net.rptools.maptool.client.ui.PreferencesDialog.setInitialState(PreferencesDialog.java:873)
at net.rptools.maptool.client.ui.PreferencesDialog.<init>(PreferencesDialog.java:294)
at net.rptools.maptool.client.AppActions$13.execute(AppActions.java:575)
at net.rptools.maptool.client.AppActions$ClientAction.actionPerformed(AppActions.java:2828)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
The message on the console output seems to repeat the above:
Logging stacktrace to Sentry.IO! :: no packager in java.library.path
What packager is this talking about? A Google search of "no packager in java.library.path" doesn't return anything helpful. Is this a depend that needs to be added to gradle.build so it's bundled with it?
Opening BoT campaign with jvm default stack size caused fatal error...
https://sentry.io/nerps/nerps-maptool/issues/338315719/
StackOverflowError: None
at java.util.regex.Pattern$CharProperty$1.isSatisfiedBy(Pattern.java:3771)
at java.util.regex.Pattern$7.isSatisfiedBy(Pattern.java:5271)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3776)
at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
...
(1019 additional frame(s) were not displayed)
Need to add tokenOpacity and any other new fields to export class to strip out.
Reported: http://forums.rptools.net/viewtopic.php?f=3&t=27164
When you move a light source which has bright and dim light radii, the light is sometimes (apparently randomly) displayed correctly or at other times the bright light extends to the radius that the dim light was supposed to. This problem didn't occur using maptool 1.4.0.0 on the same OS, so seems to have crept into the code recently.
There was a change in Java 9 that causes the AppUpdate check to fail and as such 1.4.4.1 will not prompt to download new releases from GitHub when available.
This function is fixed and will resume working in 1.4.4.2.
V1.4.3.20
Really simple to reproduce:
Now, this bug will no long rear its head, during this instance of MT - I can open other campaigns and everything will work fine. This issue only seems to happen one time during a new instance of MT.
Currently, if multiple light sources overlap on the same grid point, the colors combine. It can be hard to tell exactly which light sources are overlapping.
I propose adding an optional keyword border to light definitions, which would create a 1 pixel wide black border at the edge of the light source.
Here's an example: 3 overlapping auras are indistinct and it's not obvious if the signpost token is covered by 1 or 2 auras.
With the border keyword, it's obvious that the signpost is covered by 2 auras.
Add macro to take screenshots and auto save them to...? Directory next to chat log saves?
NOTE: This was using the standalone JAR file download.
Attempting to use Edit/Preferences produces the following:
java.lang.UnsatisfiedLinkError: jdk.packager.services.userjvmoptions.LauncherUserJvmOptions._getUserJvmOptionKeys()[Ljava/lang/String;
at jdk.packager.services.userjvmoptions.LauncherUserJvmOptions._getUserJvmOptionKeys(Native Method)
at jdk.packager.services.userjvmoptions.LauncherUserJvmOptions.getUserJVMOptions(LauncherUserJvmOptions.java:128)
at net.rptools.maptool.util.UserJvmPrefs.getJvmOption(UserJvmPrefs.java:75)
at net.rptools.maptool.client.ui.PreferencesDialog.setInitialState(PreferencesDialog.java:871)
at net.rptools.maptool.client.ui.PreferencesDialog.<init>(PreferencesDialog.java:292)
at net.rptools.maptool.client.AppActions$13.execute(AppActions.java:575)
at net.rptools.maptool.client.AppActions$ClientAction.actionPerformed(AppActions.java:2828)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
...
When saving token and token images, file save dialog defaults to app directory and should default to last save location. Also, changing save 'type" resets directory location.
I get this error first time I disconnect from the server while hosting:
java.lang.NullPointerException at net.rptools.maptool.util.UPnPUtil.closePort(UPnPUtil.java:207) at net.rptools.maptool.client.MapTool.disconnect(MapTool.java:1108) at net.rptools.maptool.client.MapTool.stopServer(MapTool.java:984) at net.rptools.maptool.client.AppActions.disconnectFromServer(AppActions.java:2007) at net.rptools.maptool.client.AppActions$57.execute(AppActions.java:1999) at net.rptools.maptool.client.AppActions$ClientAction.actionPerformed(AppActions.java:2828) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369) at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(Unknown Source) at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343) at java.desktop/java.awt.Component.processEvent(Component.java:6343) at java.desktop/java.awt.Container.processEvent(Container.java:2259) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736) at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Second time everything goes through fine I got this problem in the 1.4.4.0 also.
When I draw with the MT drawing tools, I draw using a variety of textures on my map. In addition, I might spend many days (or weeks) drawing a map to completion.
Sometimes I want to draw again, but I forgot where I have it in my Resource Library and what version of that specific texture it was (my texture library is huge, sometimes even having 50/100/200 of each texture! (which I would also love to see a texture scaler built in to MT to eliminate the need for multiple pixel versions of each assets)).
Request: In the texture picker within our current drawing tool, if we also had a list of all the textures we are currently using on that map and could choose from on of them, that would be awesome, and speed up the GM's job of getting that next session ready.
Maps with large background images and large numbers (like 40+) of light sources are reasonably usable in 1.3b91. There is a slight lag when moving tokens but it's less than a few seconds.
The same map, loaded into 1.4.4, is completely unusable. There is a delay of 40-90 seconds between dragging a token and the map being updated to reflect the movement.
Steps to reproduce:
Reported via Forums:
http://forums.rptools.net/viewtopic.php?f=60&t=23681&p=268865#p268861
Regarding UPnP, I don't need to use it! Just a very minor, circumventable annoyance/non-optimal thing. I can just port forward and it's just as well as long as my local IP doesn't change - or I can just put up with having to disconnect twice, which is really not a huge strain. Here's the full error text when disconnecting with UPnP on:
1.4.1.8 doesn't have this issue. 1.4.0.5 doesn't seem to work with port forwarding on my particular router at all, but that's a different problem.
Router: Netgear WNDR3700
Stacktrace
java.lang.NullPointerException
at net.rptools.maptool.util.UPnPUtil.closePort(UPnPUtil.java:207)
at net.rptools.maptool.client.MapTool.disconnect(MapTool.java:1108)
at net.rptools.maptool.client.MapTool.stopServer(MapTool.java:984)
at net.rptools.maptool.client.AppActions.disconnectFromServer(AppActions.java:2007)
at net.rptools.maptool.client.AppActions$57.execute(AppActions.java:1999)
at net.rptools.maptool.client.AppActions$ClientAction.actionPerformed(AppActions.java:2828)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at de.muntjak.tinylookandfeel.TinyMenuItemUI.doClick(Unknown Source)
at de.muntjak.tinylookandfeel.TinyMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Request by KataH @ http://forums.rptools.net/viewtopic.php?f=4&t=27311&p=267675#p267675
...add just a single line of Text to the TokenTool image. This way you could use the same image but have text, like at the bottom of the image, such as Standing, Sitting, Kneeling, Crawling, Prone, etc.
A nice clean font like Arial or such plus a way to size it as well (because if it gets to small it will be unreadable)...
Reported by: Wolph42
Token menu, vbl tab at the bottom "hide preivew"
Campaign properties, sight tab: no new line before "distance = y - Distance...."
Token opacity value in the token editor initially says "1" and changes to "100%" as soon as you interact with it.
Vision already has this setting, need to add "offset" to lights/auras so cones can also offset to match vision.
Add a screen capture utility like TokenTool and allow as texture.
Useful to copy background of map and paste over secret doors or other markings baked into a map.
Add it!
Create a snipping tool like the one Trevor added to TokenTool, so that we can snip part of a bound map and instantly make that a object/background texture or drawable, so that we can now use that when adding/modifying to the map.
Use cases:
Reported by paulstrait
One other issue: When I try to add a new state and upload a new image, I get a java.lang.ArrayIndexOutOfBoundsException. I can take an old state I already have and modify it. Also if I try to create a new state that doesn't involve an image (e.g., a dot), the 'Add' button is grayed out.
When you add a new "state" you can now "insert" that state anywhere in the list. But it looks like I forgot to initialize the array index when that dialog loads. A workaround is to simply click up the list anywhere and then add the new state and it should work. (then move it down if you want it at the bottom)
First, thanks for your contributions to this!
I tried to launch Maptools on my Mac running High Sierra, and it fails silently. I did some searching and it might be due to https://stackoverflow.com/questions/46438558/unable-to-launch-jwrapper-under-macos-high-sierra.
Thanks!
Sentry client was not properly configured for "Releases".
Sentry will now properly tie version tag info to Git commit SHA and add MapTool version tag.
Expand current native walker methods to implement A* pathfinding taking VBL (and future terrain costs) into account.
1.4.1.7 and 1.4.3.20 (note: this problem does not exist in 1.3B91)
Simply put, when lighting is turn on or off on a token (GM side), the changes are not immediately reflected on the client side until a token is clicked.
Settings I used in test:
Start Server: Strict Token Ownership and Restricted Player Impersonation were checked. I also tried both I.View On and Off with no difference.
MT Vision: Night
FOW: On
VBL: Yes, rooms were all traced with VBL.
Steps:
Allow player owned tokens without "sight" to move within any area other player owned tokens can "see".
Reason/example: Wizard summoned spell token, ie Flaming Sphere, doesn't have sight but Wizard needs to be able to move token when Individual FoW is on.
Begin migration of MapTool to Java FX!
Currently there is no way to set token property Owned by All, you can only set individual ownership.
Proposed macro function setOwnedByAll(boolean [,tokenID]) returns boolean
Add an automated error reporting tool that sends stacktraces and debug info to Sentry.io for analysis!
No personal data is sent, only Java Stacktraces and if you have a MapTool server, the server settings (no passwords are sent).
*Note: Opeing issue retroactively for tracking and awareness.
Add mechanism to check for a new MapTool version on every load and prompt user to either download it or direct them to the page... Possibly auto-update...
To be able to store multiple token images per token. In addition, have a macro to be able to switch those images.
Having to depend on many tables (or one huge one that they all share) to pull this off is just silly (imagine having 45 RPToks that can change shape).
The way I see it, everything token related should be inside the RPTok, including their multiple images - not externally in tables, that may not even exist in your current campaign..
Updated spotless to 3.7.0 and added background image for macos install process
As it is, it is too confusing. If an owner is already selected and we check 'All Players', it won't save and nothing happens. Observing who has ownership will still show the previous owner and 'All Players' is not checked, even though we checked it and saved it.
The only way All Players stays checked after a save, is if all previous owners are unchecked first.
I just think this area could use improvement.
Options:
https://sentry.io/nerps/nerps-maptool/issues/400070924/
IllegalArgumentException: Width (0) and height (1) cannot be <= 0
at net.rptools.maptool.client.ui.drawpanel.DrawablesPanel.drawDrawables(DrawablesPanel.java:93)
at net.rptools.maptool.client.ui.drawpanel.DrawablesPanel.paintComponent(DrawablesPanel.java:85)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
...
(33 additional frame(s) were not displayed)
Width (0) and height (1) cannot be <= 0
Reported here: http://forums.rptools.net/viewtopic.php?f=3&t=27164
Looks like lights with no ownership are not updating the FoW properly when moved. Looks to be an issue with new 'ownership' code.
Per the wiki
As of 1.3.b63 there appears to be a bug in which token states are not rendered properly after calling sendToBack or bringToFront. As a work-around, macros should change the token ordering first, then turn states on or off.
If no lights are on a map, players can see npc movement through soft fow!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.