setting zones on a map

I am trying to create a module with irregular zones on a map. All my artwork is at 300 DPI. However, when I go to Define Shape under the Multi Zone Grid, the map is so large, and the window is so small comparatively , that I cannot click on all the points for a zone. If I try and scroll around, I have video redraw issues. I am guessing there are 3 solutions:

  • is there a hidden Zoom-In/Out command ?
  • redo all my art at 150 DPI
  • manually set the coordinates, although I am unsure how to do this

Mac OS X
24 gig of RAM / 8 gig VRAM
VASSAL 3.5.5 (set to 1024 / 2048 MB)
custom module

Would you describe the “video redraw” issues in more detail? What are you seeing?

Have you tried 3.5.7?

If you’re having video redraw issues, you may need to increase the maximum heap for your module (Open or edit the module, go to File/Preferences, change the “JVM maximum heap (in MB)” setting. 1024 MB (1 GB) should be more than enough, I would guess (half that is typically fine even for the biggest modules). You need to restart the editor/module before the change will take effect.

The video issues occur when I scroll over form one side of the map to another, and it appears after I stop scrolling that the screen keeps redrawing. This happens with 3.5.7 (just downloaded). Upgrading the memory allocated to 2048 solves the redraw issues.

The Defining Zone Shape is still thwarting me.


Mad Dog

I posted a feature request that I believe is relevant:

The repaint issue you were seeing was likely due to memory starvation. The zone dialog loads whole images rather than image tiles because we can’t rely on images having been tiled already at the point the zone dialog is displayed.

Korval, the zoom control would help.

Mad Dog

Assuming you need this now and you can’t wait for a graphics fix, there should an alternative solution. What you need are the pixel coordinates of your zone’s corners. You should be able to get this information by using a graphics editor. Jot down the coordinates of each corner as you move around the shape in a clockwise direction.

Then in the editor where you would draw the zone, choose the “enter coordinates directly” option. The line shows ordered pairs of (x,y) locations separated by spaces. Enter in your jotted-down coordinates on this line. That should do it.

If you don’t have a graphics editor (that would be unusual), you can also get them from the Vassal editor. Add an at-start stack to your target map window, and insert a piece there. Your smallest piece would be ideal. You want it to be in the top Layer and does not stack. Then choose the at-stack option to reposition the stack. Move it to the shape’s corners, and it will report its coordinates. This at-start stack is temporary. You use it only to get coordinates; delete it when done.

For my vmod’s, I have a more refined technique. I create a cross-hairs image, which I put in an at-start stack as above. I then add a text trait that reports $CurrentX$,$CurrentY$ (black on white), usually 40p bold. When I “play” the vmod, I can move around this special piece, and it instantly tells me its pixel location. I find it very useful when I need to position a piece relative to others on the map. When I don’t need it anymore, I give it a negative x or y location to keep it off map if I should later need it again.

Shillinski, thanks for the tip, I will give that a try.


Mad Dog