[Drop-In] [Nerps!] VBL Tileset Library (BETA)

Show off your RPG maps, campaigns, and tokens. Share your gaming experiences and stories under General Discussion and save this forum for things you've created that may help others run their own games. Use the subforums when appropriate.

Moderators: dorpond, trevor, Azhrei, Gamerdude

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

Here a first attempt:

Note that this campaign file can only be opened in jamz special build (link in his sig.)
https://dl.dropboxusercontent.com/u/905 ... 0VBL.cmpgn

the drop-in can be loaded in version b89:
https://dl.dropboxusercontent.com/u/905 ... iles.rptok

In order to use the drop-in you 'll need the first two tilesets of Probono. OR build the library yourself.

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

Had some trouble running it. The onCampaignLoad didn't fire for my lib token and the onTokenMove errors because its calling EventMacro lib calls, the 2nd probably causing the first.

On building, I got pop ups for x,y coords but entering through them kinda built something.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

Yeah it's a life version and I was recently tinkering with them so it's possible that these issues are already fixed. And maybe new ones introduced...vill check later

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

ok weird. There were some issues left that I cleaned up, but overall onCampaignLoad won't execute on campaign load... do you know why? Maybe a bug in your build?

FIXED.

OnCampaignLoad vd onCampaignLoad... :roll:

got the timers working as well and rewrote your writeVBL partially... man that thing is slow. I think one reason is the getLibproperty which in itself is SLOOOW function and you need to call it EVERY tile. Hence a Database is required.

Also even one tile already takes about half a second to write, while using drawVBL takes about 1/100th of the time. It appears to me that the brush method from the BoT is WAY faster then this method.

here's the time log of one of my tries:
Creating 60x60 Dungeon:
Generating field...0.413s
Calculating Dungeon...3.051s
Placing Tiles...0.799s
Done! Total time: 4.283s

drawing VBL:
Done! Total time: 20.55s

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

Ya, there is room for improvement there. Would it be better to store all the data in a single JSON array? Then read the array back once and use JSON gets to get each array of points?

I also have to translate each x/y location so there's a for loop for each tile as well, not sure which is the timesync. I was sort of going for "functionality" first, performance next pass. 20 seconds still beats hand drawing and only has to be done once :)

Do you know if it makes any difference in speed in using a macros "apply for each token" vs a "get all tokens selected 'for each' loop"? The later seems like it would improve speed vs the former which would invoke several separate macro calls but not sure if it's significant?
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

JamzTheMan wrote:Ya, there is room for improvement there. Would it be better to store all the data in a single JSON array? Then read the array back once and use JSON gets to get each array of points?

I also have to translate each x/y location so there's a for loop for each tile as well, not sure which is the timesync. I was sort of going for "functionality" first, performance next pass. 20 seconds still beats hand drawing and only has to be done once :)

Do you know if it makes any difference in speed in using a macros "apply for each token" vs a "get all tokens selected 'for each' loop"? The later seems like it would improve speed vs the former which would invoke several separate macro calls but not sure if it's significant?
don't know, but as a matter of principle I don't sue the apply to selected token. I already changed that macro of yours. (the writevbl)
overall, one tile takes .45 seconds i know that getlibprop takes time, but the loop also.
heres the log of ONE tile VBL write...

Code: Select all

2013-05-16 21:38:01,575 [client.MapToolLineParser:1274] DEBUG - "drawTileVBL@Lib:VBL_DungeonTiles"
2013-05-16 21:38:01,576 [client.MapToolLineParser:1274] DEBUG - ""
2013-05-16 21:38:01,579 [client.MapToolLineParser:1274] DEBUG - '<!-- ----------------------------------------- drawTileVBL ------------------------------------------------- -->'
2013-05-16 21:38:01,581 [client.MapToolLineParser:1274] DEBUG - toks		= getSelectedNames()
2013-05-16 21:38:01,583 [client.MapToolLineParser:1274] DEBUG - assert(listCount(toks), "Select one or more tokens first...", 0)
2013-05-16 21:38:01,585 [client.MapToolLineParser:1274] DEBUG - currentPrefix = getLibProperty("Nerps.Tile.VBL.Set.Prefix.Current", "Lib:VBL_DungeonTiles")
2013-05-16 21:38:01,588 [client.MapToolLineParser:1274] DEBUG - bot_startTime()
2013-05-16 21:38:01,623 [client.MapToolLineParser:1274] DEBUG -  '<!-- ----------------------- bot_startTime ---------------------------------- -->'
2013-05-16 21:38:01,625 [client.MapToolLineParser:1274] DEBUG -  time	= json.get(getInfo("client"), "timeInMs")
2013-05-16 21:38:01,649 [client.MapToolLineParser:1274] DEBUG -  setLibProperty("w42.bot.startTime", time, "Lib:VBL_DungeonTiles")
2013-05-16 21:38:01,664 [client.MapToolLineParser:1274] DEBUG -  setLibProperty("w42.bot.subTime", time, "Lib:VBL_DungeonTiles")
2013-05-16 21:38:01,680 [client.MapToolLineParser:1274] DEBUG - toks
2013-05-16 21:38:01,685 [client.MapToolLineParser:1274] DEBUG - switchToken(tok)
2013-05-16 21:38:01,687 [client.MapToolLineParser:1274] DEBUG - tileName	= getName()
2013-05-16 21:38:01,688 [client.MapToolLineParser:1274] DEBUG - strEnd		= indexOf(tileName, " ")
2013-05-16 21:38:01,691 [client.MapToolLineParser:1274] DEBUG - if(strEnd == -1, 1, 0)
2013-05-16 21:38:01,696 [client.MapToolLineParser:1274] DEBUG - strEnd = length(tileName)
2013-05-16 21:38:01,698 [client.MapToolLineParser:1274] DEBUG - tileName	= substring(tileName, 0, strEnd)
2013-05-16 21:38:01,700 [client.MapToolLineParser:1274] DEBUG - propName	= "Nerps.Tile.VBL." + currentPrefix + "." + tileName
2013-05-16 21:38:01,702 [client.MapToolLineParser:1274] DEBUG - x			= getTokenX()
2013-05-16 21:38:01,703 [client.MapToolLineParser:1274] DEBUG - y			= getTokenY()
2013-05-16 21:38:01,709 [client.MapToolLineParser:1274] DEBUG - w			= getTokenWidth()
2013-05-16 21:38:01,711 [client.MapToolLineParser:1274] DEBUG - h			= getTokenHeight()
2013-05-16 21:38:01,712 [client.MapToolLineParser:1274] DEBUG - facing		= getTokenFacing()
2013-05-16 21:38:01,713 [client.MapToolLineParser:1274] DEBUG - Nerps.myRectJSON	= json.set("{ }", "shape", "rectangle", "x", x-1, "y", y, "w", w+2, "h", h+2, "fill", 1)
2013-05-16 21:38:01,723 [client.MapToolLineParser:1274] DEBUG - Nerps.VBL.Current	= getVBL(Nerps.myRectJSON)
2013-05-16 21:38:01,871 [client.MapToolLineParser:1274] DEBUG - Nerps.Tile.VBL		= getLibProperty(propName, "Lib:VBL_DungeonTiles")
2013-05-16 21:38:01,874 [client.MapToolLineParser:1274] DEBUG - len		= json.length(Nerps.Tile.VBL)
2013-05-16 21:38:01,891 [client.MapToolLineParser:1274] DEBUG - points		="[ ]" 
2013-05-16 21:38:01,893 [client.MapToolLineParser:1274] DEBUG - len
2013-05-16 21:38:01,894 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:01,899 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:01,924 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:01,927 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:01,930 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:01,937 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:01,944 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:01,946 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:01,950 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:01,954 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:01,959 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:01,965 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:01,968 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:01,975 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:01,980 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:01,984 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:01,988 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:01,993 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:01,998 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,000 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,003 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,007 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,011 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,013 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,016 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,020 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,024 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,026 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,029 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,032 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,036 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,038 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,042 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,046 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,050 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,052 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,056 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,059 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,064 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,067 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,070 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,074 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,078 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,080 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,087 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,091 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,096 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,098 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,101 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,105 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,108 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,111 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,115 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,118 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,122 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,124 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,128 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,131 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,133 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,135 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,139 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,142 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,144 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,146 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,150 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,153 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,156 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,158 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,167 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,169 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,171 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,173 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,178 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,180 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,182 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,184 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,238 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,240 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,241 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,244 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,249 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,251 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,252 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,254 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,258 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,260 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,261 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,263 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,267 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,269 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,270 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,272 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,276 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,278 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,279 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,281 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,286 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,287 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,289 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,290 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,295 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,296 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,298 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,299 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,304 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,305 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,307 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,308 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,313 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,314 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,315 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,317 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,322 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,323 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,325 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,326 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,331 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,332 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,334 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,336 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,393 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,403 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,405 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,413 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,432 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,434 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,441 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,443 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,447 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,449 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,450 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,452 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,456 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,457 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,458 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,460 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,464 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,466 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,467 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,469 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,474 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,475 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,477 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,478 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,484 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,485 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,486 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,488 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,493 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,494 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,496 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,497 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,503 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,504 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,505 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,507 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,511 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,512 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,514 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,515 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,520 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,522 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,523 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,525 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,529 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,530 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,531 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,533 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,537 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,539 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,540 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,541 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,546 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,552 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,553 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,554 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,559 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,560 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,561 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,562 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,567 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,568 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,569 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,571 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,575 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,576 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,578 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,580 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,584 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,586 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,587 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,588 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,594 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,596 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,597 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,599 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,604 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,610 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,612 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,613 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,620 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,622 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,623 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,624 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,629 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,635 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,636 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,638 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,642 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,643 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,645 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,646 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,650 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,652 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,653 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,654 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,659 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,660 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,661 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,662 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,668 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,670 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,671 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,672 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,677 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,679 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,680 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,681 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,686 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,687 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,688 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,690 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,694 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,696 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,697 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,698 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,703 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,704 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,705 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,707 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,711 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,712 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,713 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,715 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,719 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,720 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,721 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,723 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,727 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,728 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,729 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,731 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,735 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,736 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,737 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,739 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,743 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,744 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,745 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,747 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,751 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,752 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,753 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,755 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,759 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,760 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,761 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,763 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,767 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,768 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,769 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,770 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,774 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,776 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,777 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,778 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,782 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,783 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,784 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,786 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,791 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,793 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,794 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,796 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,802 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,804 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,805 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,806 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,812 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,813 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,814 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,816 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,821 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,823 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,824 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,826 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,831 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,833 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,834 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,835 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:02,841 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:02,843 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:02,844 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:02,845 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:03,097 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:03,099 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:03,100 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:03,101 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:03,104 [client.MapToolLineParser:1274] DEBUG - x2			= json.get(Nerps.Tile.VBL, i)
2013-05-16 21:38:03,105 [client.MapToolLineParser:1274] DEBUG - y2			= json.get(Nerps.Tile.VBL, i+1)
2013-05-16 21:38:03,107 [client.MapToolLineParser:1274] DEBUG - newPoints	= json.set("{ }", "x", x2 + x, "y", y2 + y)
2013-05-16 21:38:03,108 [client.MapToolLineParser:1274] DEBUG - points		= json.append(points, newPoints) 
2013-05-16 21:38:03,111 [client.MapToolLineParser:1274] DEBUG - Nerps.VBL.Final	= json.append("[]", json.set("{ }", "shape", "polygon", "facing", facing, "fill", 1, "close", 1, "thickness", 0, "points", points)) 
2013-05-16 21:38:03,116 [client.MapToolLineParser:1274] DEBUG - eraseVBL(Nerps.myRectJSON)
2013-05-16 21:38:03,176 [client.MapToolLineParser:1274] DEBUG - drawVBL(Nerps.VBL.Final)
2013-05-16 21:38:03,228 [client.MapToolLineParser:1274] DEBUG - broadcast("Done! Total time: "+bot_totalTime(1))
2013-05-16 21:38:03,229 [client.MapToolLineParser:1274] DEBUG -  '<!-- ----------------------- bot_totalTime([makeup]) ---------------------------------- -->'
2013-05-16 21:38:03,230 [client.MapToolLineParser:1274] DEBUG -  if(argCount() > 0, 1, 0)
2013-05-16 21:38:03,231 [client.MapToolLineParser:1274] DEBUG -  makeUp = arg(0)
2013-05-16 21:38:03,232 [client.MapToolLineParser:1274] DEBUG -  time			= json.get(getInfo("client"), "timeInMs")
2013-05-16 21:38:03,234 [client.MapToolLineParser:1274] DEBUG -  startTime	= getLibProperty("w42.bot.startTime", "Lib:VBL_DungeonTiles")
2013-05-16 21:38:03,235 [client.MapToolLineParser:1274] DEBUG -  resultTime	= time - startTime
2013-05-16 21:38:03,236 [client.MapToolLineParser:1274] DEBUG -  if(makeUp, 1, 0)
2013-05-16 21:38:03,236 [client.MapToolLineParser:1274] DEBUG -  resultTime = bot_formatTime(resultTime)
2013-05-16 21:38:03,237 [client.MapToolLineParser:1274] DEBUG -   '<!-- ----------------------- bot_formatTime(time in ms) ---------------------------------- -->'
2013-05-16 21:38:03,238 [client.MapToolLineParser:1274] DEBUG -   seconds		= arg(0)/1000
2013-05-16 21:38:03,239 [client.MapToolLineParser:1274] DEBUG -   minutes		= floor(seconds/60)
2013-05-16 21:38:03,241 [client.MapToolLineParser:1274] DEBUG -   seconds		= seconds - minutes*60
2013-05-16 21:38:03,241 [client.MapToolLineParser:1274] DEBUG -   hours			= floor(minutes/60)
2013-05-16 21:38:03,242 [client.MapToolLineParser:1274] DEBUG -   minutes		= minutes - hours*60
2013-05-16 21:38:03,243 [client.MapToolLineParser:1274] DEBUG -   macro.return	= if(hours, hours+"<b>h</b>","") + if(minutes, minutes+"<b>m</b>","") + seconds+"<b>s</b>"
2013-05-16 21:38:03,245 [client.MapToolLineParser:1274] DEBUG -  macro.return	= resultTime
2013-05-16 21:38:03,249 [macro.MacroManager:373] DEBUG - Starting macro: SayMacro----------------------------------------------------------------------------------
as you can see, the Nerps.Tile.VBL loop is the time sync, which takes by far the most time to apply

maybe one trick here is to implement a '+xOffset' in the saved data which we could replace with the actual value using a regex statement. That would effectively terminate the loop: 3,108- 1,874 = 1,234 time save of a total of 1.6s.

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

wolph42 wrote:edit: actually after some thought i would prefer if you got dropbox... its because i've got 4 pcs i work reguraly with and it would mean i have to install the drive to all 4. So unless you have the same issue...?
OK, installed dropbox so you should have another 500gb for your account ;) I just installed my dropbox folder inside my google drive folder, win win lol

So go ahead and share a folder if you want. I figured as a cheap "checkout method" I can just throw a "JAMZ_WORKING_ON_SUFF.txt" in the folder when I'm doing stuff unless there's another way?
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

JamzTheMan wrote:
wolph42 wrote:edit: actually after some thought i would prefer if you got dropbox... its because i've got 4 pcs i work reguraly with and it would mean i have to install the drive to all 4. So unless you have the same issue...?
OK, installed dropbox so you should have another 500gb for your account ;) I just installed my dropbox folder inside my google drive folder, win win lol

So go ahead and share a folder if you want. I figured as a cheap "checkout method" I can just throw a "JAMZ_WORKING_ON_SUFF.txt" in the folder when I'm doing stuff unless there's another way?
Apparently I maxed out on the referrals... I don't get no mails no more. I'll remove the link or change it.

The checkout text is the way to go. That's what I do with my fw dev team.

Note that a few hours ago I did the last update so you'll need to redownload or wait for an invite...

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

I just downloaded it at that time, but just doing some "investigating". The bot timer is neat :)

So on a 10x10 tile dungeon, I got the following times. Every portion seems significant and takes longer than to create the dungeon :(

I'm trying a few things for the longest portion at least and see what's what.

Done! Get Token Info time : 2.69s
Done! Get Lib Properties time : 5.13s
Done! Relocate tile x,y time : 18.079s
Done! Draw VBL time : 3.749s
Done! Total time: 29.716s

Edit: So I tried offloading the translocation to Java (Wyrframe's Patch has tx/ty parms) which eliminates the locate time but greatly increased the time it takes to get the x,y properties. To do this, I had to drop the x,y,x,y notation and save the properties as "x", x, "y", y notation, so the JSON doubled in size (61k characters to 121k). So the larger the JSON the longer it takes to get the value out of allVBLTypeData, which is just going to get worse as we add tiles.

End results:

Done! Get Token Info time : 2.786s
Done! Get Lib Properties time : 91.642s
Done! Relocate tile x,y time : 0s
Done! Draw VBL time : 3.833s
Done! Total time: 1m38.335s

I'll need to test this using individual lib properties again.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

the timer originated from CIF but when I started this project I needed it again and what CIF build has waaay to many bells and whistles, making it too cumbersome to use. So basically I rewrote the lot to 4 core functions (start, sub, total and format - Time) which work a lot easier.

maybe we can use a strprop structure instead of the json? 91s !! :shock: thats insane

Note that I've did extensive benchmarking in storing and retrieving massive amounts of properties on tokens and it turns out that there is an optimimum, from a certain point onwards it becomes really hard to retrieve the data. At the same time, storing too much into one property is killing as well (as you just proved). IRC the optimum lies around 200 properties and then it goes downhill.

where can i find the updated file? also what does the json structure look like now?

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

I've got it!!

the solution is simple and elegant and works perfectly with the dungeon builder (DBer).

for the DBer to work you first need to create a Database (DB). During this process you can store the vbl tile data of all three options onto the tile itself. That was something you initially did not want as you had to lug around a tileset, while a central lib:token is much more mobile, but this is best of both worlds.
The data is still stored on the lib:token, better yet, when you store it, store it on both the token AND the lib:token. And when you use the DBer to create a DB you add the vbl data to the tile (again).

Since the tiles are first copied to the the new map and then the vbl is added you can simply retrieve the data straight from tile itself... you could even install an extra check

Code: Select all

if (hasProperty(nerps.vbl.prefix. data)) then 
 data = getProperty() 
else 
 data = getLibProperty() 
setProperty(data)
end
writeVBL(data)
especially with the get x/y offloaded to java, this should result in quite a speedy process.

Note that tomorrow early morning im flying off to Aruba :mrgreen: and have no clue whether I'll have any internet :? so it might be that you won't hear anything from me for at least a week.

edit: I've added a new cmpgn file in dropbox with the adjusted code. The vbl data is now stored and retrieved directly from the tile, with an extra check to lib:token. (where the data is ALSO stored).

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

I was thinking of that as well. Thanks for putting it together! I initially didn't do that for obvious reasons (not needing pass the tiles around) but for Dungeon Builder it makes perfect sense. And no reason not to do both. So if you build manually, it'll still be a little slow and I'll keep the older data structure as it takes up less kb.

I almost wish there was a onNewToken hook so a Lib could detect new tokens added to the map and do something to them.

Since you have the macro's pretty solid, I'm going to draw some more VBL. I was thinking I could set up tile "type" t1, t123, etc as I add new tiles and draw the VBL instead of sorting them into another column? Or do you like to have them visually laid out that way as well?

Oh, and have a great time in Aruba!
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by wolph42 »

it would help if you either keep the new ones seperate, or add them to the bottom of the current columns. its not that hard to add them.

will you release the code that ofloads the x/y offset to java and implement that in writeVBL macro?

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: [Drop-In] [Nerps!] VBL Tileset Library (BETA)

Post by JamzTheMan »

wolph42 wrote:it would help if you either keep the new ones seperate, or add them to the bottom of the current columns. its not that hard to add them.

will you release the code that ofloads the x/y offset to java and implement that in writeVBL macro?

I dropped the campaign file into da box. I sort of want to keep the old structure for now and manually translate via loop still. I want to see if the patch gets accepted for b90 first. If it does it's a simple matter of implementing. But we can test it for now as well.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork


Locked

Return to “User Creations”