MapTool 1.3 Final, patch04 (build 87)
Moderators: dorpond, trevor, Azhrei, Craig
- CoveredInFish
- Demigod
- Posts: 3104
- Joined: Mon Jun 29, 2009 10:37 am
- Location: Germany
- Contact:
Re: MapTool 1.3 Final, patch04 (build 87)
Before modifying MT itself you could solve the scenario by multiple calls of getTokens() (each for just one state) and joining the results (there are mighty json-functions for that too).
While I agree that it would be nicer to have a better control over the underlying logic I doubt that such a patch has any chance to break the feature freeze. There were stuff rejected that hadnt even such a simple workaround
While I agree that it would be nicer to have a better control over the underlying logic I doubt that such a patch has any chance to break the feature freeze. There were stuff rejected that hadnt even such a simple workaround
Re: MapTool 1.3 Final, patch04 (build 87)
Do you have tokens on the token layer that don't fall in to those categories? When using getTokens I almost always have to have a follow up loop anyway for validation, especially for verifying a token can be seen (because GMs can see all tokens). Plus, a single loop is probably faster than multiple getTokens. That can be slow at times, especially if the map has a lot of tokens on it and the type of search you're doing. To help improve search time, I almost always include radius as a condition.
Downloads:
- Notepad++ MapTool addon
- RPEdit details (v1.3)
- Coding Tips: Modularity and Design
- Videos: Macro Writing Tools
Re: MapTool 1.3 Final, patch04 (build 87)
+1CoveredInFish wrote:Before modifying MT itself you could solve the scenario by multiple calls of getTokens() (each for just one state) and joining the results (there are mighty json-functions for that too).
One call to getTokens for each state, then use of Wiki: json.union(), Wiki: json.intersect(), or similar would suffice.
One thing I learned (somewhat late) in my programming career: never provide convenience functions unless there's a demonstrably significant case for them. It all comes down to a quote from an ex-Amiga developer:
He was, of course, referring to the addition of functions that are part of the public interface of an application.Programming is like sex: you make one mistake and spend the rest of your life paying for it.
Re: MapTool 1.3 Final, patch04 (build 87)
I do see what you mean XDAzhrei wrote:+1CoveredInFish wrote:Before modifying MT itself you could solve the scenario by multiple calls of getTokens() (each for just one state) and joining the results (there are mighty json-functions for that too).
One call to getTokens for each state, then use of Wiki: json.union(), Wiki: json.intersect(), or similar would suffice.
One thing I learned (somewhat late) in my programming career: never provide convenience functions unless there's a demonstrably significant case for them. It all comes down to a quote from an ex-Amiga developer:
He was, of course, referring to the addition of functions that are part of the public interface of an application.Programming is like sex: you make one mistake and spend the rest of your life paying for it.
I only have PC/NPC tokens on the token layer, A.M. I was thinking it would improve processing speed to limit possible layers and states as such, though I haven't really sat down and done any benchmarks. I use the other layers for everything else with the same idea in mind.
Thanks for the tips CiF, Azhrei. While I did dabble with those, I found that (in my framework at least) as mentioned by A.M., these functions (getTokens etc) can produce a bit of a slowdown depending on the context which was why I wanted to make a neat, done-in-one solution. hehe. But you're right, the suggestions do get the job done like what I did in my workaround
On a broader perspective, I guess once the development team releases b88 and work starts on 1.4, everyone remains free to make their own extensions to 1.3 for personal consumption. I was wondering when that time comes, can people come to this forum and ask "could you point me to where in the code is <blank> so I can tool around..." questions?
My stuff for the community:
Donate to the Mote Project
The Mote Project's G+ community
Mote on Facebook
Fully Customizable Calendar Drop-in
Donate to the Mote Project
The Mote Project's G+ community
Mote on Facebook
Fully Customizable Calendar Drop-in
temp
I had a fairly buggy night myself. Lots of server crashes and lockups. I usually don't pay attention to those because my system memory is very suspect. I kept getting this error when trying to open a frame generated by my spell reference library. I figure my stack may have been too low. After I up'd it, I didn't get the error, but the error doesn't always come up either.
After a crash, or other irregular shutdown I sometimes get this error:
Spoiler
Code: Select all
Frame Error
2011-12-18 13:48:02,765 [swing.MapToolEventQueue:45] ERROR - java.lang.ArrayIndexOutOfBoundsException: 1
java.lang.ArrayIndexOutOfBoundsException: 1
at javax.swing.text.html.BlockView.layoutMinorAxis(Unknown Source)
at javax.swing.text.BoxView.setSpanOnAxis(Unknown Source)
at javax.swing.text.BoxView.layout(Unknown Source)
at javax.swing.text.BoxView.setSize(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(Unknown Source)
at javax.swing.plaf.basic.BasicTextUI.getPreferredSize(Unknown Source)
at javax.swing.JComponent.getPreferredSize(Unknown Source)
at javax.swing.JEditorPane.getPreferredSize(Unknown Source)
at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
at java.awt.Container.layout(Unknown Source)
at java.awt.Container.doLayout(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validateTree(Unknown Source)
at java.awt.Container.validate(Unknown Source)
at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Spoiler
Code: Select all
Start up Error
java.lang.NullPointerException
at net.rptools.maptool.client.ui.zone.ZoneRenderer.renderTokens(ZoneRenderer.java:2366)
at net.rptools.maptool.client.ui.zone.ZoneRenderer.renderZone(ZoneRenderer.java:1085)
at net.rptools.maptool.client.ui.zone.ZoneRenderer.paintComponent(ZoneRenderer.java:680)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:38)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Downloads:
- Notepad++ MapTool addon
- RPEdit details (v1.3)
- Coding Tips: Modularity and Design
- Videos: Macro Writing Tools
Re: MapTool 1.3 Final, patch01 (build 84)
That would seem to indicate some problem in the HTML display library that comes with Java. It might be badly formed HTML or maybe the HTML is fine, but the code is interpreting it incorrectly...aliasmask wrote: at javax.swing.text.html.BlockView.layoutMinorAxis(Unknown Source)
So the string "Start up Error" appears in the log file? I don't think I've ever seen that string before.After a crash, or other irregular shutdown I sometimes get this error:
Re: MapTool 1.3 Final, patch04 (build 87)
Of course. But I don't expect the answers will come much from the core team.
I do plan to continue with updates for translation files (pretty easy to do) and maybe if someone finds a massive bug that *must* be fixed, but the small stuff is going to be skipped...
I do plan to continue with updates for translation files (pretty easy to do) and maybe if someone finds a massive bug that *must* be fixed, but the small stuff is going to be skipped...
Re: MapTool 1.3 Final, patch04 (build 87)
I am sorry but... There are a whole bunch of -more or less- important changes in b88. A bunch!
I do not say to change the plan a bit No! I suggest a final release in two or three steps. My two cents is that a true final release must be tested openly.
Yes. I admit it seems a cyclical nightmare. But the community can embark in quality control better while the development team iron out the bugs of the current list simultaneously. Fresh and hot. Later is too late. My opinion
Not hunting of small bugs. Only -new- critical/stability/very important bugs. b87 is too far. Not enough real playing with SVN version i think.
It is simple psychological war. Better a b90 true final release for b88/b89 releases candidates than b90 fix or b91 re-fix for b88 final candidate or b89 final-final candidate.
It will be a useful and inmediate safety valve for stress. The ending would be conspicuously further nearby. The community could encourage its heroes and the heroes would see an immediate result of their work.
DJuego
My two-cents
PS: Sorry for my terrible English.
I do not say to change the plan a bit No! I suggest a final release in two or three steps. My two cents is that a true final release must be tested openly.
Yes. I admit it seems a cyclical nightmare. But the community can embark in quality control better while the development team iron out the bugs of the current list simultaneously. Fresh and hot. Later is too late. My opinion
Not hunting of small bugs. Only -new- critical/stability/very important bugs. b87 is too far. Not enough real playing with SVN version i think.
It is simple psychological war. Better a b90 true final release for b88/b89 releases candidates than b90 fix or b91 re-fix for b88 final candidate or b89 final-final candidate.
It will be a useful and inmediate safety valve for stress. The ending would be conspicuously further nearby. The community could encourage its heroes and the heroes would see an immediate result of their work.
DJuego
My two-cents
PS: Sorry for my terrible English.
Re: MapTool 1.3 Final, patch01 (build 84)
No, the first line of each was something I added to remind me what the error was. My system was acting up especially bad that night until I decided to start logging some of the errors to look at later. I have a screen shot too of the library frame opening with title bar, it shoving the rest of the frames over to make room, but the frame contents just duplicated the area that was beneath it (like during a typical Windows window freeze).Azhrei wrote:That would seem to indicate some problem in the HTML display library that comes with Java. It might be badly formed HTML or maybe the HTML is fine, but the code is interpreting it incorrectly...aliasmask wrote: at javax.swing.text.html.BlockView.layoutMinorAxis(Unknown Source)
So the string "Start up Error" appears in the log file? I don't think I've ever seen that string before.After a crash, or other irregular shutdown I sometimes get this error:
Regarding the "HTML display library that comes with Java", is that one of the things updated recently? I'm thinking is was just java becoming unstable on my system, because I can't duplicate the problem.
I accidentally posted this under the wrong thread since it is b87 related.
Downloads:
- Notepad++ MapTool addon
- RPEdit details (v1.3)
- Coding Tips: Modularity and Design
- Videos: Macro Writing Tools
Re: MapTool 1.3 Final, patch01 (build 84)
I suppose that could be Java, but...aliasmask wrote:I have a screen shot too of the library frame opening with title bar, it shoving the rest of the frames over to make room, but the frame contents just duplicated the area that was beneath it (like during a typical Windows window freeze).
Not by RPTools. When I said "comes with Java" I meant that it wasn't an RPTools library nor a third-party library -- i.e. "it comes with Java". I suppose something could have broken in 1.6.0_29 but that seems pretty unlikely because a lot of other people would be reporting it as well. More likely the data on the drive is screwed up. If you've got memory problems, Windows could be writing data anywhere on the drive without you knowing about it and some of those places could be causing completely unpredictable behaviour.Regarding the "HTML display library that comes with Java", is that one of the things updated recently?
It's also possible you've got a drive that is about to fail. If you have SMART turned on you might check it and see if it's reporting problems on that drive. SMART is usually a BIOS display screen although OSes I'm familiar with have user land tools to query it as well.
If this is the case, immediately switch to a new drive and stop using the existing one. You need to boot from a new drive and make the old drive "read-only" for all intents and purposes or things will only get worse. (I've seen it and it isn't pretty. )
Which also points to memory and/or drive failure.I'm thinking is was just java becoming unstable on my system, because I can't duplicate the problem.
I moved it here. It put the posts in chronological order instead of just tacking them onto the end. I'm not sure what I expected it to do, but I suppose that makes sense.I accidentally posted this under the wrong thread since it is b87 related.
Re: MapTool 1.3 Final, patch04 (build 87)
Yeah, but I need to "pinch it off". Hence the delay on getting b88 out. But I may breakdown and get it out there anyway. I do understand about having the broader community test it...DJuego wrote: I am sorry but... There are a whole bunch of -more or less- important changes in b88. A bunch!
Hah! Your English is better than my Spanish, Italian, German, Greek, Polish, Russian, or any other language (mostly because I don't know any of them!). You really don't need to apologize. (But a contribution to a translation file would be quickly accepted! )PS: Sorry for my terrible English.
- Full Bleed
- Demigod
- Posts: 4736
- Joined: Sun Feb 25, 2007 11:53 am
- Location: FL
Re: MapTool 1.3 Final, patch04 (build 87)
You might want to post your current todo list, too... You've taken a lot on your shoulders for the finalization of 1.3. Maybe it would inspire some others to dive in and give you a patch or two on some outstanding issues.Azhrei wrote:Yeah, but I need to "pinch it off". Hence the delay on getting b88 out. But I may breakdown and get it out there anyway. I do understand about having the broader community test it...
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."
Re: MapTool 1.3 Final, patch04 (build 87)
I did. It's in the Developer Notes forum. And username has contributed a few small bug fixes so far, some which are conceptually very important and are time-consuming to hunt down. So we're good in that regard.
Re: MapTool 1.3 Final, patch04 (build 87)
Having this problem as well with Build 87 on OS X with Rumble's F9 frame. I have tried shortcut keys to close it but nothing happens. Maybe Java frames are immune to Mac shortcuts? Obviously the workaround is to close/restart MapTool but we shouldn't have to do that.aliasmask wrote:Related to the frame issue. One of my players on a MAC kept having his new windows appear in the upper left corner, but the top bar was above the screen. So he couldn't move it or close it. I'm not a Mac person so I couldn't give him advice on this, but having new frames appear centered the first time like dialogs would resolve that in any case.
Anyone have any advice on how to get past this on the mac?
StarMan - The MacroPolicebox D&D 4E Framework: Import ANYTHING!
Re: MapTool 1.3 Final, patch04 (build 87)
I don't have all of the fixes I waint in b88 there yet, but I think I'm going to release it anyway. There's enough in it for people to test it out and it solves a bunch of the UPNP and Java 7 issues folks are having. I'll try to get this done RSN ("Real Soon Now").