Remy Monsen | October 30, 2019 | C++, CC3 Plus, development, XP Development
This is the third article in my series about XP development. To understand this article properly, you should be familiar with the contents of the previous articles.
When writing commands for CC3+, we frequently need to communicate with the user. This is often in the form of requesting some data from the user, such as where to place a node or which color to use, or we want to provide information to the user, such as instructions on the command line or the information the user requested. In this article, I’ll talk about the Text Formatting & Output Service (FormSt) used to prepare data to display to the user, and the data request format (ReqData). We have been touching both of these briefly in the two prior articles, but it is time to discuss these a bit more in depth.
Continue reading »
Comments Off on Developing Add-Ons for CC3+ – Part 3: Communicating with the User
Remy Monsen | September 20, 2019 | cc3plus, update
Update 22 for CC3+ was just released, and in addition to fixing a couple of issues, it also includes some improved commands, as well as a few brand new ones. Let us have a look at these and how you can use them.
Trace
A new command for tracing the outline of images (and other CC3+ entities) and turning them into CC3+ entities have been added. This new command, simply called Trace is an easier to use variant of the Contours command from Update 16, and it also support colors.
There are two new commands here, TRACED and TRACE. The former allows you to select entities for tracing, and then it will pop up a dialog where you can set various parameters, while the latter is the silent version which just executes the trace using the current parameters (either set by using the dialog version, otherwise it uses default ones). The options in the dialog are as follows: Continue reading »
2 Comments
Remy Monsen | August 21, 2019 | cc3plus, symbols
What is a symbol really?
One common way to look at symbols is to separate them into raster and vector symbols, where a raster symbol is a png image file on disk, while a vector symbol is built from regular CC3+ shapes. While there is truth in this, it is also an oversimplification.
If we look at things from the perspective of CC3+, there is no difference between these, it is just a symbol either way, and is treated exactly the same. And all of this becomes evident when we look at what a symbol really is.
If we go back in time, Campaign Cartographer didn’t have symbols at all (at least not as we know them today), it had parts. Put simply, a part is a CC drawing, which you can insert into another drawing. Being an actual drawing, it could contain everything a regular drawing could. It is from this concept of insertable parts that symbols arose. Just as with parts, a symbol is just an ordinary CC drawing that can contain (almost) all the features of a normal drawing. One of the main differences between symbols and parts is that one file can contain many symbols, allowing for the symbol catalogs we use today, while parts must be one file per part. (Also note that a symbol catalog file is just a standard map file with a different file extension, there is no difference in the file format at all.) You know the symbols that show up in the symbol catalog window if you click the Symbols in Map button? Those are the same symbols which would be available to other drawings if you loaded the current map up in the symbol catalog window while working on another map). Another big difference between symbols and parts is that when you use symbols, the symbol definition is stored exactly once in the drawing, and each placement of the symbol in the map just reference that definition, while when you insert a part, the entities in the part are simply being inserted into the drawing each time.
So, where am I going with this? Well, as you probably already know, in CC3+ you can use Draw –> Insert File to insert different things into your drawing, one of the possibilities being an image file in png format. Doing this simply inserts a picture entity into the drawing. A picture entity is one of the standard entities in CC3+, just like a line, a polygon or so on, the difference is obviously that it references an external image on disk. And this is exactly what a raster symbol is, it is a standard symbol that happen to include a picture entity. One interesting fact about how this is done is that you could insert images into your maps all the way back in CC2, so technically you could have raster symbols in CC2, even if it wasn’t officially added until CC3 (CC3 improved the functionality a lot though, such as support for transparency, the png format, variable resolution, varicolor and much more) Continue reading »
1 Comment
Remy Monsen | July 23, 2019 | catalogs, CC3 Plus, symbols
Accompanying CC3+ and it’s addons are a host of different symbols, all arranged neatly into symbol catalogs. These catalogs are arranged by map type, map style, and symbol theme/content. For example, there is one symbol catalog containing structure symbols from the Mike Schley Overland style, while a completely different symbol catalog contains furniture symbols from the standard DD3 dungeon style. Generally, these catalogs are arranged in such a way that clicking the various symbol catalog buttons (the toolbar right above your mapping area) loads different symbol catalogs relevant to the current map type and style. And if you need a symbol catalog from a different style, you can always click the Load Symbol Catalog button and browse for a different symbol catalog manually.
But did you know that CC3+ allows you to easily manage these catalogs and their content? For example, you can create a new catalog containing all your favorite symbols, collecting symbols from different styles and even map types into one catalog. In this article, I’ll guide you trough making such a custom catalog; for this example, I’ll be making a catalog that collects all the statue symbols from the various dungeon styles I have available to me. I often use statues as dungeon/floorplan dressing, and it would be great to have all of these available in one place. This catalog will mix symbols from different styles, so not every symbol in this catalog will work in every map obviously, but you can often mix symbols from different styles with great success.
Continue reading »
Comments Off on Managing your Symbol Catalogs
Remy Monsen | June 10, 2019 | CC3 Plus, Visual Studio, XP Development
This is the second article in my series about XP development. To understand this article properly, you should be familiar with the contents of the previous articles.
In this article, we’ll talk about how we can manipulate our drawing. In CC3+, a drawing is really a series of entities, so we are going to have a closer look at what an entity really is, how to create new entities in the map, and how to access and manipulate existing entities.
Entities
Everything in a CC3+ map is an entity; a symbol, a line, a landmass and so on. This term should be well known to all CC3+ mappers, as it is the term used in official documentation. However, it isn’t just these visible things that are entities, almost everything stored in a CC3+ drawing is an entity, such as a map note or an effect. We can view an entity as a data container for one specific thing or aspect of our map.
When working on an XP, you are almost always going to be handling entities. After all, manipulating entities is needed no matter what you want to do with the drawing, including extracting information from it, so understanding how to work with these is very important.
Continue reading »
Comments Off on Developing Add-Ons for CC3+ – Part 2: Entity Basics
Remy Monsen | May 13, 2019 | CC3, effects
Whenever you add a new effect to a map in Campaign Cartographer, you are presented with a small choice about which effect units to use. In these article, I’d like to talk a little bit about these choices, what they really mean, and which setting to pick in each situation.
In general, the effects units affect how you specify effect sizes, such as the width of an edge fade, the length of a shadow and so on. It does not affect the strength of the effect (although changing the size of an effect, such as a glow, will indirectly make it feel stronger as well).
The three available settings are
- Percent of View Width
This setting makes all effect sizes depend on your current view. This means that effects will actually change as you zoom in and out of the map.
- Map Units
This setting means that all effect sizes are absolute, and expressed in the same units as your map is in. For example, a (non-metric) dungeon map is expressed in feet, so this options means that the sizes of the effects is expressed in feet as well.
- Percent of Drawing Extents Width
With this setting, the size of the effects depends on the size of your actual map. For example, if you set the length of a shadow effect to 1, and your map is 400 map units, than shadows will be 4 units long (1% of 400 is 4). As above, what a unit means is based upon your map type, for example feet in a dungeon or city map.
So, let us look into what the different settings are most appropriate for, along with some examples.
Continue reading »
2 Comments
Remy Monsen | April 2, 2019 | C++, Visual Studio, XP Development
Campaign Cartographer 3+ is a a very configurable and extensible program. In addition to the core program, users can purchase official add-ons, providing not just new artwork, but also new tools. Users can easily add new artwork such as symbols and fills, and many users with an artistic talent create such resources themselves and import into CC3+ for use with their maps. It is also easy for users to create their own drawing tools and organize symbols into symbol catalogs. For the more advanced users, it is possible to customize the menus and toolbars, and write macro commands which can be used to add additional functionality or automate tasks.
But, the most powerful option is the possibility of writing your own add-ons, or XP’s. While you can do a lot with macros, you are still limited to the commands actually provided by CC3+. Clever combinations of these commands can yield interesting results, but sooner or later you will run into things you can’t do. And this is where XP development comes in. By writing your own add-ons for CC3+, you get direct access to the building blocks of your drawing, and can write your own commands for CC3+ to do all kinds of stuff.
In this series of articles I will teach you how to write these add-ons yourself. A word of warning here; these articles will teach you about XP development, but I’ll have to assume you actually know something about programming, and in particular, C++. If you don’t know that, I recommend you find yourself a free C++ tutorial on the internet and start there before coming back, as you will have problems following the tutorials otherwise.
In this first tutorial we’ll look at how to set up your programming environment, as well as making our first code.
Note that you can easily find all the articles published in this series so far by using this link.
Continue reading »
2 Comments
Remy Monsen | March 8, 2019 | battle map, CC3 Plus, dd3, macros, Tutorial
Many gamers use some kind of digital solution such as virtual table-top software to display maps on a projector or computer screen even when running a local game (as opposed to running a game over the internet, where such software is pretty much required). All of these software solutions have their advantages and disadvantages, but CC3+ itself may actually be a very good solution, depending on your needs. Now, just to start with the limitations, CC3+ don’t have any kind of remote viewing/projecting options, so this do require that you share the screen you are actually working on (This can be a secondary screen/projector that is set up to mirror yours, or it can be done through screen sharing software, which allow others to see your screen even over the internet).
So, why would you use CC3+ for this? What advantages does it have over other VTT software? Well, the main reason CC3+ is good for this is that this is where you made your map in the first place. This means that the map is fully interactive, and you have all your regular CC3+ tools available to you to manipulate the map during play. If you export the map from CC3+ to an image file for use in a VTT program, then everything becomes static. In CC3+ you can hide or show sheets and layers, you can move symbols and edit whatever you need to do.
Of course, CC3+ isn’t optimized for use during play, while a VTT program is made just for that purpose, so some things are probably a bit more complicated to do in CC3+, so it is up to you if the flexibility CC3+ offer with regards to what you can do with your map during game play is worth it. For this article, I’ll showcase a few features of CC3+ that helps you during play.
Continue reading »
Comments Off on CC3+ at the Table
Remy Monsen | February 5, 2019 | CC3 Plus, hotspots, Interactive, macros
Usually we make a map in CC3+, and when done, we export it to an image or print it, turning it into a static thing. This is required when we wish to use the map outside of CC3+, but it also takes away many fun things we can do with the map.
CC3+ does allow us to make really dynamic maps however, maps that change based on triggers in the map. I’ve already talked about a simple version of this in the article on Showing and Hiding Map Features, but let us take this much further and make a map with a large selection of interactive elements.
Now, before reading any further, I strongly suggest that you download the example map and give it a good try before reading further (requires DD3). Another much simpler example shows moving lights (Works without DD3).
Continue reading »
1 Comment
Remy Monsen | January 6, 2019 | Campaign Cartographer, CC3, commands
Did you know that CC3+ (including all addons) contains over 1000 commands in total? And that new ones gets added with just about every update?
Today, we’ll have a quick look at two of the somewhat more recent commands; Select nearby symbols and Delete nearby symbols. Both these commands are intended to help you manipulate symbols that are near another entity. This can for example help you clean up symbols that are too near a river, or help you select all the houses along your main street, for example so you can change their varicolor.
Below is an example of a forest with a river running through it. On the left image, the trees are obstructing the river, while on the left one, Delete nearby symbols have been run to automatically delete the trees near the river.
Continue reading »
1 Comment