# Selecting and transforming Almost every edit starts with a selection: click something, then move it with the gizmo, change it in the Inspector or use a command from the menus. ## Selecting | Input | Result | |---|---| | Click | select the item under the mouse pointer | | **Shift+click** | add to the selection | | **Ctrl+click** | toggle (add or remove) | | Drag in empty space | box selection (with **Shift** it adds, with **Ctrl** it removes) | | Double-click | select and frame | | Click in empty space | clear the selection | | **Ctrl+A** / **Ctrl+Shift+A** | select all visible items / select none | | **Shift+S** | **Select similar**: all objects of the same type, or all tiles with the same model | The **Select** tool (**Q**) only selects. The transform tools below select the same way and additionally show a gizmo. You can also select in the [Outliner](03-editor-window.md#outliner), which reaches items that are hard to click (hidden, locked or far away). ![A box selection in the village](img/ui_marquee.jpg) ## Hiding and locking * **H** hides the selection in the viewport, **Alt+H** shows everything again. * **L** locks the selection: locked items are drawn but cannot be clicked in the viewport – useful for a floor you keep hitting by accident. Unlock them from the Outliner's context menu. Hiding and locking only affect the editor. Hidden items are still part of the level and the game shows them. To leave something out of the built level without deleting it: * **Tiles:** tick **Exclude from build** (group *Build*) in the Inspector. The tile stays in the project and in the viewport; the Outliner shows it in italics with *not built*. * **Brushes:** untick **Enabled** in the Inspector. ## Move, rotate and scale | Tool | Key | Use | |---|---|---| | **Move** | **W** | drag the gizmo's arrows (one axis) or squares (a plane); or drag an object straight over the ground | | **Rotate** | **E** | the green ring turns everything about the vertical axis; the red and blue rings turn **brushes** freely in 3D | | **Scale** | **R** | brushes only: drag an axis or the centre; the brush changes its own sizes (width, depth, height, radius …) | ![Moving an object with the gizmo](img/ui_moved.jpg) * **X** switches the gizmo between **World** axes and the item's own **Local** axes (also the **World / Local** button in the options bar). * Several selected items move and turn together, about the centre of the selection. * While you drag, the status bar shows how far (in cells) or by how many degrees the selection has moved, and the snap step in use. * A drag is one undo step. **Esc** during a drag cancels it. * Waypoints move along when you move their object; a checkpoint's respawn point turns with it. > **Engine limit:** Tiles and objects only turn about the vertical axis, and only brushes can be > scaled. The status bar tells you when part of the selection cannot follow. Brushes also have handles for resizing, quarter turns and mirroring – see [Building geometry](06-geometry.md#rotating-scaling-and-mirroring). **Geometry → Align** and **Array duplicate…** arrange several items. ## Snapping **Snap** in the options bar (**G**) snaps moves to the **move step** and rotations to the **angle step**: | Setting | Values | |---|---| | Move step | 1, 0.5, 0.25, 0.125 or 1/16 cell | | Angle step | 90°, 45°, 15°, 5° or 1° | Hold **Ctrl** while dragging to invert snapping for that drag. **Geometry → Grid & snapping…** sets any step you like and switches the grid display ([Grid and snapping](06-geometry.md#grid-and-snapping)). ## The Inspector The Inspector shows what is selected and lets you change it. ![The Inspector with a selected object](img/obj_exit_inspector.jpg) * The **header** names the selection (kind, name, id) and has a button to frame it. With several items of one kind selected you edit their **common properties**; values that differ show "—". Items of different kinds have no common properties. * **Sections** of tools and plugins come first – for example **Brush shape**, **Object parameters**, **Waypoint chain**, **Environment zone**, **Light**, **Tile**. The section of the active tool (for example **Brush tool**) is at the very top. * Below them are the **property groups** (Transform, Position, …). Click a group header to fold it; the editor remembers which groups you folded. The group **Raw** (data whose meaning is not known) and, for objects, **Type details** (the engine data of the object type, such as its code offset and slots) are folded at first. * The **?** button on every section header opens the matching chapter of this manual. ### Editing values * **Number fields** accept small calculations such as `1.5`, `2+0.25` or `-3*2`. Press **Enter** to apply. * **Drag a number's label** left or right to change the value (**Shift** = fine, **Ctrl** = coarse). The whole drag is one undo step. * Positions are in cells, angles in degrees, colours open a colour picker. * **References** to other items (an object's waypoint chain, a tile's model) have a button to select the referenced item and one to choose another from a list. * For objects, **Object type** changes what the object is – the type fields and parameters of the new type are taken from the base level. ## Duplicating, copying and deleting | Command | Key | Notes | |---|---|---| | **Duplicate** | **Ctrl+D** | a copy one cell east; objects keep their waypoint chains | | **Copy** / **Cut** / **Paste** | **Ctrl+C** / **Ctrl+X** / **Ctrl+V** | within the editor window; each paste is offset a little | | **Copy objects (for other levels)** | **Ctrl+Shift+C** | objects with waypoints and brushes to the system clipboard; **Ctrl+Shift+V** pastes them into any level ([Objects](09-objects.md#copy-objects-between-levels)) | | **Delete** | **Delete** | removes the selection; deleting waypoints relinks the chain | | **Array duplicate…** | **Ctrl+Shift+D** | many copies with an offset and turn each ([Array duplicate](06-geometry.md#array-duplicate)) | ## Undo and history Every change can be undone: **Ctrl+Z** undoes, **Ctrl+Y** (or **Ctrl+Shift+Z**) redoes. The **Edit** menu names the step that will be undone. **Edit → History** opens the **History** panel with all steps of the session – click an entry to jump back to that state.