Hiding and Showing Map Features

When you make a map, you may desire to have different kinds of views for it. For example, if you make a floorplan, you may wish to be able to see the roof of the house too, or if you make a dungeon map, you don’t want to show your players the version that also includes all the traps.

For this article, we’ll see how we can easily make features in our maps togglable. As an example, I will take a small building from CD3 and make a floorplan from it, and then add a togglable roof and trap.

I start by picking the building symbol I want to use as a base. After that, I start a new dungeon map, and simply use the dungeon room/wall/floor tools to draw the floorplan on top of the building I just inserted to make it match the building shape (I could also have used the automatic floorplan generator from CD3 to make this based on the outline).

Once I am happy with the floorplan, I simply make a new sheet to hold the building symbol, naming it ROOF. Then I move the building symbol to this new sheet, and finally hide the sheet since I don’t want to see the roof as I am working on the floorplan.

Next, I draw the floorplan. For my trap, I place a pit trap just behind the door, and then cover it up with a carpet.

So, with the map made, let us set it up for easy feature toggling. The easiest way to do this is by keeping features that should be toggled on their own sheets. We already put our building symbol on it’s own sheet (the ROOF sheet), but we need to do something about the carpet and the pit. For this example, I decided to not toggle the pit, but toggle the carpet that hides the pit instead, so to set up the sheets, I made a new sheet for the carpet (named CARPET) and placed it just below SYMBOLS FLAT in the sheet list. Furthermore, I moved the pit to the SYMBOLS FLAT sheet. This leads to the pit being properly covered up by the carpet, and we can simply hide the CARPET sheet to show the pit. The perfect surprise when you show your players this map, and they all yell in unison that they are plundering the chests.

 

Now we are getting to the more interesting bit. Instead of accessing the sheets and effects dialog all the time, let us make a clickable location in the map we can just click to automatically toggle the visibility of a given sheet.

You can draw whatever you want to indicate this area, but I opted for something vaguely button-ish with explanatory text. Now, select Tools -> Macros -> Make Hotspot.

This will bring up the familiar Enter Text dialog. Assuming that you named your sheets the same as I did, you can then type in TOGLSHT ROOF; and hit ok, then simply place two opposite corners to define the hotspot, just like any rectangle in CC3+.

You can now click on your new hotspot to toggle the visibility of the ROOF sheet easily. Note that when you made the hotspot, it is shown as a visible rectangle with the hotspot command below it, but this will be invisible the next time you start CC3+, or you can immediately hide it by going to View -> Hide Hyperlinks. The hotspots works just as well when invisible.

This is all there is to it really. Simply put features that need to be toggled on their own sheet and make a hotspot you can click to toggle the visibility of this sheet. The command to toggle the visibility is simply TOGLSHT followed by the sheet name, followed by a semicolon (;). You can make as many hotspots as you want in a map.

You can also download my example map. (Uses SS2 and CD3)

Advanced Use

Each hotspot can contain a complete macro, so if you are into macro writing, you can do lots of interesting things with them. But even if you are not into macros, one advanced feature that is helpful is that your hotspot can contain multiple lines with one TOGLSHT on each, this allows you to make a hotspot that can toggle the visibility of many sheets at once.

Layers

So far, I’ve talked about sheets, but what about layers? Often, layers are better to group different features because they don’t force drawing order. For example, one could put all traps on a single layer. However, layers are slightly more tricky, because you don’t have a single toggle command like you do for sheets. So, you have to write a more advanced macro with a variable keeping track of if the layers are hidden or not, and then either show or hide the layers based on this variable. Here is an example macro for doing this, just keep in mind that since it uses a variable to track the status, you confuse it if you manually go in and show/hide these layers, although generally it usually just means you will need to click the hotspot twice to get the desired effect.

ECOFF
IFDEF roofVisible startit
GV roofVisible 0
:startit
IFP roofVisible hideit
SHOW ROOF
GV roofVisible 1
GO end
:hideit
GOLAYER BACKGROUND
HIDE ROOF
GV roofVisible 0
:end
ECON

 

Leave a Reply