Editing related console commands
        edittoggle
switches between map edit mode and normal (default key = e). In map edit mode you can select bits of the map by clicking or dragging your crosshair on the floor or ceiling (using the "attack" command, normally MOUSE1), then use the commands below to modify the selection. While in edit mode, physics & collision don't apply (noclip), and key repeat is ON. Note that if you fly outside the map, cube still renders the world as if you were standing on the floor directly below the camera.
        edittex T D
Changes the texture on current selection by browsing through a list of textures directly shown on the cubes. T is an integer denoting the type (floor = 0, lower or wall = 1, ceiling = 2, upper wall = 3), D is the direction you want to cycle the textures in (1 = forwards, -1 = backwards). Default keys are the six keys above the cursor keys, which each 2 of them cycle one type (and keypad 7/4 for upper). The way this works is slightly strange at first, but allows for very fast texture assignment. All textures are in 3 individual lists for each type (both wall kinds treated the same), and each time a texture is used, it is moved to the top of the list. So after a bit of editing, all your most frequently used textures will come first when pressing these keys, and the most recently used texture is set immediately when you press the forward key for the type. These lists are saved with the map. make a selection (including wall bits) and press these keys to get a feel for what they do.
        editheight T D
T is the type as above (floors & ceilings only), and D is the delta value to move it in. Default keys are [ and ] for floor level, and o/p for ceiling.
        solid B
makes the current selection all solid (i.e. wall) if B is true (non-zero), or all non-solid if it is false (0). This operation retains floor/ceiling heights/textures while swapping between the two. Default keys f and g respectively.
        equalize T
levels the floor/ceiling of the selection (T as above). default keys , and .
        heightfield T
marks the current selection as a heightfield, with T being floor or ceiling, as above. A surface marked as heightfield will use the vdelta values (see below) of its 4 corners to create a sloped surface. To mark a heightfield as normal again (ignoring vdelta values, set or not) use "solid 0". Default keys are h (floor) and i (ceiling). Heightfields should be made the exact size that is needed, not more not less. The most important reason for this is that cube automatically generates "caps" (side-faces for heightfields) only on the borders of the heighfield. This also means if you have 2 independant heightfields accidentally touch eachother, you will not get correct caps. Also, a heighfield is slightly slower to render than a non-heighfield floor or ceiling. Last but not least, a heightfield should have all the same baseheight (i.e. the height determined by a normal editheight operation) to get correct results.
        vdelta N
changes the vdelta value of the current selection by N. Note that unlike all other editing functions, this function doesn't affect a cube, but its top-left vertex (market by the dot in the editing cursor). So to edit a N * M heightfield, you will likely have to edit the vdelta of (N+1) * (M+1) cubes, i.e. you have to select 1 row and 1 column more in the opposite direction of the red dot to affect all the vertices of a heightfield of a given size (try it, it makes sense :) A floor delta offsets vertices to beneath the level set by editheight (and a ceil delta to above). Delta offsets have a precision of a quarter of a unit, however you should use non-unitsize vertices only to touch other such vertices. Default keys are 8 and 9 to decrease/increase the vdelta.
        corner
- makes the current selection into a "corner". Currently there is only one type of corner (a 45 degree one), only works on a single unit (cube) at a time. It can be positioned: next to 2 solid walls in the middle of 2 higher floorlevels and 2 lower ones forming a diagonal (and similar with ceiling) In both cases, the corner will orient itself automatically depending on its neighbours, behaviour with other configurations than the 2 above is unspecified. Since the latter configuration generates possibly 2 floor and 2 ceiling levels, up to 4 textures are used: for example for the 2 floors the higher one will of the cube itself, and the lower one of a neighbouring low cube. Default key = k you can make bigger corners at once by pressing "corner" on grid aligned 2x2/4x4/8x8 selections, with equal size solid blocks next to them.
          undo
  one-level undo of any of the changes caused by the above operations (default key = u).
          copy
          paste
  copy copies the current selection into a buffer. to paste it back requires a same size selection at the destination location. If it is not the same size the selection will be resized automatically prior to the paste operation (with the red dot as anchor), which is easier for large selections. (default keys are c and v respectively).
          replace
  repeats your last texture edit thruout the map. The way it works is intuitive: simply edit any texture anywhere, then using "replace" will replace all textures thruout the map in the same way (taking into account wether it was a floor/wall/ceil/upper too). if the there was more than one "old" texture in your selection, the one nearest to the red dot is used. This operation can't be undone.
          newent type value1 value2
  - adds a new entity where (x,y) is determined by the current selection (the red dot corner) and z by the camera height, of said type. Type is a string giving the type of entity, such as "light", and may optionally take values (depending on the entity):
        "light" radius brightness
  - radius in units (1..32), optionally brightness (25..255) Default key l creates a new light (cylindrical) of radius 16, brightness 255.
        "playerstart"
  - Spawn spot, yaw is taken from the current camera yaw.
        "shells", "bullets", "rockets", "riflerounds", "health",
        "healthboost", "greenarmour", "yellowarmour", "quaddamage"
  - A variety of pickup-able items, see here.
        "teleport" N
        "teledest" N
  - creates a teleport connection, teleports are linked to a teledest with the same N (of which there should be exactly one). N can be 0..255. The teledest uses the current camera yaw.
        "mapmodel" N
  - A map model, i.e. an object rendered as md2 which you collide against but has no behaviour/movement. N determines which mapmodel you want, currently there is only one, a tree (N = 0). yaw of the model is taken from the current camera yaw.
        "monster" N
  - A monster, currently N = 0..4 (see gameplay docs). Monster entities will be spawned when in classic single player mode, and will attack you when you come into view. yaw is taken from the current camera yaw.
        "trigger" N T
  A trigger of type T affecting all cubes with tag N when triggered in game (see "edittag" on how to set tags on cubes). Triggers are rendered as a carrot which, when "eaten", trigger an event (only once). The following trigger types are available (currently only one): 0: On being triggered, sets all target cubes to SPACE. This has the effect of instantly opening doors or other geometry. You edit these "doors" as SPACE, i.e. you determine what the "door" looks like when opened, they are then set to SOLID automatically when playing (map start / edit toggle). Current "doors" open instantly. Entities are shown in editmode by blue sparklies, and the closest one is indicated on the HUD.
          delent
  deletes the entity closest to the player (default key x)
          clearents type
  deletes all entities of said type.
          recalc
  recomputes all there is to recompute about a map, currently only lighting. Default key = r [note: now deprecated: you should not need to use this function manually]
          map name
          savemap name
  very predictable :) The menu has a set of maps that can be loaded. savemap makes a backup (.BAK) if a map by that name already exists. A map given as "blah" refers to "packages/base/blah.cgz", "package/blah" refers to "packages/package/blah.cgz"
          newmap size
  creates a new map of 2^size cubes. 6 is small, 7 medium, 8 large. You can go up to 12 but theres not a lot of point in that :)
          mapenlarge
  if you accidentally made your map too small, this command will make it 1 power of two bigger. So if you created a 6 size map (64x64 units) it will become a 7 map (128x128), with your old map in the middle (from 32-96) and the new areas solid.
          mapmsg "Title by Author"
  sets the map msg, which will be displayed when the map loads. Either use the above format, or simply "by Author" if the map has no particular title (always displayed after the map load msg).
          waterlevel H
  sets the global water level in your map to H (an empty map has levels 0-16), which will render every cube that has a lower floor than H with a nice wavy water alpha texture, and applies water physics to any entity located below it. Performance notes: water is rendered for a whole square encapsulating all visible water areas in the map (try flying above the map in edit mode to see how). So the most efficient water is a single body of water, or multiple water areas that are mostly not visible from eachother. Players can influence how accurate the water is rendered using the "watersubdiv" command (config).
          fullbright
  sets all light values to fullbright, so you don't need to edit the map in the dark. Will be reset when you issue a recalc. Only works in edit mode.
          showmip
  Toggles between showing what parts of the scenery are rendered using what size cubes, and outputs some stats too. This can give mappers hints as to what architecture to align / textures to change etc.
          toggleocull
  turns occlusion culling on & off. the reason you may want to turn it off is to get an overview of your map from above, without having all occluded bits stripped out.
          texture num subnum filename
  binds the texture indicated in filename to texture slot num. This is for use in texture.cfg files only. subnum allows secondary textures to be specified for a single texture slot, for use in shaders and other features (unused for now, should be set to 0 to indicate primary texture).
          slope xdelta ydelta
  makes a slope out of the current selection (make it a heighfield first). xdelta and ydelta are the steps that specify the slope with the red vertex as left-top, i.e. "slope 1 2" will make a slope that increases just 1 step from left to right, and is slightly steeper from top to bottom. "slope -6 0" decreases steeply from left to right, and does not slope at all from top to bottom. Note that like the vdelta command, an increasing vdelta goes further away from the player, regardless of floor or ceiling.
          arch sidedelta
  makes an arch out of the current selection (first make it a heightfield of some sort). Will make the arch in the long direction, i.e when you have 6x2 cubes selected, the arch will span 7 vertices. optionally, sidedelta specifies the delta to add to the outer rows of vertices in the other direction, i.e. give the impression of an arch that bends 2 ways (try "arch 2" on an selection of atleast 2 thick to see the effect). Not all arch sizes are necessarily available, see data/prefabs.cfg.
          archvertex span vertex delta
  defines a vertex delta for a specific arch span prefab, used by the "arch" command. See data/prefabs.cfg for an example on usage.
          edittag N
sets the tag value (1..255) for the current selection (0 means no tag). Tags are used to determine what cubes to modify when a certain tag is triggered (see "newent trigger"). If a cube has a tag associated with it, gridlines show up in red.