MapTool 1.1 Development Release Build 25

New build announcements plus site news and changes.

Moderators: dorpond, trevor, Azhrei, Craig

Post Reply
User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

MapTool 1.1 Development Release Build 25

Post by trevor »

I figured the best way to see if everything is still working is to let you guys load your campaigns and see if any kinks pop out.

Build 25 (10/11/06)
* Reduce memory usage when using multiple maps
* Significant Image API changes
* Fix bug: Some images cause the Image Explorer to freeze up and the CPU to peg at 100%
* Fix bug: avoid "big bang" memory usage when loading all backgrounds on loading a campaign

Please load your campaigns, connect to your servers, and let me know what you find !
Dreaming of a 1.3 release

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Re: MapTool 1.1 Development Release Build 25

Post by dorpond »

trevor wrote:Please load your campaigns, connect to your servers, and let me know what you find !
Cool! Maybe tonight I'll do a public test again to see how well Tower Tavern and Undead City run.

Thanks Trevor!

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

That would be a useful test.

You might try a solo "Can I still load my campaigns" test first though, I changed a lot of core stuff and could have really broken a lot of things. So it would be useful to make sure it's at least working as well as it used to.
Dreaming of a 1.3 release

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

I noticed that the campaigns loaded up and function fine - locally that is.

Couple things I noticed so I thought I'd mention them:
- Are images loaded as they are needed now? I never really paid any attention before. One thing that I really don't care for and hopefully you can change this somehow - I really don't like when the players see the question marks or even stuff popping in as it loads. I really don't want the player knowing the things they can interact with. I can hear them already - "we will go over to that wierd statue and take the gem from it's staff" because they ended up seeing a question mark on top of the staff. Know what I mean?

- Even across a LAN, there seemed to be some delay going on. I thought the objects would have loaded faster. A good example: I loaded up one campaign and did some testing. At the host end, I loaded a different campaign and it must have taken around 30 seconds or so before the client knew what was going on and decided to switch. When I revealed a new FOW'd area, there is a good 10 seconds for several images to change from question mark to images. I just thought it would have been faster considering I am creating very low memory encounters and each object is only several K in size.

- Although FOW is turned on, the client can still see the whole mini map revealed.

So for my curiosity, what have you changed exactly? Again, maybe these things all existed before but I just noticed them.

Oh boy, I just checked to see how the memory looked overall. I loaded 4 different campaigns without restarting Maptool. As I load one, it tosses the other one which is what it should do. After I loaded the last one, I clicked on the memory bar down below and it registered 40meg which is good since I currently have no map loaded. So then I went to open another map (600k BMP) and Maptool is locked. Current memory is 62/152 and there is no activity except a Map Loading screen. UPDATE: Correction - Maptool didn't lock - it just never loaded the map so I said delete map. I will try to load it again. Result: Nothing, just getting the Loading Map screen.

Java Results:

TinyLaF v1.3.04
'Default.theme' not found - using YQ default theme.
java.net.SocketException: socket closed
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(Unknown Source)
at java.net.ServerSocket.implAccept(Unknown Source)
at java.net.ServerSocket.accept(Unknown Source)
at net.rptools.clientserver.simple.server.ServerConnection$ListeningThread.run(ServerConnection.java:207)
java.net.SocketException: Socket is closed
at java.net.ServerSocket.accept(Unknown Source)
at net.rptools.clientserver.simple.server.ServerConnection$ListeningThread.run(ServerConnection.java:207)
java.net.SocketException: Socket is closed
at java.net.ServerSocket.accept(Unknown Source)
at net.rptools.clientserver.simple.server.ServerConnection$ListeningThread.run(ServerConnection.java:207)
java.net.SocketException: Socket is closed
at java.net.ServerSocket.accept(Unknown Source)
at net.rptools.clientserver.simple.server.ServerConnection$ListeningThread.run(ServerConnection.java:207)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.JSplitPane.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JSplitPane.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.paint(Unknown Source)
at javax.swing.JComponent.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (0) and height (30) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.maptool.client.ui.zone.BoundedZoneRenderer.getMiniImage(BoundedZoneRenderer.java:110)
at net.rptools.maptool.client.ui.zone.ZoneSelectionPanel.paintComponent(ZoneSelectionPanel.java:165)
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.paintWithOffscreenBuffer(Unknown Source)
at javax.swing.JComponent.paintDoubleBuffered(Unknown Source)
at javax.swing.JComponent._paintImmediately(Unknown Source)
at javax.swing.JComponent.paintImmediately(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)
image fetch aborted or errored
Exception in thread "pool-4-thread-1" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:152)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:133)
at net.rptools.maptool.util.ImageManager$BackgroundImageLoader.run(ImageManager.java:182)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
image fetch aborted or errored
Exception in thread "pool-4-thread-2" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:152)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:133)
at net.rptools.maptool.util.ImageManager$BackgroundImageLoader.run(ImageManager.java:182)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


NOTE: I quit Maptool and ran it again. I just tried to open that same BMP and I got the same results.

Java dump:

TinyLaF v1.3.04
'Default.theme' not found - using YQ default theme.
Exception in thread "pool-4-thread-1" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source)
at java.awt.image.BufferedImage.<init>(Unknown Source)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:152)
at net.rptools.lib.image.ImageUtil.createCompatibleImage(ImageUtil.java:133)
at net.rptools.maptool.util.ImageManager$BackgroundImageLoader.run(ImageManager.java:182)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Could you send me the image ?
Dreaming of a 1.3 release

User avatar
Steel Rat
Great Wyrm
Posts: 1765
Joined: Tue Jun 13, 2006 5:55 pm
Location: Oak Harbor, WA
Contact:

Post by Steel Rat »

This sure doesn't look good: Exception in thread "pool-4-thread-1" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
Steel Rat
-----------
RPGMapShare.com - RPG Maps and Mapping objects.
Discord Server

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Hmm, that's a good point about the items popping up and "Hmmm let's takea closer look".

That's actually always been there. It might have slowed down a touch since I restricted the asset loading to one at a time to prevent the server from blowing up.

The plan was to get it stable, then with the development of 1.2 offload the image loading to a different connection which would allow loading all the map's assets without choking things like chat.

I could potentially still preemptively load images when you switch to a map.
Dreaming of a 1.3 release

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Steel Rat wrote:This sure doesn't look good: Exception in thread "pool-4-thread-1" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
It's possible that the image is having trouble loading, and is causing an invalid state when trying to convert it to a screen compatible format.

Just need to take a look at the image.
Dreaming of a 1.3 release

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

Update:
I did the same tests with B24.

- FOW on mini-map: that same problem existed in that version also.
- Images pop up question marks as FOW is remove: That problem didn't exist in B24. In other words, when the GM revealed part of the map, the players had no idea the gem on the staff was interactable. Well actually, in some situations there is a slight question mark - probably the time it take to load it from disk to memory.
- When I loaded another campaign after already having one up: Took the same amount of time for the client to switch with version B24.
- Loaded same BMP map in 24 and it loaded instantly.

So the only issues that are new are:
1. Question Mark poping during FOW removal.
2. Loading BMP won't load.
3. Bit slow on the client end when revealing images with FOW removal tool (stamps/background) because that is when the image transfer is being made. So in a nutshell, we were used to a quick client response when everything was in sync before but now, slowness occurs during game instead of in the beginning. Am I correct by that conclusion?

Trevor - the BMP is on its way!
Last edited by dorpond on Wed Oct 11, 2006 11:36 am, edited 1 time in total.

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Let me try being more aggressive about downloading stamp/background images. I think that will be fine now since it won't kill the server (memory-wise) and won't choke chat (it'll slow it down, but it will still come through).

When is your game night ?
Dreaming of a 1.3 release

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

trevor wrote:When is your game night ?
My game is cancelled next week due to an Iron Maiden concert in Toronto :)

You have plenty of time to digest this for a while. Thanks for asking Trevor! Next time I will be using Maptool for gaming: 11/23.

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

trevor wrote:
Steel Rat wrote:This sure doesn't look good: Exception in thread "pool-4-thread-1" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
It's possible that the image is having trouble loading, and is causing an invalid state when trying to convert it to a screen compatible format.

Just need to take a look at the image.
Looks like the image is broken. IE only displays half of the image, and other image loaders just choke.

For the record, I highly recomment using PNG instead of BMP. PNG is lossless compressed, BMP is uncompressed. PNGs give you the same quality at smaller file sizes.
Dreaming of a 1.3 release

dorpond
RPTools Team
Posts: 5534
Joined: Thu Jun 01, 2006 2:05 pm
Location: Buffalo, NY

Post by dorpond »

trevor wrote: Looks like the image is broken. IE only displays half of the image, and other image loaders just choke..
Must have broke in transfer - I zipped it and am sending again. I can open it in IE, Paint, Photoshop and B24 fine.

I normally make JPG and PNG. Some maps that I download are BMP and I usually leave them as is. Not many though.

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

dorpond wrote:
trevor wrote: Looks like the image is broken. IE only displays half of the image, and other image loaders just choke..
Must have broke in transfer - I zipped it and am sending again. I can open it in IE, Paint, Photoshop and B24 fine.

I normally make JPG and PNG. Some maps that I download are BMP and I usually leave them as is. Not many though.
Yup, the new one you sent works fine. I'll take a look.
Dreaming of a 1.3 release

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Apparently the older Java image lib doesn't like to read that file, and it's not telling me why ("Image load aborted"). Weird.

Well, pre b25 I used the new loader and defaulted to the older on failure.

Sounds like I need to use the older and default to the newer on failure.

Crazy.

Easy enough to do though.sarasaZ
Dreaming of a 1.3 release

Post Reply

Return to “Announcements”