MapTool 1.3 Final, patch04 (build 87)

New build announcements plus site news and changes.

Moderators: dorpond, trevor, Azhrei, Craig

User avatar
CoveredInFish
Demigod
Posts: 3104
Joined: Mon Jun 29, 2009 10:37 am
Location: Germany
Contact:

Re: MapTool 1.3 Final, patch04 (build 87)

Post by CoveredInFish »

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 :(

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: MapTool 1.3 Final, patch04 (build 87)

Post by aliasmask »

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.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Azhrei »

CoveredInFish 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).
+1

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:
Programming is like sex: you make one mistake and spend the rest of your life paying for it.
He was, of course, referring to the addition of functions that are part of the public interface of an application. ;)

Lee
Dragon
Posts: 958
Joined: Wed Oct 19, 2011 2:07 am

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Lee »

Azhrei wrote:
CoveredInFish 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).
+1

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:
Programming is like sex: you make one mistake and spend the rest of your life paying for it.
He was, of course, referring to the addition of functions that are part of the public interface of an application. ;)
:lol: I do see what you mean XD

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? :D

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

temp

Post by aliasmask »

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.
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)
After a crash, or other irregular shutdown I sometimes get this error:
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)

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch01 (build 84)

Post by Azhrei »

aliasmask wrote: at javax.swing.text.html.BlockView.layoutMinorAxis(Unknown Source)
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...
After a crash, or other irregular shutdown I sometimes get this error:
So the string "Start up Error" appears in the log file? I don't think I've ever seen that string before.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Azhrei »

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...

User avatar
DJuego
Cave Troll
Posts: 84
Joined: Fri Jun 01, 2007 1:54 pm

Re: MapTool 1.3 Final, patch04 (build 87)

Post by DJuego »

:oops: 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. :twisted: 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. :mrgreen:

DJuego

My two-cents

PS: Sorry for my terrible English.

User avatar
aliasmask
RPTools Team
Posts: 9024
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: MapTool 1.3 Final, patch01 (build 84)

Post by aliasmask »

Azhrei wrote:
aliasmask wrote: at javax.swing.text.html.BlockView.layoutMinorAxis(Unknown Source)
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...
After a crash, or other irregular shutdown I sometimes get this error:
So the string "Start up Error" appears in the log file? I don't think I've ever seen that string before.
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).

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.

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch01 (build 84)

Post by Azhrei »

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).
I suppose that could be Java, but...
Regarding the "HTML display library that comes with Java", is that one of the things updated recently?
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.

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. :()
I'm thinking is was just java becoming unstable on my system, because I can't duplicate the problem.
Which also points to memory and/or drive failure.
I accidentally posted this under the wrong thread since it is b87 related.
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. ;)

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Azhrei »

DJuego wrote::oops: I am sorry but... There are a whole bunch of -more or less- important changes in b88. A bunch!
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...
PS: Sorry for my terrible English.
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! ;))

User avatar
Full Bleed
Demigod
Posts: 4736
Joined: Sun Feb 25, 2007 11:53 am
Location: FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Full Bleed »

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...
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.
Maptool is the Millennium Falcon of VTT's -- "She may not look like much, but she's got it where it counts."

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Azhrei »

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. :)

User avatar
StarMan
Dragon
Posts: 939
Joined: Mon Jul 18, 2011 1:10 pm
Location: Toronto

Re: MapTool 1.3 Final, patch04 (build 87)

Post by StarMan »

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?
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.
StarMan - The MacroPolicebox D&D 4E Framework: Import ANYTHING!

User avatar
Azhrei
Site Admin
Posts: 12086
Joined: Mon Jun 12, 2006 1:20 pm
Location: Tampa, FL

Re: MapTool 1.3 Final, patch04 (build 87)

Post by Azhrei »

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").

Post Reply

Return to “Announcements”