Geometry

This tutorial will provide an introduction into basic geometry creation.

We start with the open CShop interface. Click anywhere within one of the 2D viewports and drag the mouse while holding. A bounding box will appear which changes dimensions as you drag the corner:

Once your box is the right size, let go of the mouse. You can always grab a corner or edge and resize it. Let's switch to another 2D viewport and resize the box. First grab a corner or edge, marked by a white square:

...and drag it into shape, just like we did before:

When you are satisfied with the dimensions of the bounding box, right-click the mouse and a creation menu will appear:

Select "Create object" and a mesh will appear with the position and dimensions of the bounding box you drew:

Objects can be selected by clicking on them in any of the viewports. You can unselect all objects by clicking on a spot where no object exists. Use shift or control to select multiple objects.

You can resize any selected object or group of objects simply by grabbing the bounding box edge or corner and dragging.

To move an object, group of objects, or a bounding box you are drawing, simply click within the selected object's bounding box and drag. The object will move with the mouse.


Texturing

This tutorial will explain object and face texturing.

We start with a selected box:

Now select a new texture from the texture menu on the right:

Press the "Apply" button, and all selected objects will be painted with the selected texture:

You can also texture individual faces of an object. Go to the edit menu and click on "Select face". Select a face by clicking on it in the 3D perspective viewport:

Select a new texture in the texture menu and press the "Apply" button. Only selected faces will be textured with the current texture:

To go back to object selection mode, go to the edit menu, then "Select object".

Please note that it is possible for a face's UV coordinates to be drawn...mushy...to begin with. The problem only occurs with boxes, and can easily be fixed by flattening the object and sizing it back up.


Point Entities

This tutorial will explain point entities in CShop.

To create a point entity at any time, right-click in one of the 2D viewports when there is no object selected and no bounding box is being drawn:

Click on "Create entity" and the entity properties dialog box will appear:

This is where you enter all information you want stored with the entity. Data is stored in keys. A key has a keyname, which says what the variable means, and a keyvalue, which is the value for the variable. Let's enter some data:

Cartography Shop does not understand or care about the keys you enter (except for lights). The data is simple stored along with the entity, until it is exported and loaded in your game engine. The keys entered mean whatever you decide they should when your engine loads the map.

Close the entity properties dialog box and you will see a small box representing the point entity has been created. The point entity cannot be resized, but it can be moved the same way an object is.

If you want to change the entity's keys, you can always go to the edit menu and pick "Entity properties" when the point entity is selected.


Lighting

This tutorial will explain lighting in CShop.

Open the "lights.csm" map:

Create a point entity with the following keys:

Position the entity where you want it, then go to tools and pick "Calculate lights". The light calculator dialog box will appear:

Press "Okay" and let the light calculator run. When it is finished, you will have lovely lights and shadows:


Using and creating CShop plugins

Cartography Shop export plugins are simply executeables the program calls with a command line indicating the map to perform an operation on. To use a plugin, simply place it in the "plugins" directory, start the program, and select the plugin from the "plugins" menu. You will be asked to save the map, and the plugin will be run. Exported files will typically appear in your "maps" directory, with the same root name as the map.

If you want to write a custom exporter, take a look at some of the example code.


Keyboard Shortcuts

] - increase grid resolution
[ - decrease grid resolution

Up arrow key, =, + - zoom in
Down arrow key, - - zoom out
Left arrow key - pan left
Right arrow key - pan right

P - object properties
L - calculate lights
R - render

CTRL+C - copy selection
CTRL+X - cut selection
CTRL+V - paste

CTRL+N - new
CTRL+O - open
CTRL+S - save
CTRL+Q - quit